Deploying Asterisk 18 LTS alongside the modern FreePBX 16 administrative interface on Raspberry Pi OS (Debian 11 Bullseye) enables a carrier-grade VoIP telephony platform on energy-efficient ARM hardware. This guide provides the complete setup for both 64-bit (aarch64) and 32-bit (armhf) architectures.
OS: Raspberry Pi OS Bullseye • Components: Asterisk 18.x, FreePBX 16, Node.js 14, MariaDB 10.5, Apache 2.4
1. Installing System Packages & PHP 7.4
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y build-essential libssl-dev libncurses5-dev libnewt-dev libxml2-dev libsqlite3-dev uuid-dev mariadb-server mariadb-client libjansson-dev libedit-dev sox libsox-fmt-all git curl subversion
# Install PHP 7.4 modules required by FreePBX 16
sudo apt-get install -y apache2 php php-cli php-mysql php-pear php-gd php-mbstring php-intl php-xml php-curl php-zip
2. Building Asterisk 18 LTS
cd /usr/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
sudo tar -zxf asterisk-18-current.tar.gz
cd asterisk-18.*
sudo contrib/scripts/get_mp3_source.sh
sudo contrib/scripts/install_prereq install
sudo ./configure --with-pjproject-bundled --with-jansson-bundled
sudo make menuselect.makeopts
sudo menuselect/menuselect --enable format_mp3 menuselect.makeopts
sudo make -j$(nproc)
sudo make install
sudo make config
sudo ldconfig
3. Installing FreePBX 16
cd /usr/src
sudo wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-16.0-latest.tgz
sudo tar -zxf freepbx-16.0-latest.tgz
cd freepbx
sudo ./install -n
Hi, I appreciate your work. I used your manual, but encountered two problems. First, my asterisk doesn't start when I boot raspberry so I must start it manually. The second one is that command: 'dongle show devices' (and other dongle commands) doesn't work at all. What am I missing?
ReplyDeleteyes I noticed the boot issue on the startup script however the /scripts/down.sh script should take care of it if you add it in cron jobs.
ReplyDeleteRegarding the dongle command issue, ensure that chan_dongle is compiled and installed successfully and /usr/lib/asterisk/modules/chan_dongle.so exists.
You may check /var/log/asterisk/full log file and search for dongle there to see if it is failing to load