Advertisement

FreeSWITCH

SignalWire (projet FreeSWITCH) Telecom & VoIP Open source

FreeSWITCH is an open source telephony engine for building PBXs, conferencing and voice apps, aimed at integrators, on Linux and Windows.

Official links only, checked on October 11, 2026

Table of contents
  1. What FreeSWITCH is for
  2. Who is it for?
  3. Download FreeSWITCH safely
  4. Frequently asked questions

FreeSWITCH is an open source telecom engine that can turn an ordinary server, or even a Raspberry Pi, into a phone switch, a conference bridge or a call processing platform. Anthony Minessale and a small team announced it in January 2006, determined to show that software could replace proprietary switching hardware. The code is distributed under the Mozilla Public License, version 1.1 according to the license file in the repository.

In 2017 the same developers founded SignalWire, now the project’s main sponsor and the home of its GitHub repository. Version 1.11.3, released on 28 August 2026, is described by the team as an important security update that users should install promptly.

Advertisement

What FreeSWITCH is for

Where Kamailio and OpenSIPS only steer signaling, FreeSWITCH handles calls from end to end, voice and video included. It works as a back-to-back user agent: each call terminates on the server and is then placed again toward its destination, which lets it record, switch between codecs, mix several participants, play prompts and detect keypresses. Voicemail, call queues, voice menus and conferencing are all part of its toolkit.

The design is modular. A core manages sessions and media, and modules provide everything else: mod_sofia for SIP, mod_verto for WebRTC from a browser, codecs, database connectors and scripting languages. Call logic lives in an XML dial plan or in scripts, and the Event Socket interface lets an external application drive the server in real time. That is why it often underpins PBXs, contact center software and programmable voice services. In large architectures it typically sits behind Kamailio or OpenSIPS, which absorb registrations and spread the load across several FreeSWITCH nodes handling media. Compared with Yate, another full engine, it enjoys a much larger community.

The way it is distributed has changed in recent years, and it pays to understand this before installing. The source code remains free and open. SignalWire, however, now requires a free account to access the binary packages, and installing from packages on Debian relies on a personal access token created in the user’s SignalWire space. Next to this community edition, SignalWire sells FreeSWITCH Advantage, a paid, self-hosted offering. It includes commercial modules such as the G.729A codec and answering machine detection, access to FreeSWITCH Enterprise releases kept in a private repository, and support from the founding team. According to SignalWire’s FAQ, the community edition has no official support and receives updates more slowly.

Who is it for?

FreeSWITCH suits carriers and integrators building voice services, vendors of contact center software, companies that want a custom PBX and developers looking for a media engine they can control programmatically. Because it runs on modest hardware, it is also a good platform for learning.

There is no graphical administration interface: everything is set in XML files that can grow large, and the learning curve is real. Media processing is CPU hungry, especially with transcoding and video, so it is less suited than Kamailio to absorbing huge volumes of signaling on its own. Finally, the need for a SignalWire account to get packages and the lack of official support for the free edition may give pause to organizations without in-house expertise.

Download FreeSWITCH safely

The official code lives on GitHub in the signalwire/freeswitch repository, and the documentation on developer.signalwire.com. On Linux the recommended route is the fsget script, which sets up the Debian package repository, Raspberry Pi included, using your personal token. Debian 11 support was dropped with version 1.11.3, and building from source needs no token at all. For Windows, a 64-bit MSI installer of about 161 MB is attached to each release on the GitHub releases page. macOS has no official package and requires a source build.

Advertisement

The community edition is free, and so is the SignalWire account needed for packages. FreeSWITCH Advantage is sold on a quote basis, with no public price. Your personal token gives access to your account, so never paste it into a script found on a forum, and steer clear of sites offering Windows installers hosted outside GitHub or paid ready-made packages.

Frequently asked questions

Is FreeSWITCH still free?

Yes. The code is still released under the MPL and can be used in production at no cost. Only a free SignalWire account is required to download the Linux packages, while the paid FreeSWITCH Advantage offering adds commercial modules and support.

How does FreeSWITCH differ from Kamailio?

FreeSWITCH processes media: it records, transcodes, mixes and plays prompts. Kamailio only handles SIP signaling, but with far greater capacity in that role. The two are frequently deployed together.

Do I need a SignalWire account to build FreeSWITCH?

No. The documentation states that building from the GitHub repository requires no token. The account is only needed for the binary packages installed with fsget.

Our opinion

We like

  • Handles voice and video: transcoding, conferencing, IVR
  • Modular design controlled through sockets and scripts
  • Runs on anything from a Raspberry Pi to big servers
  • Windows MSI installer published on GitHub
  • Open source under the MPL, fine for production

We like less

  • SignalWire account required for Linux packages
  • No official support for the free edition
  • Dense XML configuration, no graphical interface
  • No official macOS package

Technical sheet

PublisherSignalWire (projet FreeSWITCH)
LicenceOpen source
PriceFree
Version1.11.3
Size161 Mo (installateur MSI Windows x64)
Updated onAugust 28, 2026
RequiresDebian récente avec jeton SignalWire pour les paquets (Debian 11 retirée depuis la 1.11.3), Raspberry Pi pris en charge ; Windows 64 bits (MSI) ; compilation possible sous Linux, macOS et BSD
PlatformsLinux, Windows

Alternatives

Yate Null Team · Telecom & VoIP

Yate is an open source C++ telephony engine bridging SIP, H.323, IAX, SS7 and ISDN, built for telecom engineers, running on Linux and Windows.

Linux · Windows Open source

Jean Mathieu

Written by

Jean Mathieu

An engineer and passionate web writer since 2018, I combine technical expertise with a love for writing to share practical insights, news, and tips with the community.