Installing FreeSWITCH 1.10 on Debian 11 from Package - Omid-Mohajerani/freeswitch GitHub Wiki

Get a token from SignalWire website

In order to be able to download the FreeSWITCH package, you need to register at https://signalwire.com/ and go to profile

and select personal access tokens and create a new token or use the current one.

Installing FreeSWITCH (Package)

TOKEN=YOURSIGNALWIRETOKEN
 
apt-get update && apt-get install -y gnupg2 wget lsb-release
 
wget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/debian-release/signalwire-freeswitch-repo.gpg
 
echo "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
chmod 600 /etc/apt/auth.conf
echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/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

Post-installation

Start FreeSWITCH service

systemctl start freeswitch
systemctl enable freeswitch

check if it is running

ps aux | grep freeswitch

DNS cashing

By default, Debian has no DNS caching and every lookup goes to the server from /etc/resolv.conf. Unbound is a light, secure, and easy to use DNS caching server.

apt -y install unbound
systemctl start unbound
systemctl enable unbound

Proper entropy source

Most Debian systems may not have sufficient entropy for proper cryptography operations. Haveged is a userspace entropy daemon that is not dependent upon the standard mechanisms for harvesting randomness for the system entropy pool.

apt -y install haveged
systemctl start haveged
systemctl enable haveged

Automatic time synchronization

Chrony is a fast, secure, and easy-to-use time synchronization daemon.

apt -y install chrony   # installation
systemctl start chrony  # start
systemctl enable chrony # auto start

References: https://freeswitch.org/confluence/display/FREESWITCH/Debian

FreeSWITCH installation Video Training - Part 1

FreeSWITCH Installation - Part 1