Skip to main content

CentOS 7 and RHEL 7 for FreeSWITCH Enterprise

About

FreeSWITCH Enterprise project has been moved to GitHub: https://github.com/signalwire/stack
Please open new issues in: https://github.com/signalwire/stack/issues

This article contains FreeSWITCH™ installation instructions on hosts with CentOS7 or RHEL7 operating system.

Installing from RPM Packages

Easy Way

Release

FreeSWITCH™ can be installed from packages as follows

echo "USER" > /etc/yum/vars/fsausername
echo "PASS" > /etc/yum/vars/fsapassword
yum install -y https://$(< /etc/yum/vars/fsausername):$(< /etc/yum/vars/fsapassword)@fsa.freeswitch.com/repo/yum-stack/fsa/centos-release/signalwire-stack-release-repo-0-1.noarch.rpm epel-release

yum install -y freeswitch-config-vanilla freeswitch-lang-* freeswitch-sounds-*
systemctl enable freeswitch

FreeSWITCH™ is now installed and can be accessed with

FreeSwitch CLI

fs_cli -rRS

Dev repo for Testing

WARNING not suitable for production

The master branch of FreeSWITCH™ can be installed from packages as follows

echo "USER" > /etc/yum/vars/fsausername
echo "PASS" > /etc/yum/vars/fsapassword
yum install -y https://$(< /etc/yum/vars/fsausername):$(< /etc/yum/vars/fsapassword)@fsa.freeswitch.com/repo/yum-stack/fsa/centos-dev/signalwire-stack-dev-repo-0-1.noarch.rpm epel-release

And then install as follows

yum install -y freeswitch-config-vanilla freeswitch-lang-* freeswitch-sounds-*
systemctl enable freeswitch

Debug

FreeSWITCH™ Debug symbols can be installed with the following. Other package symbols are available also. Use yum search <package-name> to find the symbols you want to install.

yum install -y yum-utils
yum install freeswitch-debuginfo
yum install sofia-sip-debuginfo.x86_64
ldconfig

Use the following example to install system debug symbols.

debuginfo-install glibc
ldconfig

Use yum info to see what repo the package was installed from

yum info spandsp

Compiling from source code

Building from source

Release

FreeSWITCH™ can be built from source if you desire but it is not recommended.

echo "USER" > /etc/yum/vars/fsausername
echo "PASS" > /etc/yum/vars/fsapassword
yum install -y https://$(< /etc/yum/vars/fsausername):$(< /etc/yum/vars/fsapassword)@fsa.freeswitch.com/repo/yum-stack/fsa/centos-release/signalwire-stack-release-repo-0-1.noarch.rpm epel-release
yum-builddep -y freeswitch
yum install -y yum-plugin-ovl centos-release-scl rpmdevtools yum-utils git
yum install -y devtoolset-7-gcc*

scl enable devtoolset-7 'bash'

cd /usr/local/src
git clone -b release https://github.com/signalwire/stack.git freeswitch
cd /usr/local/src/freeswitch
./bootstrap.sh -j
./configure --enable-portable-binary \
--prefix=/usr --localstatedir=/var --sysconfdir=/etc \
--with-gnu-ld --with-python --with-erlang --with-openssl \
--enable-core-odbc-support
make
make -j install
make -j cd-sounds-install
make -j cd-moh-install

Dev branch for Testing

WARNING not suitable for production

FreeSWITCH™ can be built from source if you desire but it is not recommended.

echo "USER" > /etc/yum/vars/fsausername
echo "PASS" > /etc/yum/vars/fsapassword
yum install -y https://$(< /etc/yum/vars/fsausername):$(< /etc/yum/vars/fsapassword)@fsa.freeswitch.com/repo/yum-stack/fsa/centos-dev/signalwire-stack-dev-repo-0-1.noarch.rpm epel-release
yum-builddep -y freeswitch
yum install -y yum-plugin-ovl centos-release-scl rpmdevtools yum-utils git
yum install -y devtoolset-7-gcc*

scl enable devtoolset-7 'bash'

cd /usr/local/src
git clone https://github.com/signalwire/stack.git freeswitch
cd /usr/local/src/freeswitch
./bootstrap.sh -j
./configure --enable-portable-binary \
--prefix=/usr --localstatedir=/var --sysconfdir=/etc \
--with-gnu-ld --with-python --with-erlang --with-openssl \
--enable-core-odbc-support
make -j
make -j install
make -j cd-sounds-install
make -j cd-moh-install