Skip to main content

FreeSWITCH Explained

Start Here

Welcome to FreeSWITCH™, the future of telephony.

Newcomers should start with the Introduction page in the table of contents and follow the child pages for further information.

The documentation is not perfect, and we rely on your help to suggest improvements from a fresh perspective.

Search is your friend

The FreeSWITCH documentation has undergone several migrations and is currently being reorganized. Use the Search function (⌘ + K or ctrl + K) to find the exact resource you need.

What Is FreeSWITCH?

FreeSWITCH™ is an open source carrier-grade telephony platform implemented as a back-to-back user agent. Because of this design it can perform a great number of different tasks from a PBX to transit switch, TTS (text-to-speech) conversion, audio and video conferencing host, VoIP telephone, and more.


Our documentation parallels the ongoing development by the FreeSWITCH™ core development team in concert with contributions from the open source user community. With your help, the docs will always track the latest version of code available from the git repository.

The documentation provides usage prototypes and examples for the channel variables, dialplan applications, and API commands that can be accessed via E.S.L. (the Event Socket Layer) with scripts written in Lua, Perl, and other languages.


NOTE: The tagging system needs to be rebuilt using Docusaurus tags instead of Confluence Labels. See for more information.

Pages tagged with the label "examples" provide reference information to configure and experiment with FreeSWITCH. Be sure to click on the labels to find pages that related to that topic.


Reference documentation of core API functions can be found on FreeSWITCH Tech Reference.

Docs Team

Many of these pages are contributed by the FreeSWITCH™ community over the years. Some pages might be out of date and would benefit from your improvement. To get involved, visit the Contributing Documentation page.


The most rapid way to start configuring FreeSWITCH™ is with the FreeSWITCH 1.8 book. Advanced topics are covered in the FreeSWITCH 1.6 Cookbook. Those and others are available at the Packt Publishing web site.


Connect with other members of the FreeSWITCH™ community via the mailing list, IRC channel, and Slack channel. See the Community page for that information.

Errors, Omissions, Updates

FreeSWITCH is an open source community project. If you find incorrect or outdated information, please open a ticket on the freeswitch-docs GitHub repository so that we all benefit from your keen observation. You can also help us by Contributing Documentation.

If you have questions about reading, writing, or reporting issues with the documentation, please join the Community Slack.