Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster

Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster

 

Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster

Installazione su Raspberri py 4 con Raspberry Pi OS Buster, di Asterisk 16 e Freepbx 15. Esiste anche una versione già pronta, raspbx, ma io preferisco installare tutto da me, poichè il sistema risulta molto più fluido. I passaggi successivi saranno eseguiti come utente root, su una nuova installazione di Raspberry Pi OS Buster lite. L’installazione prenderà circa 90 minuti, e prevede che il sistema sia già stato installato e che si abbia un accesso ssh.

Aggiornare il sistema

$ sudo su
# apt update
# apt upgrade -y
# reboot
Scaricare le dipendenze ed i servizi necessari
# apt install -y wget bison flex php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-gettext php-bcmath php-zip php-xml php-imap php-json php-snmp php-fpm libapache2-mod-php git curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev dh-make libssl-dev sox mariadb-client-10.0 mariadb-server-10.0

Installare nodejs

# curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
# apt install -y nodejs

Reboot server

# reboot

Scaricare Asterisk 16 e FreePBX 15

$ sudo su
# cd /usr/src
# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
# wget https://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz

Installare Asterisk 16

# tar xvfz asterisk-16-current.tar.gz
# rm -rf asterisk-16-current.tar.gz
# cd asterisk-16.*
# contrib/scripts/get_mp3_source.sh
# ./contrib/scripts/install_prereq install
# ./configure --with-jansson-bundled
# make menuselect

inserire il prefisso internazionale, nel nostro caso 39:

Asterisk 14 Freepbx 14 su Debian Stretch 9.1abilitare format_mp3

# make -j8
# make install
# make samples
# make config

Creazione utente Asterisk e permessi

# groupadd asterisk
# useradd -r -d /var/lib/asterisk -g asterisk asterisk
# usermod -aG audio,dialout asterisk
# chown -R asterisk.asterisk /etc/asterisk
# chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
# chown -R asterisk.asterisk /usr/lib/asterisk
# sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/g' /etc/default/asterisk
# sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/g' /etc/default/asterisk
# systemctl restart asterisk
# /lib/systemd/systemd-sysv-install enable asterisk

verificare che asterisk funzioni correttamente:

# asterisk -rvvv

Configurazione Apache2

# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
# sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# mv /var/www/html /var/www/html.bak
# a2enmod rewrite
# systemctl restart apache2

Installare FreePBX 15

# cd /usr/src/
# tar xvfz freepbx-15.0-latest.tgz
# rm -rf freepbx-15.0-latest.tgz
# cd freepbx
# ./install -n
# fwconsole chown
# fwconsole ma installall
# fwconsole ma refreshsignatures
# fwconsole reload
# fwconsole restart

se tutto è andato bene il server Asterisk è raggiungibile all’indirizzo http://ip_raspberry. La prima cosa da fare è quella di scegliere nome utente, password e mail, per accedere al pannello di amministrazione. Andare poi nel menu Admin-Module Admin e scaricare ed aggiornare i moduli rimanenti.

PS: Nel caso di problema di chiamate in entrata ed in uscita, facendo un debug ci si può ritrovare con l’errore l’errore: No application ‘Macro’ for extension
per risolvere bisogna abilitare “macro” in make menuselect > Application > app_macro

Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster

enjoy 😉

Autore: Franco Conidi aka edmond

Senior System Integrator, Network Engineering, Sys Admin Linux, Linux User, Consulente Informatico.

6 pensieri riguardo “Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster”

  1. Ciao, ho seguito la tua guida ed è andato tutto alla perfezione. Riesco a ricevere le chiamate dell’esterno, funziona l’annuncio e i vari ivr creati.
    Se però provo provo a fare una qualsiasi chiamata o verso un altro interno o un numero esterno non funziona. Se chiamo dall’esterno, parte correttamente l’avviso, navigo nell’ivr ma se provo a selezionare un interno la telefonata si interrompe.
    Sapresti dirmi come poter risolvere?
    Grazie

  2. Ciao, segnalo che con Asterisk 18, per fare chiamate interne bisogna installare anche il modulo app_macro

  3. Vari problemi, installazione interrotta – Riprovo
    Probabilmente la guida è allineata ad una versione diversa del SW di sistema

    pi@pbx:~ $ cat /etc/os-release
    PRETTY_NAME=”Raspbian GNU/Linux 11 (bullseye)”
    NAME=”Raspbian GNU/Linux”
    VERSION_ID=”11″
    VERSION=”11 (bullseye)”
    VERSION_CODENAME=bullseye
    ID=raspbian
    ID_LIKE=debian

    pi@pbx:~ $ uname -a
    Linux pbx 5.10.63-v7l+ #1488 SMP Thu Nov 18 16:15:28 GMT 2021 armv7l GNU/Linux

    sudo apt install php-gettext — errore
    pi@pbx:/usr/src/asterisk-16.23.0 $ sudo apt install php-gettext
    Lettura elenco dei pacchetti… Fatto
    Generazione albero delle dipendenze… Fatto
    Lettura informazioni sullo stato… Fatto
    Il pacchetto php-gettext non ha versioni disponibili, ma è nominato da un altro
    pacchetto. Questo potrebbe indicare che il pacchetto è mancante, obsoleto
    oppure è disponibile solo all’interno di un’altra sorgente

    E: Il pacchetto “php-gettext” non ha candidati da installare
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    pi@pbx:/usr/src/asterisk-16.23.0 $

    Installare FreePBX
    pi@pbx:/usr/src/freepbx $ sudo ./install -n
    […]
    In Encoding.php line 196:

    Array and string offset access syntax with curly braces is deprecated

    In Process.php line 239:

    The command “/usr/sbin/fwconsole ma install framework” failed.

    Exit Code: 255(Unknown error)

    Working directory: /usr/src/freepbx

    Output:
    ================

    Error Output:
    ================

  4. Infatti, versione bullseye
    Provo la versione della guida

    Grazie ancora

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.