Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Asterisk Open Source PBX

So, in my youth ( many years ago ) I worked with a telecom company that sold properitery phone systems. This was back in the day before VOIP, so you had to run cable and all that jazz. Thankfully, you don’t have to do that much anymore.

Installation

Prerequistes

# Create user and group
sudo groupadd --system asterisk
sudo useradd -s /sbin/nologin --system -g asterisk asterisk
# Install dependencies
sudo apt update && sudo apt upgrade -y

sudo apt install -y build-essential wget curl git subversion libncurses5-dev libssl-dev libedit-dev libxml2-dev uuid-dev \
    libsqlite3-dev libjansson-dev libcurl4-openssl-dev libspeexdsp-dev pkg-config libsrtp2-dev

Get the Asterisk’s Software

cd /usr/src/
sudo wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz
sudo tar -xvzf asterisk-22-current.tar.gz
cd asterisk-22.*/

Asterisk Dependencies and Configuration

sudo ./contrib/scripts/install_prereq install
sudo ./configure --with-jansson-bundled
sudo make menuselect
sudo make -j$(nproc)
sudo make install
sudo make samples
sudo make config
sudo ldconfig
sudo sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/' /etc/default/asterisk
sudo sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/' /etc/default/asterisk
# adjust folder permissions
sudo chown -R asterisk:asterisk /var/run/asterisk
sudo chown -R asterisk:asterisk /etc/asterisk /var/lib/asterisk /var/log/asterisk /var/spool/asterisk /usr/lib/asterisk

Adjust SYSTEMD nonsense

sudo systemctl edit asterisk --full
[Service]
User=asterisk
Group=asterisk

Start the Service

sudo systemctl enable asterisk
sudo systemctl start asterisk
sudo systemctl status asterisk
sudo asterisk -rvvv