Telephony Domains Module Documentation
Table of Contents
- Module Overview (Technical)
- Module Overview (Commercial/Business)
- Module Overview (End User/Administrator)
- Configuration Sections
- Settings Reference
- Common Scenarios & Examples
- Limitations & Important Notes
- Troubleshooting Tips
- Glossary
---
1. Module Overview (Technical)
What Are Telephony Domains?
Telephony Domains is a SIP domain management module that configures FreeSWITCH realms for call routing and registration. Each domain defines the SIP namespace, localization settings, TLS certificate binding, and can have aliases for IP-based access.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Telephony Domains Architecture │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Domain Definition │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Domain: pbx.company.com │ │
│ │ │ │
│ │ Configuration: │ │
│ │ ├─ Tenant: Acme Corporation │ │
│ │ ├─ Language: English │ │
│ │ ├─ Timezone: America/New_York │ │
│ │ ├─ Country Code: +1 (US) │ │
│ │ ├─ TLS Certificate: Production SSL │ │
│ │ └─ Status: Enabled │ │
│ │ │ │
│ │ Aliases: │ │
│ │ ├─ 192.168.1.100 │ │
│ │ └─ sip.company.local │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ Applied to FreeSWITCH │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ FreeSWITCH Domain Context │ │
│ │ │ │
│ │ SIP Registration: │ │
│ │ ├─ user@pbx.company.com │ │
│ │ ├─ user@192.168.1.100 (alias) │ │
│ │ └─ user@sip.company.local (alias) │ │
│ │ │ │
│ │ Dialplan Context: pbx.company.com │ │
│ │ Voice Prompts: English │ │
│ │ Call Logs: America/New_York timezone │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Key Tables
| Table | Purpose |
|---|
telephony.domains | Domain records | |
telephony.domain_aliases | Alias mappings |
Key Files
| File | Description |
|---|
modules/telephonyDomains/ | Frontend module | |
| FreeSWITCH directory | Domain XML config |
---
2. Module Overview (Commercial/Business)
Business Value
Telephony Domains provides SIP namespace management:
| Without Domains | With Domains |
|---|
| Single realm | Multiple realms | |
| Fixed settings | Per-domain config | |
| No localization | Voice language | |
| No SSL/TLS | Certificate binding |
Use Cases
- Multi-Tenant Telephony
- Separate SIP realms
- Tenant isolation
- Localization
- Voice prompts language
- Timezone for logs
- IP-Based Registration
- Domain aliases
- LAN registrations
- HTTPS/TLS
- Certificate binding
- Secure web access
Feature Highlights
| Feature | Benefit |
|---|
| SIP Domain | Unique realm | |
| Tenant Binding | Multi-tenant | |
| Voice Language | Localized prompts | |
| Timezone | Accurate timestamps | |
| TLS Certificate | HTTPS security | |
| Aliases | IP-based access |
---
3. Module Overview (End User/Administrator)
What Can You Do?
- Create SIP domains
- Assign domains to tenants
- Set voice language
- Configure timezone
- Bind TLS certificates
- Add domain aliases
- Apply SSL configuration
- Enable/disable domains
Telephony Domains Interface
┌─────────────────────────────────────────────────────────────────┐
│ Telephony Domains │
├─────────────────────────────────────────────────────────────────┤
│ │
│ [+ Create Domain] [Apply SSL Configuration] │
│ │
│ [🔍 Search domains...] │
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Domain Name │ Tenant │ Language │ Status│ Primary│ │
│ ├───────────────────┼───────────┼──────────┼───────┼────────┤ │
│ │ main.local ⭐ │ Main │ English │ ● │ ⭐ │ │
│ │ pbx.company.com │ Acme Corp │ English │ ● │ │ │
│ │ pbx.europe.com │ Beta Inc │ Spanish │ ● │ │ │
│ │ test.local │ Test │ English │ ○ │ │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ ⭐ = Primary Domain (cannot be deleted) │
│ │
└─────────────────────────────────────────────────────────────────┘
Create/Edit Domain
┌─────────────────────────────────────────────────────────────────┐
│ Edit Domain: pbx.company.com │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Domain Name: [pbx.company.com ] │
│ Unique SIP domain (realm) for registration and routing │
│ │
│ Description: [Company headquarters PBX ] │
│ Brief description for identification │
│ │
│ Tenant: [Acme Corporation ▼] │
│ Select the tenant that owns this domain │
│ │
│ Enabled: ✓ │
│ Enables or disables this domain and all related dialplans │
│ │
│ ──────────────────────────────────────────────────────────────│
│ │
│ Default Language: [English ▼] │
│ Language for voice prompts, announcements, and voicemail │
│ │
│ Default Time Zone: [America/New_York ▼] │
│ Sets the local time zone for voicemail and call logs │
│ │
│ Default Country Code: [+1 (United States) ▼] │
│ Used for caller ID and dialing normalization (E.164) │
│ │
│ ──────────────────────────────────────────────────────────────│
│ │
│ TLS Certificate: [Production SSL ▼] │
│ TLS certificate for HTTPS and secure services │
│ (Certificates are created in the Certificates module) │
│ │
│ ──────────────────────────────────────────────────────────────│
│ │
│ ▼ Domain Aliases │
│ │
│ [+ Add Alias] │
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Alias │ Description │ Status │ Actions │ │
│ ├───────────────────┼──────────────────┼────────┼──────────┤ │
│ │ 192.168.1.100 │ LAN IP address │ Active │ [✏️] [🗑️] │ │
│ │ sip.company.local │ Internal DNS │ Active │ [✏️] [🗑️] │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ [Save] [Cancel] │
│ │
└─────────────────────────────────────────────────────────────────┘
Add Alias Modal
┌─────────────────────────────────────────────────────────────────┐
│ Add Alias │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Alias: [192.168.1.100 ] │
│ e.g., 192.168.10.17 │
│ │
│ Description: [Server LAN IP ] │
│ Optional description │
│ │
│ [Add] [Cancel] │
│ │
└─────────────────────────────────────────────────────────────────┘
Quick Tips
TIP
Aliases: Add IP addresses for phones that register by IP.
TIP
Apply SSL: Click "Apply SSL Configuration" after certificate changes.
WARNING
Primary Domain: Cannot be deleted.
---
4. Configuration Sections
Domain Configuration
| Field | Description |
|---|
| Domain Name | SIP realm (unique) | |
| Description | Optional notes | |
| Tenant | Owner tenant | |
| Enabled | Active/Inactive |
Localization
| Field | Description |
|---|
| Default Language | Voice prompt language | |
| Default Time Zone | Timestamp timezone | |
| Default Country Code | E.164 normalization |
Security
| Field | Description |
|---|
| TLS Certificate | HTTPS/SIP TLS certificate |
Domain Aliases
| Field | Description |
|---|
| Alias | Alternative name/IP | |
| Description | Alias purpose |
Why Domain Aliases Matter
When a SIP client (phone, softphone, or gateway) registers with FreeSWITCH, it sends the domain name in the SIP To header and the Request-URI. FreeSWITCH must recognize this domain to route the registration correctly.
The Problem: Many SIP devices register using the server's IP address instead of the domain name:
- IP phones often default to the server's IP address
- Legacy devices may not support DNS resolution
- LAN environments often use IP-based configuration
The Solution: Domain Aliases allow you to map alternative names (IP addresses, internal hostnames, etc.) to a single domain. When FreeSWITCH receives a registration to an alias, it treats it as if it were sent to the main domain.
How Aliases Work in FreeSWITCH
┌────────────────────────────────────────────────────────────────────┐
│ SIP Registration Flow │
├────────────────────────────────────────────────────────────────────┤
│ │
│ Phone 1: REGISTER -> pbx.company.com ─┐ │
│ │ │
│ Phone 2: REGISTER -> 192.168.10.17 ───> Same Domain │
│ │ Context! │
│ Phone 3: REGISTER -> sip.company.local ─┘ │
│ │
│ FreeSWITCH domain.xml: │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ <domain name="pbx.company.com"> │ │
│ │ <params> │ │
│ │ <param name="alias" value="192.168.10.17" /> │ │
│ │ <param name="alias" value="sip.company.local" /> │ │
│ │ </params> │ │
│ │ </domain> │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────────────────────┘
Common Alias Use Cases
| Use Case | Alias Value | Description |
|---|
| LAN IP Registration | 192.168.10.17 | Phones configured with server IP | |
| Public IP | 203.0.113.50 | External registrations by IP | |
| Internal DNS | sip.company.local | Internal hostname | |
| Legacy Support | pbx.internal | Old device configurations | |
| Multi-NIC Server | 10.0.0.1 | Secondary network interface |
Best Practices for Aliases
TIP
Add the server's IP address as an alias. Most phones default to IP-based registration.
TIP
Add all network interfaces if your server has multiple NICs.
WARNING
Avoid duplicate aliases across domains. Each alias must map to exactly one domain.
NOTE
Aliases are case-insensitive.
192.168.10.17 and
192.168.10.17 are treated the same.
---
5. Settings Reference
Common Domain Formats
| Format | Example | Use Case |
|---|
| FQDN | pbx.company.com | Public access | |
| Internal | company.local | LAN only | |
| IP-based | 192.168.1.100 | Direct IP |
Voice Languages
| Language | Code | Region |
|---|
| English | en-US | North America | |
| Spanish | es-ES | Spain | |
| Spanish | es-MX | Latin America | |
| French | fr-FR | France | |
| German | de-DE | Germany | |
| Portuguese | pt-BR | Brazil |
Country Codes
| Country | Code | Format |
|---|
| United States | +1 | +1XXXXXXXXXX | |
| United Kingdom | +44 | +44XXXXXXXXXX | |
| Germany | +49 | +49XXXXXXXXXX | |
| Spain | +34 | +34XXXXXXXXX | |
| Mexico | +52 | +52XXXXXXXXXX |
---
6. Common Scenarios & Examples
Scenario 1: Create Production Domain
- Click Create Domain
- Domain Name = pbx.company.com
- Select tenant
- Enable = ✓
- Set language, timezone, country
- Select TLS certificate
- Save
Scenario 2: Add IP Alias
- Edit domain
- Click Add Alias
- Alias = 192.168.1.100
- Description = "LAN IP"
- Add
- Save domain
Scenario 3: Apply SSL Certificate
- In Certificates module, create/upload certificate
- Edit domain
- Select TLS Certificate
- Save
- Click "Apply SSL Configuration"
- Wait for Nginx reload
Scenario 4: Create Regional Domain
- Create Domain
- Domain Name = pbx.europe.company.com
- Language = Spanish (Spain)
- Timezone = Europe/Madrid
- Country Code = +34
- Save
---
7. Limitations & Important Notes
Technical Notes
NOTE
Primary Domain: Cannot be deleted or disabled.
NOTE
Unique Names: Domain names must be unique.
WARNING
Apply SSL: Must click after certificate changes.
Best Practices
- Meaningful Names: Use FQDN format
- Add Aliases: For IP-based registration
- Match Localization: Language + timezone + country
- Apply SSL: After any certificate change
- Test Registration: Verify SIP access
Domain vs. Tenant
| Domain | Tenant |
|---|
| SIP realm | Organization | |
| FreeSWITCH context | Admin panel | |
| Multiple per tenant | One per organization | |
| Telephony focus | Platform focus |
---
8. Troubleshooting Tips
Common Issues
| Symptom | Possible Cause | Solution |
|---|
| Registration fails | Wrong domain | Check SIP settings | |
| Alias not working | Not saved | Save domain | |
| SSL not applied | Need reload | Click Apply SSL | |
| Wrong prompts | Language mismatch | Set correct language |
Check Domain
SELECT
domain,
description,
language,
timezone,
is_enabled
FROM telephony.domains
WHERE domain = 'pbx.company.com';
Check Aliases
SELECT
alias,
description
FROM telephony.domain_aliases
WHERE domain_id = 'domain-uuid';
Test SIP Registration
# Test domain resolution
nslookup pbx.company.com
# Test SIP port
nc -zv pbx.company.com 5060
# Test TLS port
nc -zv pbx.company.com 5061
---
9. Glossary
| Term | Definition |
|---|
| Domain | SIP realm/namespace | |
| Realm | Authentication scope | |
| Alias | Alternative domain name | |
| FQDN | Fully Qualified Domain Name | |
| E.164 | International phone format | |
| Context | FreeSWITCH dialplan scope |
---
Lua Script Status ℹ️
Infrastructure Module
| Component | Status |
|---|
| Telephony Domains | ℹ️ SIP domain management - no Lua handler required |
Telephony Domains is an infrastructure configuration module. It manages FreeSWITCH domain contexts. No Lua handlers are used - domain configuration is applied to FreeSWITCH by the backend service.
---
Documentation last updated: January 2026