Skip to main content

Raspberry Pi

About

There is no big difference in how to install, build or run FreeSWITCH™ on a Raspberry PI except that we have a special Debian repo for that.

Introduction

The Raspberry PI usually runs Linux, but because it has another processor architecture, we prepared Debian packages for it in a different repo.

Easy Way

Installing From Debian 11 "BullsEye", 10 "Buster" or Debian 9 "Stretch" Packages

Latest Release Branch:

Release package

TOKEN=YOURSIGNALWIRETOKEN

apt-get update && apt-get install -y gnupg2 wget lsb-release apt-transport-https
wget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/rpi/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

# This is universal for all Debian distros
# `lsb_release -sc` returns buster or stretch
echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/rpi/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/rpi/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

Master Branch ("git"):

WARNING not suitable for production

Master Test Package

TOKEN=YOURSIGNALWIRETOKEN

apt-get update && apt-get install -yq gnupg2 wget lsb-release apt-transport-https
wget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/rpi/debian-dev/signalwire-freeswitch-repo.gpg

echo "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
chmod 600 /etc/apt/auth.conf

# This is universal for all Debian distros
# `lsb_release -sc` returns buster or stretch
echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/rpi/debian-dev/ `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/rpi/debian-dev/ `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

Building the binaries yourself.

Please see the Debian from source installation instructions.

Comments:

The instructions above do not work with Raspbian Lite. A working script, in a pull request, is at:https://freeswitch.org/stash/projects/FS/repos/freeswitch-contrib/browse/bmiller793/raspbianlite/pilitefs.sh?at=8df8aa0dc5d5ac44c7cc74e1274e9bff8d820c7fYou just need the rpilitefs.sh script, and you're good. It will install prerequisites, get source, build, and then install to /usr/local/freeswitch. Once it's done, you can start FreeSWITCH, and connect a phone to the default accounts.The script builds and installs for the minimum configuration. This, of course, can be easily changed to build the vanilla configuration, if you just want to let the Pi chug overnight. Yes, you can immediately connect VOIP clients to it at the default extensions of 1000-1019. This has been tested with Linphone. Posted by bmiller793 at Apr 21, 2016 01:26
Thank you very much for this. I have added you to the confluence-editors group if you would care to improve these instructions as your time allows. I think this is a great application for the RPi, myself.Thanks again. Posted by boteman at Apr 27, 2016 18:37
One caution, however: the FreeSWITCH team can only permit links to their own repository or those of Debian and others that are trusted. If these updated instructions link to an untrusted source such as another developer's repo, then they won't allow it for security reasons. Posted by boteman at Apr 27, 2016 18:45
I've created a bug indicating a few issues with the script. For the time being, I build from souce. (smile) Posted by jungleboogie at Apr 28, 2016 15:51
Cool, thanks. Ultimately the core dev team hopes to use their build system to create packages that do most of what is needed to get an RPi up and running quickly. Posted by boteman at May 13, 2016 13:33