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 in tutto il mondo.
Le funzioni di Asterisk includono segreteria telefonica, musica d'attesa, chiamate in conferenza, accodamento chiamate, registrazione delle chiamate, risposta vocale interattiva e molto altro.
Questo tutorial ti guiderà attraverso i passaggi necessari per installare Asterisk 15 su CentOS 7.
Prerequisiti #
-
Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
-
Aggiorna il tuo sistema CentOS e installa gli strumenti di sviluppo necessari per compilare il codice sorgente Asterisk:
sudo yum update
sudo yum groupinstall core base "Development Tools"
Disabilita Selinux #
Se SELinux è impostato su enforcing
modalità, Asterisk non funzionerà correttamente.
Per disabilitare le funzionalità di sicurezza di SELinux, apri /etc/selinux/config
file e imposta SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Salva il file e riavvia il tuo sistema CentOS con:
sudo shutdown -r now
Una volta avviata la macchina, assicurati che getenforce
il comando restituisce Disabled
:
getenforce
Disabled
Scarica asterisco #
Stiamo per scaricare il sorgente Asterisk nel /usr/src
directory che è la posizione comune in cui inserire i file di origine.
Passa a /usr/src
directory digitando:
cd /usr/src/
Scarica l'ultima versione di Asterisk 15 con il seguente comando wget:
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
Una volta completato il download, estrai il file scaricato utilizzando il seguente comando:
sudo tar zxf asterisk-15-current.tar.gz
Prima di continuare con i passaggi successivi, assicurati di passare alla directory di origine Asterisk digitando:
cd asterisk-15.*/
Installa dipendenze Asterisk #
Scarica i sorgenti MP3 necessari per creare il modulo MP3 e utilizza i file MP3 su Asterisk:
sudo contrib/scripts/get_mp3_source.sh
Quindi installa tutte le dipendenze mancanti con install_prereq
sceneggiatura:
sudo contrib/scripts/install_prereq install
Lo script installerà tutti i pacchetti necessari e, una volta completato, stamperà il seguente messaggio:
#############################################
## install completed successfully
#############################################
Installa asterisco #
Il configure
script eseguirà una serie di controlli per assicurarsi che tutte le dipendenze richieste dal processo di compilazione e installazione siano presenti, avvia lo script digitando:
sudo ./configure --libdir=/usr/lib64
Al completamento con successo, vedrai il seguente output:
Il passaggio successivo consiste nel selezionare i moduli che desideri compilare e installare.
La maggior parte dei moduli sono già abilitati. 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, premi F12
per salvare ed uscire, oppure passare a Save and Exit
e premi Enter
.
Avvia il processo di compilazione usando make
comando:
sudo make -j2
Il completamento della build potrebbe richiedere del tempo, a seconda del sistema in uso. Puoi modificare il -j
flag in base al numero di core nel tuo processore. Una volta completato il processo di compilazione, ti verrà presentato il seguente messaggio:
Il passaggio successivo consiste nell'installare Asterisk e i suoi moduli digitando:
sudo make install
Al termine dell'installazione lo script visualizzerà il seguente messaggio:
Ora che l'asterisco è installato, dobbiamo installare i file di configurazione di esempio.
Installa 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 di inizializzazione Asterisk digitando:
sudo make config
Infine esegui ldconfig
per aggiornare la cache delle librerie condivise:
sudo ldconfig
Crea 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 l'esecuzione come utente appena creato.
Per creare un nuovo utente di sistema denominato asterisk
eseguire il comando seguente:
sudo adduser --system --user-group --home-dir /var/lib/asterisk --no-create-home asterisk
Per configurare Asterisk per l'esecuzione come asterisk
utente, apri il /etc/sysconfig/asterisk
archiviare e decommentare le due righe seguenti:
AST_USER="asterisk"
AST_GROUP="asterisk"
Aggiungi l'asterisk
utente alla dialout
e audio
gruppi:
sudo usermod -a -G dialout,audio asterisk
È inoltre necessario modificare la proprietà e le autorizzazioni di tutti i file e le directory con asterisco in modo che l'utente asterisco possa accedere a tali file:
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
Avvia asterisco #
Ora che siamo tutti impostati, possiamo avviare il servizio Asterisk con il seguente comando:
sudo systemctl start asterisk
Per verificare che Asterisk sia in esecuzione, connettiti all'interfaccia della riga di comando (CLI) di Asterisk digitando:
sudo asterisk -vvvr
Vedrai il prompt Asterisk CLI predefinito:
L'ultimo passaggio consiste nell'abilitare il servizio Asterisk per l'avvio all'avvio con:
sudo systemctl enable asterisk
Regola le regole del firewall #
Ora che Asterisk è installato e funzionante, devi configurare il firewall per consentire il traffico su porte specifiche di Asterisk.
Se non hai il firewall abilitato sul tuo sistema, puoi saltare questa sezione.Apri il tuo editor di testo preferito e crea il seguente servizio Firewalld:
/etc/firewalld/services/asterisk.xml<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
<short>asterisk</short>
<description>Asterisk is a software implementation of a telephone private branch exchange (PBX).</description>
<port protocol="udp" port="10000-10100"/>
<port protocol="udp" port="4569"/>
<port protocol="udp" port="2727"/>
<port protocol="udp" port="5060-5061"/>
</service>
Salva il file e applica le nuove regole del firewall digitando:
sudo firewall-cmd --add-service=asterisk --permanent
sudo firewall-cmd --reload
Infine controlla se le nuove regole del firewall sono state applicate correttamente con:
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client asterisk
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Sentiti libero di regolare il firewall in base alle tue esigenze.