Repolode
signalwire

signalwire/freeswitch

A software-defined telecom stack that turns commodity hardware into a SIP/VoIP switch, from Raspberry Pi to multi-core servers.

Open-source alternative to:Cisco Unified Communications ManagerAsterisk

Stars
5,283
Forks
1,905
Open issues
1,271
Last commit
9 days ago

What is it?

FreeSWITCH is a software-defined telecom stack that replaces proprietary telephone switches with software running on standard hardware. It can run on devices as small as a Raspberry Pi or on multi-core servers, and is intended to add telephony capabilities to a wide range of devices.

The project is distributed as C source code and can be built on Linux, Windows, macOS and BSD. Packages are offered for Debian, Raspberry Pi and CentOS, along with Dockerfiles for building from source. The repository includes an issue tracker and pull request workflow, and a Slack community for discussion.

SignalWire, founded by the original FreeSWITCH developers, is the primary sponsor of the project and provides hosted SIP, SMS and programmable telecom services. The codebase includes mod_signalwire, which connects a FreeSWITCH instance to that platform. Commercially supported builds and professional services are available from the core team.

Key features

  • 01Runs on hardware ranging from Raspberry Pi to multi-core servers.
  • 02Builds from source on Linux, Windows, macOS and BSD.
  • 03Ships packages for Debian, Raspberry Pi and CentOS, plus Docker build examples.
  • 04Includes mod_signalwire for connecting to the SignalWire hosted platform.
  • 05Offers commercially supported builds and professional services.

Use cases

  • Adding SIP calling or voice features to an IoT or embedded device.
  • Building a self-hosted PBX or telephony gateway on commodity servers.
  • Connecting WebRTC clients and SIP trunks in a custom voice application.
  • Replacing proprietary telephone switch hardware with software.

Quick start

  1. 1

    Clone the source code from GitHub

    git clone https://github.com/signalwire/freeswitch.git
  2. 2

    Install from packages using FSGET (recommended)

  3. 3

    Build from source using the Debian tutorial or example Dockerfiles

Things to know

  • Building from source requires dependency setup per platform, which takes effort.
  • The license is listed as NOASSERTION, so check the terms before commercial use.
  • Full documentation is spread across an external Confluence wiki.

Topics

FAQ

What is freeswitch?
A software-defined telecom stack that turns commodity hardware into a SIP/VoIP switch, from Raspberry Pi to multi-core servers. FreeSWITCH is a software-defined telecom stack that replaces proprietary telephone switches with software running on standard hardware. It can run on devices as small as a Raspberry Pi or on multi-core servers, and is intended to add telephony capabilities to a wide range of devices.
Is freeswitch free to use? What license does it have?
freeswitch is open source under the Other license. Check the license terms before using it in commercial products.
Is freeswitch still maintained?
Actively maintained. The last commit to freeswitch was on Oct 28, 2026.
What can I use freeswitch for?
Adding SIP calling or voice features to an IoT or embedded device. Building a self-hosted PBX or telephony gateway on commodity servers. Connecting WebRTC clients and SIP trunks in a custom voice application. Replacing proprietary telephone switch hardware with software.
How do I install freeswitch?
Clone the source code from GitHub: git clone https://github.com/signalwire/freeswitch.git Install from packages using FSGET (recommended) Build from source using the Debian tutorial or example Dockerfiles
Where can I get freeswitch?
The source code and installation instructions are on GitHub: https://github.com/signalwire/freeswitch

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects