FreeSWITCH is a Software Defined Telecom Stack that transforms commodity hardware into a full-featured telecommunications platform. Whether you’re building a PBX, a call center, an IVR system, or a WebRTC gateway, FreeSWITCH provides the modular foundation to make it happen — open source, battle-tested, and backed by the team at SignalWire.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/signalwire/freeswitch/llms.txt
Use this file to discover all available pages before exploring further.
Installation
Install FreeSWITCH from packages or build from source on Debian, CentOS, or Raspberry Pi.
Quickstart
Get a working SIP softswitch running in minutes with the default vanilla configuration.
Core Concepts
Understand FreeSWITCH’s modular architecture, session model, dialplan, and event system.
Configuration
Configure SIP profiles, dialplan contexts, user directories, and global variables via XML.
Modules
Explore the 100+ built-in modules: endpoints, applications, codecs, languages, and more.
Event Socket Layer
Control calls programmatically using ESL — the TCP-based external call control interface.
What Is FreeSWITCH?
FreeSWITCH is a high-performance softswitch that supports SIP, WebRTC, PSTN, and many other telephony protocols. Its modular design means you can load only the modules you need — from codecs and endpoint protocols to scripting engines and CDR backends. Combined with SignalWire, FreeSWITCH can interconnect with the global PSTN and scale to any size.Install FreeSWITCH
Install from the SignalWire package repository on Debian/Ubuntu, or build from source. See Installation for full instructions.
Start with vanilla config
The default
vanilla configuration provides a working PBX out of the box, with dialplan examples, SIP profiles, and sample users included.Customize your dialplan
Edit
conf/dialplan/default.xml to define how incoming and outgoing calls are routed. Use extensions, conditions, and actions to implement any call flow.Key Features
SIP via mod_sofia
Industry-standard SIP stack powered by the Sofia-SIP library for registrations, calls, and presence.
WebRTC via mod_verto
Native WebRTC support using the Verto JSON-RPC protocol for browser-based voice and video.
XML Dialplan
Powerful regex-based dialplan engine with contexts, extensions, conditions, and actions defined in XML.
Event Socket Layer
A TCP-based API for external call control with bindings for 8+ programming languages.
100+ Modules
Conferencing, voicemail, IVR, CDR, transcoding, TTS/ASR, scripting languages, and more — all loadable at runtime.
SignalWire Integration
Connect directly to SignalWire’s cloud platform for PSTN access, SMS, and elastic scaling via mod_signalwire.
FreeSWITCH is actively developed and maintained by SignalWire, founded by the original authors of FreeSWITCH. For commercial support, contact coreteam@freeswitch.com.