PBX on Raspberry Pi
- 20 phones including Samsung S22 Pixel 7 have terrible vulnerabilities!
- PBX On Raspberry Pi
- PBX on Raspberry Pi Zero
- How to install Kamaillio on Raspberry Pi?
- FreePBX vs. FusionFBX
PBX on Raspberry Pi works great, also works on some weaker ARM devices.
FreePBX on ARM CPU
ARM CPU was only embedded on simple devices to execute light-duty tasks in the past.
However geeks contributed much to modify factory firmware and let these devices boot from external USB drives. Arch linux or Debian can work well on them.
Then Asterisk and FreePBX were successful to be installed.
Howerver, Raspberry Pi could run whole Linux system well, afterwards many “Pi” followed.
Below devices were tested:
- Goflex Home
- Goflex Net
- Raspberry Pi 2
- Raspberry Pi 3B
- Raspberry Pi 3B+
- Raspberry Pi 4
- Raspberry Pi Zero
- Raspberry Pi Zero W
- Orange Pi Zero
- Orange Pi One
- Orange Pi PC
- Orange Pi PC 2
- Lebre Computer Board
As the CPU on some devices were too weak and on-board memory much limited: 128-256MB, the installation process was quite painful.
It usually took hours to complete it. Such PBX just works. two or three simultaneous calls may stuck it.
However, except Raspberry Pi Zero, all Raspberry Pi and Orange Pi we tested could run either FreePBX or FusionPBX well.
Morevoer, those devices with ARM architecture processor and low memory still work well with Asterisk or freeswitch if UI was not installed and you can configure Asterisk or freeswitch by command line.
Maybe it’s hard or boring for most beginners to configure Asterisk and Freeswitch by command line, so we highly recommend newcomers to begin IP PBX with a VoIP solution with user-friendly UI like FreePBX or FusionPBX.
Raspberry Pi as IP PBX server
Rencetly years ARM developped its structure quickly. A famous SBC: Raspberry Pi first generation unveiled on 2012.
However, it came with Broadcom BCM2835 CPU and 256MB memory, frankly its performance is not so strong, but the price was only 35 dollar .
When Pi 2B unveiled in 2015, people began to be exciting because its CPU became 4-core A7 900MHz Broadcom BCM2837 with 512MB/1GB RAM.
Afterwards, many project inlcuding PBX server were started.
PBX can works on Pi 2B smoothly, some people began to challenge Elastix, and finished another PBX project: μElastix.
Elastix was the most user-friendly UI with rich functions and modules and the No.1 choice for newcomers.
Raspberry Pi would become a wonderful IP-PBX if Elastix could be installed on Raspberry Pi.
μElastix was released in 2012. It based on 32-bit PC version Elastix. This project stopped very soon after.
CentOS and Debian didn’t officially support ARM-CPU and Raspberry Pi at that time, so needed much time to modify, compile and debug.
You can visit here for more information.
Possible to install Issabel project (Elastix Alternative) on Raspberry Pi?
Checked with Issabel project, but the answer is no.
Issabel project can work only on PCs with 64bit x86 architecture processors.
They are not interested in building their program on devices with ARM architecture processors.
Free IP-PBX solution for Raspberry Pi
- Asterisk (FreePBX)
- Freeswitch (FusionPBX)
FreePBX is the UI of Asterisk and FusionPBX is the UI of freeSwitch.
Both have wonderful official and community supports.
FreePBX is not totally free. Some commercial modules need to pay, but free modules are enough for personal or small business uses.
In constrast, All modules in Fusion are free, but need more time to configure/debug.
FreePBX vs. FusionFBX
Install FreePBX on Raspberry Pi
You can easily install FreePBX on Raspberry Pi 2/3/4 and Zero W, but recommend Pi with 1GB memory as your PBX server.
Therefore, Raspberry Pi 3 or 4 is recommended for better performance.
Let’s start with Raspberry Pi 3B and install FreePBX on it by official instruction.
FreePBX provides detailed tutorials how to install FreePBX on CentOS, Ubuntu, Arch LInux and Debian/Raspbian. Choose what you like to have a try.
Official tutorials for different Linux Distro:
Install FreePBX on CentOS 8
Install FreePBX on Unbuntu 18.04
Install FreePBX onDebian 9.6
Install FreePBX on Arch Linux
As FreePBX was initially developed from CentOS, it’s better to install CentOS on raspberry pi to avoid potential bugs.
Unfortunately only CentOS 8 stream is officially supported, but it’s upstream, so you may consider to install Rocky Linux ( CentOS alternative) on Raspberry Pi.
Image Download Link: Rocky Linux 8 for Raspberry Pi
Default username: rocky
Default password: rockylinux
Don’t forget to run “sudo rootfs-expand” to grow the partition and use all of your memory card or hard drive.
Raspberry Pi OS Install Procedure:
- Get a 16GB or 32GB micro SD
- Download image file of Lite Raspiberry Pi OS (without desktop) from the official website
- Write image file to one microSD card by disk writer, like Raspiberry Pi Imager
- Creat a blank txt file on boot partition and rename as “SSH” to enable SSH service
- Insert SD card to Raspberry Pi and power on it.
- SSH login by user: pi with default password: raspberry, then enable root login and SSH login by root.
- Afterwards, install Asterisk and PBX according to the official tutorial for Debian because Orange Pi OS is developped from Debian and has more compatible with Debian packages.
Install FreePBX 15 on Debian 9.6
You can use new official image tool to download and write server OS (without desktop) to SD card, and also use this tool to set password and user name, don’t need write a SSH file to SD card anymore.
- Choose Lite Raspiberry Pi OS (without desktop)
- Click Setting icon, then enable SSH and set username and password.
PBX on Raspberry Pi with FusionPBX
FusionPBX is another option and could be installed on Raspberry Pi 3/4.
FusionPBX is developped from Freeswitch. Its structure is different from Asterisk and FreePBX, so you need some time to learn it.
FusionPBX only supported x86-CPU in the past. Although it could be installed on Raspberry Pi, but there were many bugs.
However, FusionPBX can run on Raspberry Pi 3/4 smoothly after its founder updated installing script.
We experienced Trixpbx and Elastix diseappeared in the past.
It’s absolutely worth to take time to put FusionPBX on standby because nobody can guarantee FreePBX free forever, and it will bring funs to learn a new system.
Much easy to install FusionPBX on Raspberry Pi 3 or 4, just needs two-command lines.
- Get a 16GB or 32GB micro SD
- Download image file of Raspiberry Pi OS, or CentOS, Ubuntu for Raspberry pi first.
- Write image file to one microSD card by disk writer, like Raspiberry one Imager ( download from Raspberry Pi official website) or Etcher for other linux.
- Creat a blank txt file on boot partition and rename as “SSH” in order to enable SSH service
- Insert SD card to Raspberry Pi and power on it.
- SSH login by user: pi with default password: raspberry, enable root login and SSH login by root, then run below commands.
wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/debian/pre-install.sh | sh; cd /usr/src/fusionpbx-install.sh/debian && ./install.sh
After installation is completed, terminal will generate user name and password, then open the browser, input IP of raspberry pi and login with username and password.
FusionPBX installed on Ubuntu, FreeBSD and CentOS
wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/ubuntu/pre-install.sh | sh; cd /usr/src/fusionpbx-install.sh/ubuntu && ./install.sh
pkg install --yes git cd /usr/src && git clone https://github.com/fusionpbx/fusionpbx-install.sh.git cd /usr/src/fusionpbx-install.sh/freebsd && ./install.sh
yum install wget wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/centos/pre-install.sh | sh cd /usr/src/fusionpbx-install.sh/centos && ./install.sh
FusionPBX Community Support
As less people sticked with FusionPBX, you might take more time to get community help.
Go to below forum for your questions.
FusionPBX on ARM
SD card for Raspberry Pi
Raspberry Pi 3/4 is powerful enough for small office.
As SD card has limited times for writing/Reading, we recommend to cost a little more to buy Endurance Cards of Samsung or Sandisk for formal uses (office).
Other IP PBX Solutions:
How to install Kamaillio on Raspberry Pi 3 or 4?
How to install SIPfoundry on Raspberry Pi?
How to install OpenSIPS on Raspberry Pi?
How to install phone system (FusionPBX) on Le Potato (Raspberry Pi replacement)?