Asterisk è un server VoIP gratuito e open source creato da Sangoma. Viene utilizzato per creare un'infrastruttura di telefonia VoIP per organizzazioni di tutte le dimensioni. VoIP è un protocollo Voice Over Internet utilizzato per effettuare una chiamata utilizzando lo stack TCP/IP. Con il VoIP puoi effettuare una chiamata dal tuo dispositivo mobile o computer ad altri dispositivi senza alcun costo. Funziona su sistemi operativi basati su Unix e Linux ed è in grado di connettere qualsiasi rete di telefonia globale tradizionale. Offre una serie di funzioni tra cui teleconferenza, segreteria telefonica, IVR e distribuzione automatica delle chiamate.
In questo tutorial impareremo come installare il server Asterisk e la GUI Asterisk su Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04.
- Un indirizzo IP statico è configurato nel tuo server.
- Sul server è configurata una password di root.
Per iniziare
Innanzitutto, aggiorna i pacchetti di sistema all'ultima versione con il seguente comando:
apt-get update -y
Una volta che il tuo sistema è stato aggiornato, dovrai installare altre dipendenze richieste da Asterisk. Puoi installarli tutti con il seguente comando:
apt-get install gnupg2 software-properties-common git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev -y
Dopo aver installato tutti i pacchetti, puoi procedere al passaggio successivo.
Installa Asterisk
Per impostazione predefinita, l'ultima versione di Asterisk non è disponibile nel repository predefinito di Ubuntu 20.04. Quindi dovrai scaricarlo e compilarlo dal sorgente.
Innanzitutto, scarica l'ultima versione di Asterisk con il seguente comando:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
Una volta scaricato, estrai il file scaricato con il seguente comando:
tar -xvzf asterisk-17-current.tar.gz
Quindi, cambia la directory nella directory estratta e installa tutti i moduli MP3 richiesti con il seguente comando:
cd asterisk-17.7.0
contrib/scripts/get_mp3_source.sh
Dovresti ottenere il seguente output:
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 202.
Quindi, installa altre dipendenze con il seguente comando:
contrib/scripts/install_prereq install
Dovresti vedere il seguente output:
############################################# ## install completed successfully #############################################
Quindi, configura l'asterisco con il seguente comando:
./configure
Dovresti ottenere 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 :
Quindi, esegui il comando seguente per selezionare e installare alcuni moduli consigliati:
make menuselect
Ti verrà chiesto di selezionare il modulo desiderato. Usa i tasti freccia per navigare e premi il tasto Invio per selezionare come mostrato di seguito:
Abilita i componenti aggiuntivi come mostrato di seguito:
Abilita i moduli audio principali come mostrato di seguito:
Abilita i pacchetti MOH come mostrato di seguito:
Abilita i pacchetti audio extra come mostrato di seguito:
Al termine, fai clic su Salva ed esci pulsante per salvare le modifiche e installare tutti i componenti aggiuntivi.
Successivamente, dovrai creare l'asterisco. Puoi farlo con il seguente comando:
make
Dovresti vedere il seguente output:
+--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+
Quindi, installa Astersik, configura e prova eseguendo il comando seguente:
make install
make samples
make config
ldconfig
Una volta terminato, puoi procedere al passaggio successivo.
Crea un utente Astersik
Successivamente, dovrai creare un utente Asterisk, raggruppare e modificare la proprietà della directory di configurazione di Asterisk.
Innanzitutto, crea un utente e un gruppo con il seguente comando:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
Quindi, aggiungi l'utente audio e dialout al gruppo Asterisk eseguendo il comando seguente:
usermod -aG audio,dialout asterisk
Quindi, cambia la proprietà della directory di configurazione di Asterisk con il comando seguente:
chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib/asterisk
Una volta terminato, puoi procedere al passaggio successivo.
Configura asterisco
Quindi, modifica il file /etc/default/asterisk e imposta l'utente predefinito su Asterisk:
nano /etc/default/asterisk
Decommenta le seguenti righe:
AST_USER="asterisk" AST_GROUP="asterisk"
Salva e chiudi il file al termine, quindi modifica il file di configurazione predefinito di Asterisk e imposta l'esecuzione come utente su asterisco:
nano /etc/asterisk/asterisk.conf
Decommenta le seguenti righe:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Salva e chiudi il file, quindi avvia il servizio Asterisk e abilitalo all'avvio al riavvio del sistema con il seguente comando:
systemctl restart asterisk
systemctl enable asterisk
Ora puoi verificare lo stato del servizio Asterisk con il seguente comando:
systemctl status asterisk
Dovresti ottenere il seguente output:
? asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/init.d/asterisk; generated) Active: active (running) since Mon 2020-10-19 12:39:41 UTC; 2min 49s ago Docs: man:systemd-sysv-generator(8) Process: 47946 ExecStart=/etc/init.d/asterisk start (code=exited, status=0/SUCCESS) Tasks: 71 (limit: 4691) Memory: 41.7M CGroup: /system.slice/asterisk.service ??47965 /usr/sbin/asterisk -U asterisk -G asterisk Oct 19 12:39:41 ubuntu2004 systemd[1]: Starting LSB: Asterisk PBX... Oct 19 12:39:41 ubuntu2004 asterisk[47946]: * Starting Asterisk PBX: asterisk Oct 19 12:39:41 ubuntu2004 asterisk[47946]: ...done.
Successivamente, verifica la connessione Asterisk con il seguente comando:
asterisk -rvv
Dovresti ottenere il seguente output:
Asterisk 17.7.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. ========================================================================= Running as user 'asterisk' Running under group 'asterisk' Connected to Asterisk 17.7.0 currently running on ubuntu2004 (pid = 47965) ubuntu2004*CLI>
Abilita GUI Asterisk
Per accedere ad Asterisk dal browser web, dovrai abilitare la GUI di Asterisk. Per prima cosa, modifica il file /etc/asterisk/http.conf:
nano /etc/asterisk/http.conf
Decommenta e modifica le seguenti righe:
enabled = yes bindaddr = 0.0.0.0 bindport = 8088 prefix = asterisk enable_static = yes enablestatic = yes redirect = / /static/config/index.html uploads = /var/lib/asterisk/uploads/
Salva e chiudi il file, quindi modifica il file /etc/asterisk/manager.conf e imposta il tuo utente amministratore:
nano /etc/asterisk/manager.conf
Aggiungi / Modifica le seguenti righe:
enabled = yes webenabled = yes port = 5038 bindaddr = 0.0.0.0 [admin] secret = admin1234 read = system,call,log,verbose,command,agent,user,config write = system,call,log,verbose,command,agent,user,config,originate
Salva e chiudi il file quando hai finito.
Installa la GUI di Asterisk
Quindi, scarica l'ultima versione di Asterisk GUI con il seguente comando:
svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0
Una volta scaricato, cambia la directory in directory scaricata e configurala con il seguente comando:
cd 2.0/
./configure
Quindi, crea la GUI Asterisk con il seguente comando:
make
Dovresti ottenere il seguente output:
+------- Asterisk-GUI Build Complete -------+ + Asterisk-GUI has successfully been built, + + and can be installed by running: + + + + make install + +-------------------------------------------+
Quindi, esegui il seguente comando per installarlo sul tuo sistema:
make install
Dovresti vedere il seguente output:
+---- Asterisk GUI Installation Complete ---+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk-GUI has successfully been + + installed. + + + +-------------------------------------------+ + + + BEFORE THE GUI WILL WORK + + + + Before the GUI will run, you must perform + + some modifications to the Asterisk + + configuration files in accordance with + + the README file. When done, you can + + check your changes by doing: + + + + make checkconfig + + + +-------------------------------------------+
Infine, riavvia il servizio Asterisk per applicare le modifiche:
systemctl restart asterisk
Accedi alla GUI di Asterisk
Ora apri il tuo browser web e accedi alla GUI Asterisk utilizzando l'URL http://your-server-ip:8088/asterisk/static/config/index.html. Verrai reindirizzato alla seguente pagina:
Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard della GUI Asterisk nella pagina seguente:
Conclusione
Congratulazioni! hai installato correttamente Asterisk e Asterisk GUI sul server Ubuntu 20.04. Ora puoi connettere il tuo server a qualsiasi rete PSTN e iniziare a chiamare in modo assolutamente gratuito.