Caller ID Lookup Sources Module Documentation
Table of Contents
- Module Overview (Technical)
- Module Overview (Commercial/Business)
- Module Overview (End User/Administrator)
- Configuration Fields Reference
- Source Types
- Common Scenarios & Examples
- Limitations & Important Notes
- Troubleshooting Tips
- Glossary
---
1. Module Overview (Technical)
What Are Caller ID Lookup Sources?
Caller ID Lookup Sources define external data sources used to enrich incoming caller information. When a call arrives, the system queries these sources to look up the caller's name, company, or other details based on their phone number.
Architecture
Key Tables
| Table | Purpose | |
|---|---|---|
public.caller_id_lookup_sources | Lookup source configurations | |
public.caller_id_lookup_cache | Cached results (optional) |
Key Files
| File | Description | |
|---|---|---|
admin/apps/web/src/modules/callerIdLookupSources/ | Frontend module | |
admin/apps/web/src/i18n/en/callerIdLookupSources.json | Translations |
Caller ID lookups are performed during inbound call routing using the configured sources.
---
2. Module Overview (Commercial/Business)
Business Value
Caller ID Lookup Sources enable caller identification:
| Without Lookup Sources | With Lookup Sources | |
|---|---|---|
| "WIRELESS CALLER" | Customer name from CRM | |
| No context | Company information | |
| Manual lookup | Automatic enrichment | |
| Generic display | Personalized greeting |
Use Cases
- CRM Integration
- Display account status
- Internal Directory
- Show department info
- OpenCNAM/CNAM
- Unknown caller identification
- LDAP Directory
- Active Directory integration
Feature Highlights
| Feature | Benefit | |
|---|---|---|
| Multiple Sources | Fallback cascade | |
| Source Types | HTTP, LDAP, Database, OpenCNAM | |
| Caching | Reduce lookup time | |
| Timeout Control | Prevent call delays | |
| Priority Order | Control lookup sequence |
3. Module Overview (End User/Administrator)
What Can You Do?
- Configure lookup sources
- Choose source types (HTTP, LDAP, Database, etc.)
- Set authentication credentials
- Configure timeouts
- Enable caching
- Prioritize sources
Administrator Workflow
Quick Tips
---
4. Configuration Fields Reference
General Fields
| Field | Description | Example | |
|---|---|---|---|
| Name | Source identifier | CRM Lookup | |
| Source Type | Type of source | HTTP API | |
| URL / Endpoint | Connection string | https://api.example.com/lookup | |
| HTTP Method | GET or POST | GET | |
| Enabled | Source active | On/Off |
Authentication Fields
| Field | Description | |
|---|---|---|
| Auth Username | Username for auth | |
| Auth Password | Password for auth | |
| API Token | Token for OpenCNAM or token-based APIs |
Performance Fields
| Field | Description | Range | |
|---|---|---|---|
| Timeout | Max wait time | 1-30 seconds | |
| Cache TTL | Cache duration | 0-3600 seconds |
5. Source Types
Internal
Look up in local database:
| Setting | Description | |
|---|---|---|
| Endpoint | Not required | |
| Auth | Not required | |
| Usage | Query internal contacts/directory |
HTTP API
Call external REST API:
| Setting | Description | |
|---|---|---|
| URL | API endpoint with phone placeholder | |
| Method | GET or POST | |
| Auth | Basic auth or token | |
| Response | JSON with caller name/info |
LDAP
Query LDAP/Active Directory:
| Setting | Description | |
|---|---|---|
| URL | ldap://ldap.example.com:389 | |
| Username | Bind DN | |
| Password | Bind password | |
| Usage | Search user by phone attribute |
Database
Query external database:
| Setting | Description | |
|---|---|---|
| URL | Connection string (PostgreSQL, MySQL) | |
| Username | Database user | |
| Password | Database password | |
| Usage | Execute SQL query |
OpenCNAM
Public CNAM lookup service:
| Setting | Description | |
|---|---|---|
| Token | OpenCNAM API key | |
| Timeout | Request timeout | |
| Usage | CNAM database lookup |
Custom
Lua script for custom logic:
| Setting | Description | |
|---|---|---|
| Script | Path to Lua script | |
| Usage | Custom lookup logic |
6. Common Scenarios & Examples
Scenario 1: CRM API Lookup
Source: "CRM Lookup"| Setting | Value | |
|---|---|---|
| Type | HTTP API | |
| URL | https://crm.example.com/api/caller?phone=[CIDNUM] | |
| Method | GET | |
| Timeout | 3 | |
| Cache TTL | 3600 |
Scenario 2: Internal Directory
Source: "Employee Directory"| Setting | Value | |
|---|---|---|
| Type | Internal | |
| Enabled | ✓ |
public.contacts for matching phone numbers.
Scenario 3: OpenCNAM Fallback
Source: "OpenCNAM"| Setting | Value | |
|---|---|---|
| Type | OpenCNAM | |
| Token | your-opencnam-api-key | |
| Timeout | 3 | |
| Cache TTL | 86400 |
Scenario 4: LDAP/Active Directory
Source: "Corporate Directory"| Setting | Value | |
|---|---|---|
| Type | LDAP | |
| URL | ldap://ad.company.com:389 | |
| Username | CN=lookup,DC=company,DC=com | |
| Password | ||
| Timeout | 2 |
7. Limitations & Important Notes
Technical Notes
Best Practices
- Low Timeouts: 2-3 seconds maximum
- Enable Caching: Reduce repeated lookups
- Priority Order: Put fastest sources first
- Fallback Sources: Configure backup sources
- Monitor Failures: Track lookup success rates
---
8. Troubleshooting Tips
Common Issues
| Symptom | Possible Cause | Solution | |
|---|---|---|---|
| No lookup results | Source disabled | Enable source | |
| Timeout errors | Slow API | Reduce timeout, check API | |
| Auth failures | Wrong credentials | Verify username/password | |
| Empty name | No match found | Add fallback source | |
| Slow calls | Long timeout | Reduce timeout value |
Diagnostic SQL
List lookup sources:
Check cache:
FreeSWITCH Logs
---
9. Glossary
| Term | Definition | |
|---|---|---|
| CNAM | Caller Name - name associated with phone number | |
| OpenCNAM | Public CNAM lookup service | |
| LDAP | Lightweight Directory Access Protocol | |
| Cache TTL | Time-to-live for cached results | |
| Lookup Source | External system for caller info | |
| Fallback* | Backup source if primary fails |
Lua Script Status ℹ️
Configuration Module
| Component | Status |
|---|---|
| Lookup Sources | ℹ️ Configuration stored in public.caller_id_lookup_sources, used during inbound call processing |
public.caller_id_lookup_cache.
---
Documentation last updated: January 2026*