FreeSWITCH Users Manual
This manual teaches a technically competent operator how to configure, set up, and use 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 exposed through configuration.
Every parameter, value, and default in this manual is verified against the FreeSWITCH source and the shipped default configuration.
FreeSWITCH is open source and free to use. FreeSWITCH Enterprise is the commercially supported edition, offering professional support and services from SignalWire. For details, contact sales@signalwire.com.
Table of Contents
Part 1: Foundations
Part 2: The Configuration System
- Chapter 3: The XML Configuration System
- Chapter 4: Global Variables and Core Settings
- Chapter 5: Module Loading and Management
Part 3: Users and Endpoints
- Chapter 6: The User Directory
- Chapter 7: SIP Profiles with Sofia
- Chapter 8: Gateways and Trunk Registration
- Chapter 9: WebRTC with Verto
- Chapter 10: WebRTC over SIP (WSS)
- Chapter 11: Other Endpoints
Part 4: Call Routing and the Dialplan
- Chapter 12: The XML Dialplan
- Chapter 13: Inbound Calls and the Public Context
- Chapter 14: Dialplan Application Reference
- Chapter 15: Time and Condition Routing
Part 5: Media and Codecs
- Chapter 16: Codecs and Negotiation
- Chapter 17: Media Handling
- Chapter 18: Audio Files and Streaming Sources
Part 6: Applications and Features
- Chapter 19: Voicemail
- Chapter 20: Conferencing
- Chapter 21: IVR Menus
- Chapter 22: Queues: FIFO and Call Center
- Chapter 23: Utility Applications
- Chapter 24: Fax and T.38
Part 7: Integration and Control
- Chapter 25: The Event Socket
- Chapter 26: HTTP Integration (XML Curl and HTTAPI)
- Chapter 27: Call Detail Records
- Chapter 28: Scripting Integration
- Chapter 29: Access Control Lists
- Chapter 30: SignalWire Connectivity
Part 8: Reference
- Chapter 31: CLI and API Command Reference
- Chapter 32: Channel Variables Catalog
- Appendix A: The Vanilla Configuration Map
- Appendix B: Codec Reference Table
- Appendix C: Glossary
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.
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).