Phonebooks Module Documentation
Table of Contents
- Module Overview (Technical)
- Module Overview (Commercial/Business)
- Module Overview (End User/Administrator)
- Phonebook Types
- Compatible Phone Brands
- CSV Import
- Common Scenarios & Examples
- Limitations & Important Notes
- Troubleshooting Tips
- Glossary
---
1. Module Overview (Technical)
What Are Phonebooks?
Phonebooks are corporate directories that provide contact lists to IP phones. The system automatically detects the phone brand and returns the correct XML format. Phonebooks can be populated from internal PBX modules or external CSV imports.
Architecture
Key Features
| Feature | Description | |
|---|---|---|
| Auto-Format Detection | Detects phone brand, returns correct XML | |
| 23+ Phone Brands | Yealink, Grandstream, Polycom, Cisco, etc. | |
| Internal Sources | Extensions, Queues, Ring Groups, etc. | |
| CSV Import | Import external contacts | |
| Unique URLs | Random code for security |
Key Tables
| Table | Purpose | |
|---|---|---|
public.phonebooks | Phonebook configurations | |
public.phonebook_entries | External contact entries |
Key Files
| File | Description | |
|---|---|---|
modules/phonebooks/PhonebooksPage.tsx | Main page | |
modules/phonebooks/PhonebookFormView.tsx | Create/edit form | |
modules/phonebooks/PhonebookEntriesView.tsx | View entries | |
modules/phonebooks/PhonebookImportView.tsx | CSV import |
2. Module Overview (Commercial/Business)
Business Value
Phonebooks provide centralized contact management:
| Without Phonebooks | With Phonebooks | |
|---|---|---|
| Manual phone config | Auto directory | |
| Static contacts | Dynamic updates | |
| Per-phone setup | Central management | |
| No external contacts | CSV import |
Use Cases
- Internal Directory
- Updated automatically
- Department Phonebooks
- Support team only
- External Contacts
- Vendor directory
- Feature Access
- Conference access
Feature Highlights
| Feature | Benefit | |
|---|---|---|
| Multi-Brand | One phonebook for all phones | |
| Auto-Format | No per-brand configuration | |
| Internal + External | Combined directories | |
| CSV Import | Bulk contact upload | |
| Secure URLs | Random access codes |
3. Module Overview (End User/Administrator)
What Can You Do?
- Create internal phonebooks from PBX modules
- Create external phonebooks from CSV
- Select which modules to include
- Import contacts from CSV files
- Copy phonebook URL for phones
- View and manage entries
Phonebook Creation Interface
URL Configuration
After saving, the phonebook URL is auto-generated:
This URL is configured in the phone's phonebook settings.
Quick Tips
---
4. Phonebook Types
Internal Phonebook
Dynamically generated from PBX modules:
| Module | Description | |
|---|---|---|
| Extensions | SIP extensions with names | |
| Queues | Call center queues | |
| Ring Groups | Ring groups | |
| Conferences | Conference bridges | |
| Feature Codes | Star codes (60, 72, etc.) | |
| Speed Dials | Speed dial numbers |
- Always up-to-date
- No manual maintenance
- Reflects current PBX config
External Phonebook
Imported from CSV file:
| Field | Description | |
|---|---|---|
| Name | Contact name | |
| Number | Phone number | |
| Mobile | Mobile number | |
| Organization | Company name | |
| Email address |
- Customer directories
- Vendor contacts
- Any external list
---
5. Compatible Phone Brands
Supported Brands (23+)
| Category | Brands | |
|---|---|---|
| Enterprise | Yealink, Polycom, Cisco, Avaya | |
| Consumer | Grandstream, Fanvil, Snom, Htek | |
| Softphones | Linphone, Zoiper, Bria | |
| Legacy | Aastra, Mitel, Alcatel | |
| Other | Panasonic, Gigaset, Sangoma, etc. |
Auto-Detection
The system detects the phone brand from the HTTP User-Agent header:
Format Demo
Each brand receives the correct XML format:
Yealink Example: Grandstream Example:---
6. CSV Import
CSV Format
Template:Required Fields
| Field | Required | Description | |
|---|---|---|---|
| name | ✅ Yes | Contact name | |
| number | ✅ Yes | Primary phone | |
| mobile | ❌ Optional | Mobile number | |
| organization | ❌ Optional | Company | |
| ❌ Optional | Email address |
Import Process
- Create/edit external phonebook
- Click Import CSV
- Download template (optional)
- Upload CSV file
- Review import results
Import Results
| Result | Description | |
|---|---|---|
| Imported | New contacts added | |
| Skipped | Duplicates ignored | |
| Errors | Invalid entries |
7. Common Scenarios & Examples
Scenario 1: Company-Wide Directory
Internal Phonebook:| Setting | Value | |
|---|---|---|
| Description | Company Directory | |
| Type | Internal | |
| Extensions | All | |
| Queues | All | |
| Ring Groups | All |
Scenario 2: Sales Team Only
Internal Phonebook:| Setting | Value | |
|---|---|---|
| Description | Sales Team | |
| Type | Internal | |
| Extensions | Sales department only | |
| Queues | Sales Queue |
Scenario 3: Customer Directory
External Phonebook:| Setting | Value | |
|---|---|---|
| Description | Customer Contacts | |
| Type | External | |
| Source | Import from CRM CSV |
Scenario 4: Feature Code Quick Access
Internal Phonebook:| Setting | Value | |
|---|---|---|
| Description | Feature Codes | |
| Type | Internal | |
| Feature Codes | All enabled codes |
8. Limitations & Important Notes
Technical Notes
Best Practices
- Descriptive Names: Clear phonebook descriptions
- Limit Scope: Don't include everything - filter appropriately
- Regular Updates: Keep external contacts current
- Test URLs: Verify phonebook loads on phones
- Document: Track which phonebooks go to which phones
---
9. Troubleshooting Tips
Common Issues
| Symptom | Possible Cause | Solution | |
|---|---|---|---|
| No URL | Not saved | Save phonebook first | |
| Empty phonebook | No modules selected | Select at least one source | |
| Wrong format | Unknown phone | Check User-Agent | |
| Import fails | Bad CSV format | Use template | |
| Missing entries | Wrong module | Verify module selection |
Testing Phonebook URL
Diagnostic SQL
List phonebooks: Count entries:---
10. Glossary
| Term | Definition | |
|---|---|---|
| Phonebook | Contact directory for IP phones | |
| Internal | Generated from PBX modules | |
| External | Imported from CSV | |
| User-Agent | HTTP header identifying phone brand | |
| XML Format | Phone-specific directory format | |
| Entry | Single contact in phonebook |
Lua Script Status ℹ️
No Lua Handler Required
| Component | Status |
|---|---|
| Phonebooks | ℹ️ Backend service - XML served by API based on phone brand |
---
Documentation last updated: January 2026