This page describes FreeSWITCH™ numbering conventions, basic download instructions, and directions to useful installation pages.


The FreeSWITCH™ numbering format is "version.release.maintenance".

Selecting a Version

The primary FreeSWITCH™ releases are:

Bugs or issues with the current public release must be tested using the latest Development release to determine if the problem is already fixed. Issues must be tested using Development before opening bug reports for them to be considered. If the bug persists in Development, then file an issue on GitHub: https://github.com/signalwire/freeswitch/issues

If you're using version 1.8 which is tagged End Of Life, you should upgrade to 1.10 NOW.

Download Current Public Release

The latest maintenance level of the current public release of FreeSWITCH™ can be downloaded from freeswitch-files via a browser. For linux, it's easier to copy/paste the command line below. This single long line performs: 1- Determines the latest public release available. 2- Downloads the compressed source file. 3- Decompresses the file into a folder in the current directory. 4- Renames the folder to freeswitch. If you don't want the folder renamed, remove the last && to the end of the line.

FSfile=$(curl -s https://files.freeswitch.org/releases/freeswitch/ | grep -oE "freeswitch-[0-9]*\.[0-9]*\.[0-9]*\.-release\.tar\.bz2" | tail -n 1) && echo Downloading $FSfile && curl https://files.freeswitch.org/freeswitch-releases/$FSfile | tar -xj && mv ${FSfile/.tar.bz2//} freeswitch

Download Current Branch

Download the current branch using the -b argument followed by 'v' concatenated with the release number. The git command creates the freeswitch directory and downloads the FreeSWITCH™ source files, replace # with the release number. 

git clone –b v1.# https://github.com/signalwire/freeswitch.git

Download Development

Download the latest development release using the "git clone" command below which creates the freeswitch directory and downloads the FreeSWITCH™ development source files.

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

SignalWire STACK is a supported version of FreeSWITCH that comes with expert engineering services

SignalWire also offers Cloud Hosted resources including low-cost PSTN and SMS services for your FreeSWITCH Installation.

Using mod_signalwire in your FreeSWITCH server, and a SignalWire cloud account, you can connect to SignalWire to terminate SIP calls with no configuration.

Full details available by calling 877.742.2583 or by visiting freeswitch.com or signalwire.com

If you're new to FreeSWITCH™ consider purchasing the Mastering FreeSWITCH™ book and be sure to read this introductory article: http://www.linuxpromagazine.com/Issues/2009/106/TALK-SOFT.

Installation Methods

The easiest way to get FreeSWITCH™ is to install a pre-built package for your operating system, available for some Linux and Unix distributions and Windows.

Debian 10 Package (FreeSWITCH 1.10)

Debian 10 Buster (preferred) The development team uses and builds against Debian 10 "Buster". They recommend Debian because of its stable, yet updated, kernel and wide support. 

Centos 7 Package (FreeSWITCH  1.10)

CentOS 7 and RHEL 7


FreeSWITCH™ is available for source compilation on Unix , Linux, macOS, and Windows for the following reasons:

  • Pre-built binaries are not available
  • You want to see the entire process
  • You want to build the Development version because you require the very latest features or patches, or wish to hack FreeSWITCH

Debian 10 Buster Source

1.10 depends on a number of libraries included with Debian 10, which is now the distribution of choice for FS core development team. Follow the instructions on the Debian 10 Buster page; refer to Debian Post-Install Tasks for finishing touches.


There is an installer and comprehensive macOS guide containing instructions for setting up FreeSwitch™ on a Mac with features such as autostart, emailing voicemails and log management.


Special notes for building from source on OpenBSD.


Recently updated installation guide for SmartOS

Updating Binaries

In version 1.4 the names of a number of configuration settings were changed, so you can not simply use old config files on your new binaries.

Settings of the form sip_*_media have become rtp_*_media because they properly control RTP media streams, SIP has nothing to do with them.

For example, sip_secure_media is now called rtp_secure_media

Deprecated Instructions

FreeSWITCH™ is developed on Debian 10 "Buster" which is the much preferred platform. These instructions for older operating systems are maintained as a courtesy, but are unlikely to work without a great deal of effort.

Debian 7 Package (FreeSWITCH 1.4)

Debian Wheezy Package

CentOS 6 Package

rpm -Uvh http://files.freeswitch.org/freeswitch-release-1-0.noarch.rpm
yum install freeswitch-config-vanilla
yum install sox freeswitch-sounds*

Enjoy FreeSWITCH!

These deprecated instructions are FreeSWITCH you may compile from source code. FreeSWITCH™ is available for source compilation on Unix and Linux distributions as well as Windows.

Debian 7 Source

Makefile that builds including libraries and build dependencies.

CentOS 6 Source

Makefile that builds including libraries and build dependencies.

Unix Variants

Mac OS X

Instructions for non-supported OS X systems can be found at Mac OS X Archive.


Compile with Visual Studio.