Skip to navigation

Installing FreeSWITCH or FreeSWITCH Enterprise

View as MarkdownOpen in Claude

FreeSWITCH Terminology

Before we begin, here is some general FreeSWITCH terminology that may be important for understanding this article!

TermMeaning
FreeSWITCHThe publicly released version of FreeSWITCH for the community at large.
FreeSWITCH EnterpriseThe privately release version of FreeSWITCH for subscribed customers.
FSA generic term applicable to either FreeSWITCH or FreeSWITCH Enterprise
Production ServerA FreeSWITCH or FreeSWITCH Enterprise installation of packages from our stable repo.
Staging ServerA FreeSWITCH or FreeSWITCH Enterprise installation of packages from our unstable repo.
Lab ServerA FreeSWITCH or FreeSWITCH Enterprise installation by compilation of source code, build dependencies installed from the unstable repo.

Get a Personal access token

A SignalWire account is now required to download the pre-built FreeSWITCH binaries, and the download authenticates with a Personal access token (PAT). First create a SignalWire Space, then create a PAT from your user menu in the Dashboard. Personal access tokens in the REST API authorization guide covers where to create one and what it can access.

In case you missed the previous emails on the matter, here is the recap of this change:

  • This specifically (and only) affects the built copy of the FreeSWITCH software - the binaries that turn Linux into FreeSWITCH instantly.
  • It does not impact actively running instances or change the process for accessing the open-source code, which will continue to be freely available on GitHub.
  • It may affect how you obtain FreeSWITCH dependencies or FreeSWITCH packages from our package repositories such as our Debian repository.
  • The changes do not affect our FreeSWITCH Enterprise method of authenticating.

Choosing a repository

Repositories are divided into publicly accessible repos for the community and privately accessible repos for FreeSWITCH Enterprise (FSE) subscribers. FSE repos receive code commits as soon as they are tested, while the public repo receives updates after further vetting for stability.

Each repo has release and unstable branches. Release branches are ideal for production environments, while unstable branches are suited for lab/testing/QA environments.

You will need a subscription and credentials to access the FreeSWITCH Enterprise repository.

Working with repos

Available to the community at large:

Click here to see more about installing or compiling the public version of FreeSWITCH.

apt-get update && apt-get install -y gnupg2 wget lsb-release
wget -O - https://files.freeswitch.org/repo/deb/debian-release/fsstretch-archive-keyring.asc | apt-key add -
echo "deb http://files.freeswitch.org/repo/deb/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src http://files.freeswitch.org/repo/deb/debian-release/ `lsb_release -sc` main" >> /etc/apt/sources.list.d/freeswitch.list
# you may want to populate /etc/freeswitch at this point.
# if /etc/freeswitch does not exist, the standard vanilla configuration is deployed
apt-get update && apt-get install -y freeswitch-meta-all

FreeSWITCH™ is now installed and can be accessed with

FreeSwitch CLI
fs_cli -rRS

Must be a subscriber to access FreeSWITCH Enterprise:

Click here to see more about installing or compiling the paid version of FreeSWITCH.

apt-get update && apt-get install -y gnupg2 wget lsb-release software-properties-common apt-transport-https
USERNAME=FSAUSER
PASSWORD=FSAPASS
wget --http-user=$USERNAME --http-password=$PASSWORD -O - https://fsa.freeswitch.com/repo/deb/fsa/pubkey.gpg | apt-key add -
echo "machine fsa.freeswitch.com login $USERNAME password $PASSWORD" > /etc/apt/auth.conf
echo "deb https://fsa.freeswitch.com/repo/deb/fsa/ `lsb_release -sc` 1.8" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src https://fsa.freeswitch.com/repo/deb/fsa/ `lsb_release -sc` 1.8" >> /etc/apt/sources.list.d/freeswitch.list
# you may want to populate /etc/freeswitch at this point.
# if /etc/freeswitch does not exist, the standard vanilla configuration is deployed
apt-get update && apt-get install -y freeswitch-meta-all

FreeSWITCH™ is now installed and can be accessed with

FreeSwitch CLI
fs_cli -rRS

If you need a compilation script, you can reach out to support@signalwire.com!