Asterisk na Debian 11.

Urobte update a upgrade

sudo apt -y update && sudo apt upgrade -y

Nainštalujte Asterisk 18 LTS a jeho závyslosti

sudo apt -y install git vim curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev

Stiahnite a nainštalujte Asterisk 18 LTS

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

Rozbalte súbory a zmeňte priečinky

sudo tar xvf asterisk-18-current.tar.gz

Vojdite do priečinka asterisk

cd asterisk-18*/

Stiahnite si knižnicu dekodéra mp3 zo zdroja pomocou príkazu

sudo contrib/scripts/get_mp3_source.sh

Výsledok bude vyzerať následovne

A    addons/mp3
A    addons/mp3/MPGLIB_README
A    addons/mp3/common.c
A    addons/mp3/huffman.h
A    addons/mp3/tabinit.c
A    addons/mp3/Makefile
A    addons/mp3/README
A    addons/mp3/decode_i386.c
A    addons/mp3/dct64_i386.c
A    addons/mp3/MPGLIB_TODO
A    addons/mp3/mpg123.h
A    addons/mp3/layer3.c
A    addons/mp3/mpglib.h
A    addons/mp3/decode_ntom.c
A    addons/mp3/interface.c
Exported revision 204.

Overte, či všeko zbehlo v poriadku

sudo contrib/scripts/install_prereq install

Potom vás system vyzve, aby ste dali predvoľbu krajiny. V mojom prípade, keďže žijem na slovensku je 421 a kliknite na OK

Keď to zbehne, mali by ste mať následovnú hlášku

#############################################
## install completed successfully
#############################################

Postavte Asterisk 18 LTS na Debian

sudo ./configure

Po úspešnej konfigurácií budete mať hlášku

Spustite príkaz a na pohyb používatle šípky a Enterom urobite výber možností, ktoré potrebujete.

sudo make menuselect

Zvolíte chan_00h323format_mp3

Teraz zvoľte možnosť Music and hold a zvolíme následovné možnosti znázornené na obrázku

Teraz kliknite na Extra Sound Packages

Teraz choďte do Applications a povoľte app_macro

Zvoľte Save and Exit

Spustite príkaz

sudo make

Nainštalujte Asterisk

sudo make install

Spustite

sudo make progdocs

Potom nakoniec použite nižšie uvedené príkazy na inštaláciu konfigurácie

sudo make samples
sudo make config
sudo ldconfig

Vytvorte Asterisk užívateľa a spustite asterisk

sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk

Povoľte užívatela

sudo vim /etc/default/asterisk

Odkomentujte následovné riadky

AST_USER="asterisk"
AST_GROUP="asterisk"

Uložte to príkazom :wq

Teraz je potrebné odkomentovať runuser a rungroup to urobíte následovne

sudo vim /etc/asterisk/asterisk.conf
runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as

Znovu uložte :wq

Reštartujte Asterisk a povoľte nech sa spúšťa pri boote

sudo systemctl restart asterisk
sudo systemctl enable asterisk

Ovete, či funguje Asterisk

systemctl status asterisk

Overte konektivitu asterisk buď:

sudo asterisk -r
sudo asterisk -rvv

Inštalácia FreePBX

FreePBX je grafická nadstavba pre Asterisk

MariaDB

Nainštalujte maria DB a povolte, aby sa spúšťala pri boote

sudo apt -y install mariadb-server mariadb-client
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
Enter current password for root (enter for none): 
OK, successfully used password, moving on...
.....
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
........
Remove anonymous users? [Y/n] Y
 ......


Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y
Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Nainštalujte Node.JS

sudo apt install curl dirmngr apt-transport-https lsb-release ca-certificates
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=18
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt update
sudo apt -y install gcc g++ make
sudo apt -y install nodejs

Nainštalujte Apache2

sudo apt -y install apache2
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sudo sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sudo sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf

Vymažte defaultný index.html

sudo rm -f /var/www/html/index.html
sudo unlink  /etc/apache2/sites-enabled/000-default.conf

Nainštalujte a nakonfigurujte PHP

sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2

Pridajte Sury PPA repozitár

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

Importujte kluč repozitára

wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -

Odinštalujte verziu PHP

sudo apt remove php*

Nainštalujte PHP 7.4

sudo apt update
sudo apt install php7.4-{mysql,cli,common,imap,ldap,xml,fpm,curl,mbstring,zip,gd,gettext,xml,json}

Nainštalujte modul PHP

sudo apt install libapache2-mod-php7.4

Nastavte maximálnu veľkosť PHP súboru

sudo sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.4/apache2/php.ini
sudo sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.4/cli/php.ini

Zmeňte veľkostný limit

sudo sed -i 's/\(^memory_limit = \).*/\1256M/' /etc/php/7.4/apache2/php.ini

Nainštalujte FreePBX

sudo apt install sox mpg123 lame ffmpeg sqlite3 git unixodbc dirmngr postfix  odbc-mariadb pkg-config libicu-dev

Zvoľte možnost internet connection

Nakonfigurujte ODBC

sudo tee /etc/odbcinst.ini<<EOF
[MySQL]
Description = ODBC for MySQL (MariaDB)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmaodbc.so
FileUsage = 1
EOF

sudo tee /etc/odbc.ini<<EOF
[MySQL-asteriskcdrdb]
Description = MySQL connection to 'asteriskcdrdb' database
Driver = MySQL
Server = localhost
Database = asteriskcdrdb
Port = 3306
Socket = /var/run/mysqld/mysqld.sock
Option = 3
EOF

Po dokončení vyššie uvedených konfigurácií je čas nainštalovať FreePBX 16. Spustite nižšie uvedené príkazy. Najprv si stiahnite archív FreePBX a rozbaľte ho.

cd /usr/src
sudo wget http://mirror.freepbx.org/modules/packages/freepbx/7.4/freepbx-16.0-latest.tgz
sudo tar xfz freepbx-16.0-latest.tgz

Spustite script

cd freepbx
sudo systemctl stop asterisk
sudo ./start_asterisk start

Pripojte sa na databázu

sudo ./install -n --dbuser root --dbpass "yourpassword"

Nainštalujte Freepbx moduly

sudo fwconsole ma disablerepo commercial
sudo fwconsole ma installall
sudo fwconsole ma delete firewall
sudo fwconsole reload
sudo fwconsole restart

Povoľte aby sa Apache spúšťal automaticky

sudo a2enmod rewrite
sudo systemctl restart apache2

teraz pomocou príkazu zistite IP adresu, akú má Asterisk

ip a

Otvorte webový prehliadač a napíšte IP adresu servera v tvare X.X.X.X/admin

Vyplňte systémové údaje

Zvoľte systémový jazyk

V pravom hornom rohu klinite na Apply Config

Počkajte kým sa natiahne konfig

Potom uvidíte úvodnú obrazovku Asterisk. Môžete konfigurovať klapky prípadne SIP trunk.