Asterisk Installation
In previous article i install the Asterisk on Raspbian Bullseye and now will install on Ubuntu 20.0.4 runs on Raspberry Pi 4 hardware.
Asterisk is well knows IP PBX service for years, in the past i used to install the E1 card or FXO card to make it work with PSTN service.
Let’s start doing the installation.
Prerequisites
$sudo apt update
$ sudo apt install wget build-essential git autoconf subversion pkg-config libtool
Install DAHDI and LibPRI
cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/linux dahdi-linux
cd dahdi-linux
sudo make
sudo make install
cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-tools
cd dahdi-tools
sudo autoreconf -i
sudo ./configure
sudo make install
sudo make install-config
sudo dahdi_genconf modules
cd /usr/src/
sudo git clone https://gerrit.asterisk.org/libpri libpri
cd libpri
sudo make
sudo make install
Installing Asterisk
cd /usr/src/
sudo git clone -b 18 https://gerrit.asterisk.org/asterisk asterisk-18 cd asterisk-18/ sudo contrib/scripts/get_mp3_source.sh sudo contrib/scripts/install_prereq install sudo ./configure sudo make menuselect sudo make -j2 sudo make install sudo make samples sudo make basic-pbx sudo make config sudo ldconfig
Creating Asterisk User
sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
To run asterisk service with asterisk user
sudo nano /etc/default/asterisk
# Uncomment the following and set them to the user/groups that you # want to run Asterisk as. NOTE: this requires substantial work to # be sure that Asterisk's environment has permission to write the # files required for its operation, including logs, its comm # socket, the asterisk database, etc. AST_USER="asterisk" AST_GROUP="asterisk"
Add asterisk user to dialout and audio group
sudo usermod -a -G dialout,audio asterisk
Change the ownership and permission on asterisk files and directories
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
Start asterisk
sudo systemctl start asterisk sudo systemctl enable asterisk
If you are running on strict firewall rule, enable following rule. ufw is for ubuntu and for other firewall you can the similar setting.
SIP default port is UDP 5060
sudo ufw allow 5060/udp
RTP port is 10000:20000 UDP
sudo ufw allow 10000:20000/udp