FreeSWITCH Users Manual
This manual teaches a technically competent operator how to configure, set up, and run FreeSWITCH. It covers the configuration of FreeSWITCH — the XML configuration system, the user directory, SIP profiles, the dialplan, codec selection and negotiation, media handling, the bundled applications, WebRTC, and the integration interfaces — and adds a per-module reference, worked-example recipes, troubleshooting and diagnostics, and a guide to programming FreeSWITCH with the Event Socket and embedded scripting.
Every parameter, value, and default in this manual is verified against the FreeSWITCH source and the shipped default configuration.
FreeSWITCH Editions and Downloads
FreeSWITCH ships in two editions, and this manual applies to both:
- Open Source FreeSWITCH — free and open source. Source and release builds are on the FreeSWITCH releases page.
- FreeSWITCH Enterprise — the commercially supported edition from SignalWire, with professional support and services. Enterprise releases are on the FreeSWITCH Enterprise releases page (a private repository — access requires a FreeSWITCH Enterprise subscription). For details, contact sales@signalwire.com.
How to Use This Manual
Read Part 1 and Part 2 first. They establish the model and the configuration mechanics that every later chapter relies on. After that, the parts are largely independent: go to the chapter that documents the subsystem you are configuring.
Parts 1–8 are the configuration reference. Beyond them, Part 9 is a per-module reference index, Part 10 is worked-example recipes, Part 11 is troubleshooting and diagnostics, and Part 12 is a guide to programming FreeSWITCH with the Event Socket and embedded scripting.
Conventions used throughout:
- Inline code marks filenames, parameters, and values, for example
sofia.conf.xml,auth-calls, andtrue. - Fenced code blocks contain configuration snippets that are valid against the default configuration.
- Parameter reference tables list each parameter by name, purpose, accepted values, and default where one exists.
- Configuration paths are written relative to the FreeSWITCH configuration root,
the directory that contains
freeswitch.xml(commonly/etc/freeswitchor/usr/local/freeswitch/conf).