FreeSWITCH 1.8.2 on Ubuntu 18.4 LTS

Prerequisites

I used a freshly installed Ubuntu Server 18.4 (amd64).

You need to install these packages:

apt-get install --yes build-essential pkg-config uuid-dev \
zlib1g-dev libjpeg-dev libsqlite3-dev libcurl4-openssl-dev \
libpcre3-dev libspeexdsp-dev libldns-dev libedit-dev libtiff5-dev \
yasm libopus-dev libsndfile1-dev

Compiling FreeSWITCH

Next, you need to download the FreeSWITCH sources from here: https://files.freeswitch.org/freeswitch-releases/

I used version 1.8.2.

Now, unpack:

tar xvzf freeswitch-1.8.2.tar.gz
cd freeswitch-1.8.2

In the file modules.conf I needed to comment the line languages/mod_lua because I was unable to compile FreeSWITCH with LUA support. If you don't need LUA support, you're fine. If you do...well, you need to fiddle around with this by yourself ;-)

No you should be able to compile FreeSwitch:

./configure && && make

Errors while compiling may occur due to missing packages. Just install the missing packages and re-start compilation:

./configure && make clean && make

After a successful compilation, you need to install FreeSwWITCH. The default location is /usr/local/freeswitch

sudo make install

Configuring FreeSWITCH

To be honest, I just copied the existing configuration from my existing FreeSWITCH 1.6 into the conf directory and that's it.

systemd unit file

I used the provided unit file with minor adaptions:

[Unit]
Description=FreeSWITCH Voice Platform
After=syslog.target network.target loca-fs.target

[Service]
Type=forking
PIDFile=/usr/local/freeswitch/run/freeswitch.pid
Environment="DAEMON_OPTS=-nonat"
EnvironmentFile=-/etc/default/freeswitch
ExecStart=/usr/local/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS
TimoutSec=45s
Restart=always

User=root
Group=daemon
LimitCORE=infinity
LimitNPROC=60000
LimitSTACK=250000
LimitRTPRIO=infinity
LimitRTTIME=infinity
IOSchedulingClass=realtime
IOSchedulingPriority=2
CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
UMask=0007

[Install]
WantedBy=multi-user.target

The original unit file can be found here: https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/debian/freeswitch-systemd.freeswitch.service

Go back