Ricerca nel sito web

Installa Asterisk 16 LTS su Ubuntu 22.04|20.04|18.04


Ciao brava gente!. In questo articolo, tratteremo i passaggi per installare Asterisk 16 LTS su Ubuntu 22.04|20.04|18.04. Asterisk è un sistema PBX completo open source con funzionalità della maggior parte dei sistemi PBX disponibili in commercio. Supporta le chiamate in conferenza, l'accesso diretto al sistema con entrata, il parcheggio delle chiamate, le code di chiamata e molte altre funzionalità.

Installa Asterisk 16 su Ubuntu 22.04|20.04|18.04

Di seguito sono riportati i passaggi per installare Asterisk 16 su Ubuntu 22.04|20.04|18.04.

Passaggio 1: aggiorna il sistema

Avvia l'installazione di Asterisk 16 su Ubuntu aggiornando il sistema per evitare eventuali problemi di dipendenza:

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

Passaggio 2: installa le dipendenze di Asterisk 16 LTS

Una volta che il sistema è attivo e aggiornato, installa tutti i pacchetti di dipendenze Asterisk richiesti:

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

Se ricevi un errore per il pacchetto subversion su Ubuntu come di seguito:

E: Package 'subversion' has no installation candidate

Quindi aggiungi il repository dell'universo e installa subversion da esso:

sudo add-apt-repository universe
sudo apt update && sudo apt -y install subversion

Passo 3: Scarica il tarball di Asterisk 16 LTS

Poiché Asterisk 16 non è disponibile sia nei repository upstream di Debian che di Ubuntu, l'installazione verrà eseguita dal sorgente. La creazione dal sorgente ti consente di creare facilmente tutte le funzionalità PBX che desideri e di avere un sistema VoIP personalizzato.

$ sudo apt policy asterisk
asterisk:
  Installed: (none)
  Candidate: 1:13.14.1~dfsg-2+deb9u3
  Version table:
     1:13.14.1~dfsg-2+deb9u3 500
...

$ sudo apt policy asterisk
asterisk:
  Installed: (none)
  Candidate: 1:13.18.3~dfsg-1ubuntu4

Scarica l'ultima versione di Asterisk 16 LTS sul tuo sistema locale per l'installazione.

cd /usr/src/
sudo curl -O http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

Quindi estrai il file:

sudo tar xvf asterisk-16-current.tar.gz
cd asterisk-16*/

Esegui il comando seguente per scaricare la libreria del decodificatore mp3 nell'albero dei sorgenti.

$ sudo contrib/scripts/get_mp3_source.sh
A addons/mp3/decode_ntom.c
A addons/mp3/interface.c
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
Exported revision 202.

Assicurati che tutte le dipendenze siano risolte:

sudo contrib/scripts/install_prereq install

Alla fine dovresti ricevere un messaggio di successo:

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

Passaggio 4: crea e installa Asterisk 16 su Ubuntu 22.04|20.04|18.04

Una volta scaricato il tarball di Asterisk 16 e installate le dipendenze richieste, dovresti essere pronto per creare Asterisk.

Esegui lo script configure per soddisfare le dipendenze di compilazione.

sudo ./configure

Un successo dovrebbe avere un output come di seguito:

..................
configure: Menuselect build configuration successfully completed

               .$$$$$$$$=..      
            .$7$7..          .7$7:.    
          .$:.                 ,$7.7   
        .$7.     7$$           .$77  
     ..$.       $$$            .$$7 
    ..7$   .?.   $$$   .?.       7$$.
   $.$.   .$$7. $$7 .7$$.      .$$.
 .777.   .$$$77$$77$$$7.      $$,
 $$~      .7$$$$$$$7.       .$$.
.$7          .7$$$$7:          ?$$.
$$          ?7$$$$$I        .$$7 
$$       .7$$$$$$$$      :$$. 
$$       $$$7$$$$$$    .$$.  
$$        $$   7$$7  .$$    .$$.   
$$             $$7         .$$.    
7$$7            7$$        7$$      
 $$$                        $$       
  $$7.                       $  (TM)     
   $$$$.           .7$$$  $      
     $$$$$$7$$$$$.$$$      
       $$$$$$$$.                

configure: Package configured for: 
configure: OS type  : linux-gnu
configure: Host CPU : x86_64
configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :
configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :

Opzioni del menu di configurazione eseguendo il comando seguente:

sudo make menuselect

Utilizza i tasti freccia per navigare e il tasto Invio per selezionare.

Su Componenti aggiuntivi seleziona chan_ooh323 e format_mp3  come mostrato di seguito

Su Core Sound Packages, seleziona i formati dei pacchetti audio come di seguito

Per la musica di attesa, seleziona i seguenti moduli minimi

Su Pacchetti audio extra selezionare come mostrato di seguito:

Abilita app_macro nel menu Applicazioni.

Puoi modificare altre configurazioni che ritieni opportune. Al termine, salva ed esci, quindi installa Asterisk con i moduli selezionati.

Quindi crea Asterisk eseguendo:

sudo make

Output di esempio:

Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons 
 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +

Al termine, installa Asterisk eseguendo il comando:

sudo make install

Output di esempio:

 +---- Asterisk Installation Complete -------+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk has successfully been installed. +
 + If you would like to install the sample   +
 + configuration files (overwriting any      +
 + existing config files), run:              +
 +                                           +
 + For generic reference documentation:      +
 +    make samples                           +
 +                                           +
 + For a sample basic PBX:                   +
 +    make basic-pbx                         +
 +                                           +
 +                                           +
 +-----------------  or ---------------------+
 +                                           +
 + You can go ahead and install the asterisk +
 + program documentation now or later run:   +
 +                                           +
 +               make progdocs               +
 +                                           +
 + **Note** This requires that you have      +
 + doxygen installed on your local system    +
 +-------------------------------------------+

Facoltativamente è possibile installare la documentazione:

sudo make progdocs

Infine, installa configurazioni ed esempi.

sudo make samples
sudo make config
sudo ldconfig

Verrà creato un file di unità di servizio systemd per l'asterisco.

Crea utente asterisco

Crea un utente e un gruppo separati per eseguire i servizi asterisco e assegna le autorizzazioni corrette:

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

Imposta l'utente predefinito Asterisco su asterisco:

$ sudo vim /etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"

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

Riavviare il servizio asterisco dopo aver apportato le modifiche:

sudo systemctl restart asterisk

Abilita il servizio asterisco per l'avvio all'avvio del sistema:

sudo systemctl enable asterisk

Il servizio dovrebbe essere in esecuzione senza errori:

$ systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
     Loaded: loaded (/etc/init.d/asterisk; generated)
     Active: active (running) since Sun 2020-05-03 12:18:29 UTC; 1min 19s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 69 (limit: 2344)
     Memory: 112.0M
     CGroup: /system.slice/asterisk.service
             └─88786 /usr/sbin/asterisk -U asterisk -G asterisk

May 03 12:18:29 ubuntu20 systemd[1]: Starting LSB: Asterisk PBX...
May 03 12:18:29 ubuntu20 asterisk[88756]:  * Starting Asterisk PBX: asterisk
May 03 12:18:29 ubuntu20 asterisk[88756]:    ...done.
May 03 12:18:29 ubuntu20 systemd[1]: Started LSB: Asterisk PBX.

Prova per vedere se riesci a connetterti alla CLI di Asterisk:

$ sudo asterisk -rvv
Asterisk 16.10.0, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email >
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 16.10.0 currently running on ubuntu20 (pid = 88786)
ubuntu-01*CLI> core  show channels
Channel              Location             State   Application(Data)             
0 active channels
0 active calls
0 calls processed
ubuntu-01*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups

Se hai un firewall ufw attivo, apri le porte http e le porte 5060,5061:

sudo ufw allow proto tcp from any to any port 5060,5061

Questo è tutto!. Ora hai Asterisk 16 LTS installato sul tuo server Ubuntu 22.04|20.04|18.04.

Il prossimo articolo da leggere è: Come installare FreePBX 15 su Ubuntu/Debian

Ti consiglio vivamente di leggere Come proteggere Asterisk e FreePBX dalle frodi VoIP e dagli attacchi di forza bruta

Articoli correlati: