Introduzione

Asterisk è la piattaforma PBX open source più popolare e ampiamente adottata che alimenta sistemi IP PBX, server per conferenze e gateway VoIP. È utilizzato da privati, piccole imprese, grandi imprese e governi di tutto il mondo.

Le funzionalità di Asterisk includono segreteria telefonica, musica in attesa, chiamate in conferenza, chiamate in coda, registrazione delle chiamate, risposta vocale interattiva e molto altro.

Questo tutorial ti guiderà attraverso i passaggi necessari per installare Asterisk 16 su Ubuntu 18.04.

Se desideri installare Asterisk su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Prerequisiti

Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.

Aggiorna il tuo sistema Ubuntu e installa i seguenti pacchetti necessari per scaricare e compilare Asterisk:

sudo apt update && sudo apt upgrade
sudo apt install wget build-essential subversion

Download di Asterisk

Scaricheremo il sorgente Asterisk nella directory /usr/src che è la posizione comune per posizionare i file sorgente, passare alla directory con:

cd /usr/src/

Scarica l'ultima versione di Asterisk 16 usando il seguente comando wget:

sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

Una volta completato il download, estrarre il tarball con:

sudo tar zxf asterisk-15-current.tar.gz

Prima di continuare con i passaggi successivi, assicurati di passare alla directory dei sorgenti di Asterisk digitando:

cd asterisk-16.*/

Installare le dipendenze di Asterisk

Il seguente script scaricherà le fonti MP3 necessarie per compilare il modulo MP3 e utilizzare i file MP3 su Asterisk:

sudo contrib/scripts/get_mp3_source.sh

Usa lo script install_prereq per risolvere tutte le dipendenze sul tuo sistema Ubuntu:

sudo contrib/scripts/install_prereq install

Lo script installerà tutti i pacchetti necessari e, una volta completato con successo, stamperà il seguente messaggio:

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

Installare Asterisk

Lo script configure eseguirà una serie di controlli per assicurarsi che siano presenti tutte le dipendenze dal tuo sistema, avvia lo script digitando:

sudo ./configure

Al completamento con esito positivo, verrà visualizzato il seguente output:

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 :

Il prossimo passo è selezionare i moduli che si desidera compilare e installare. Accedi al sistema Menuselect, digitando:

sudo make menuselect

Abbiamo già scaricato i file sorgente MP3 e ora dobbiamo dire ad Asterisk di creare il modulo MP3 selezionando format_mp3.

Al termine, premere F12 per salvare ed uscire, oppure passare al Save and Exit pulsante e premere Enter.

Ora possiamo avviare il processo di compilazione usando il comando make:

sudo make -j2

La compilazione potrebbe richiedere del tempo, a seconda del sistema. È possibile modificare il flag -j in base al numero di core del processore.

Una volta completato il processo di compilazione, ti verrà presentato il seguente messaggio:

 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+

Come dice il messaggio sopra, il prossimo passo è installare Asterisk e i suoi moduli digitando:

sudo make install

Al termine dell'installazione, lo script visualizzerà il seguente messaggio:

 +---- 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    +
 +-------------------------------------------+

Ora che abbiamo installato Asterisk, dobbiamo installare i file di configurazione di esempio.

Installare i file di configurazione generici con la documentazione di riferimento digitando:

sudo make samples

Oppure installa i file di configurazione di base del PBX:

sudo make basic-pbx

L'ultimo passaggio consiste nell'installare lo script init di Asterisk digitando:

sudo make config

È anche una buona idea eseguire ldconfig per aggiornare la cache delle librerie condivise:

sudo ldconfig

Creare l'utente Asterisk

Per impostazione predefinita, Asterisk viene eseguito come utente root. Per motivi di sicurezza creeremo un nuovo utente di sistema e configureremo Asterisk per essere eseguito come l'utente appena creato.

Per creare un nuovo utente di sistema chiamato asterisk eseguire il comando seguente:

sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk

Per configurare Asterisk per l'esecuzione come utente asterisk, aprire il file /etc/default/asterisk e rimuovere il commento dalle due righe seguenti:

sudo nano /etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"

Aggiungi l'utente asterisk ai gruppi dialout e audio:

sudo usermod -a -G dialout,audio asterisk

Dobbiamo anche modificare la proprietà e le autorizzazioni di tutti i file e le directory di Asterisk in modo che l'utente Asterisk possa accedere a tali file:

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

Avviare Asterisk

Ora che abbiamo configurato tutto, possiamo avviare il servizio Asterisk con il seguente comando:

sudo systemctl start asterisk

Per verificare che Asterisk sia in esecuzione, connettersi all'interfaccia della riga di comando (CLI) di Asterisk digitando:

sudo asterisk -vvvr

Verrà visualizzato il prompt CLI Asterisk predefinito:

Asterisk 16.8.0, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
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.
=========================================================================
Connected to Asterisk 16.8.0 currently running on TEST-SERVER-1 (pid = 24291)
SERVER_NAME*CLI>

L'ultimo passaggio è abilitare il servizio Asterisk per l'avvio all'avvio con:

sudo systemctl enable asterisk

Configurare il firewall

Il firewall proteggerà il tuo server da traffico indesiderato.

Se non hai un firewall configurato sul tuo server, puoi consultare la nostra guida su come impostare un firewall con ufw su ubuntu.

Per impostazione predefinita, SIP utilizza la porta UDP 5060, per aprire l'esecuzione della porta:

sudo ufw allow 5060/udp

Se hai abilitato il Real Time Protocol (RTP), devi anche aprire il seguente intervallo di porte:

sudo ufw allow 10000:20000/udp

Sentiti libero di regolare il firewall in base alle tue esigenze.

Conclusione

In questa guida ti abbiamo mostrato come installare l'ultima versione di Asterisk dal sorgente sul tuo sistema Ubuntu.

Ora dovresti controllare la documentazione di Asterisk e saperne di più su come configurare e utilizzare Asterisk.