Languages Module Documentation
Table of Contents
- Module Overview (Technical)
- Module Overview (Commercial/Business)
- Module Overview (End User/Administrator)
- Configuration Fields Reference
- Voice Guides
- Common Scenarios & Examples
- Limitations & Important Notes
- Troubleshooting Tips
- Glossary
---
1. Module Overview (Technical)
What Are Languages?
Languages (Language Overrides) allow you to set the audio prompt language for a call and route to a destination. This controls which FreeSWITCH sound files are used for prompts, IVRs, and system messages.
Architecture
Key Tables
| Table | Purpose | |
|---|---|---|
public.voice_guides | Voice guide definitions (language/dialect/voice) | |
public.language_overrides | Language override configurations |
Key Files
| File | Description | |
|---|---|---|
admin/apps/web/src/modules/languages/ | Frontend module | |
admin/apps/web/src/i18n/en/languages.json | Translations | |
telephony/freeswitch/lua/main/xml_handlers/routing/language.lua | Main handler | |
telephony/freeswitch/lua/resources/utils/language_utils.lua | Language utilities |
2. Module Overview (Commercial/Business)
Business Value
Languages enable multi-language call experiences:
| Without Languages | With Languages | |
|---|---|---|
| Single language | Multiple languages | |
| US English only | Spanish, French, etc. | |
| No voice selection | Choose voice persona | |
| Static experience | Dynamic per-caller |
Use Cases
- Language Selection IVR
- Set language before main IVR
- Multi-Region Support
- Auto-detect from SIP headers
- Voice Branding
- Consistent brand experience
- Department-Specific Language
- French Sales department
Feature Highlights
| Feature | Benefit | |
|---|---|---|
| Voice Guides | Multiple voice personas | |
| Auto-Detection | Language from SIP/GeoIP | |
| Sound Path Override | Custom prompt paths | |
| Session-Only Option | Temporary changes | |
| Announcement Prompt | Notify language change | |
| Channel Variables | Export for sub-modules |
3. Module Overview (End User/Administrator)
What Can You Do?
- Create language overrides
- Select voice guide (language/dialect/voice)
- Configure destination after language change
- Set optional language change prompt
- Enable auto-detection settings
- Configure session-only behavior
Administrator Workflow
Quick Tips
TIP
Standard Paths: Use format language/dialect/voice (e.g., en/us/emma).TIP
Apply to Channel Vars: Enable to ensure IVRs use the correct prompts.CAUTION
Fallback Path: Always set a fallback for missing audio files.---
4. Configuration Fields Reference
General Fields
| Field | Description | Example | |
|---|---|---|---|
| Name | Unique identifier | Spanish Support | |
| Context | Dialplan context | lang_spanish | |
| Sound Path Prefix | Voice guide path | es/es/paloma | |
| Destination Type | Module to route to | IVR | |
| Destination | Specific target | Spanish Menu | |
| Enabled | Override active | On/Off |
Language Settings
| Field | Description | Default | |
|---|---|---|---|
| Fallback Sound Path | Backup path if primary fails | en/us/callie | |
| Description | Optional notes | - | |
| Language Change Prompt | Audio to play on change | None | |
| Auto Detect Language | Auto-detect from SIP | Off | |
| Detection Source | Detection method | None | |
| Temporary Change Only | Session-only | Off | |
| Revert After Transfer | Restore original | Off | |
| Apply to Channel Vars | Export variables | On | |
| Event Webhook | Notification URL | None |
Detection Sources
| Source | Description | |
|---|---|---|
| None | No auto-detection | |
| SIP Accept-Language | From SIP INVITE header | |
| Caller ID | From phone number prefix | |
| GeoIP | From IP geographic location |
5. Voice Guides
What Are Voice Guides?
Voice Guides define the audio prompt source for a language:
- Language code (en, es, fr, etc.)
- Dialect code (us, mx, es, etc.)
- Voice name (emma, callie, paloma, etc.)
Available Voice Guides
| Language | Dialect | Voice | Path | |
|---|---|---|---|---|
| English | US | Emma | en/us/emma | |
| English | US | Callie | en/us/callie | |
| Spanish | MX | Paloma | es/mx/paloma | |
| Spanish | ES | Pilar | es/es/pilar | |
| French | FR | Floriane | fr/fr/floriane | |
| German | DE | Hans | de/de/hans |
Session Variables Set
| Variable | Example Value | |
|---|---|---|
language | en-us-emma | |
sounds_language | /usr/share/freeswitch/sounds/en/us/emma/ | |
audio_path_primary | /usr/share/freeswitch/sounds/en/us/emma/ |
6. Common Scenarios & Examples
Scenario 1: Language Selection IVR
IVR: "Language Select"| Digit | Destination | |
|---|---|---|
| 1 | lang_english | |
| 2 | lang_spanish | |
| 3 | lang_french |
| Setting | Value | |
|---|---|---|
| Sound Path | en/us/emma | |
| Destination | Main IVR |
Scenario 2: Spanish Support Line
Language Override: "Spanish Support"| Setting | Value | |
|---|---|---|
| Sound Path | es/mx/paloma | |
| Destination Type | Queue | |
| Destination | Spanish Support Queue | |
| Apply to Channel Vars | ✓ |
Scenario 3: Auto-Detect Language
Language Override: "Auto Language"| Setting | Value | |
|---|---|---|
| Auto Detect | ✓ | |
| Detection Source | SIP Accept-Language | |
| Fallback | en/us/callie | |
| Destination | Main IVR |
7. Limitations & Important Notes
Technical Notes
NOTE
Path Format: Use language/dialect/voice format (lowercase).WARNING
Missing Audio: Ensure audio files exist for the language path.WARNING
Channel Variables: Enable "Apply to Channel Vars" for IVR integration.Best Practices
- Set Fallback: Always configure a fallback path
- Test All Languages: Verify audio plays correctly
- Use Standard Paths: Follow FreeSWITCH naming conventions
- Enable Channel Vars: Ensure sub-modules inherit language
- Prompt Before Change: Play announcement to inform caller
---
8. Troubleshooting Tips
Common Issues
| Symptom | Possible Cause | Solution | |
|---|---|---|---|
| Wrong prompts | Path misconfigured | Check sound_path | |
| No audio | Missing files | Verify audio exists | |
| IVR not using language | Channel vars not set | Enable Apply to Channel Vars | |
| Auto-detect fails | No SIP header | Check detection source | |
| Fallback not working | Fallback path empty | Set fallback sound path |
Diagnostic SQL
List language overrides: List voice guides:FreeSWITCH Logs
---
9. Glossary
| Term | Definition | |
|---|---|---|
| Language Override | Configuration to set call language | |
| Voice Guide | Language/dialect/voice definition | |
| Sound Path | Directory for audio prompts | |
| Auto-Detection | Automatic language selection | |
| Channel Variables | FreeSWITCH session variables | |
| Fallback | Backup language path |
Lua Script Status ✅
Already Correct
| Script | Status | |
|---|---|---|
routing/language.lua | ✅ Uses public.voice_guides, public.language_overrides | |
language_utils.lua | ✅ Language utility functions |
---
Documentation last updated: January 2026