Come installare Asterisk 16 LTS su CentOS 8/RHEL 8
Benvenuti nella nostra guida su come installare Asterisk 16 LTS su CentOS 8/RHEL 8 Linux. Asterisk è un popolare e potente sistema PBX open source con funzionalità simili a quelle presenti solo nei sistemi PBX commerciali. Asterisk alimenta sistemi IP PBX, gateway VoIP, server per conferenze e call center, sia in configurazioni PMI che aziendali.
Caratteristiche del sistema PBX Asterisk
- Chiamata in conferenza
- Registrazione delle chiamate
- Monitoraggio delle chiamate
- Scoperta di numeri universali distribuiti
- ID chiamante su chiamata in attesa
- Accesso diretto al sistema interno
- Chiama Parcheggio
- Messaggistica SMS
- Canalizzazione
- Transcodifica
- Operatore automatizzato
- Segreteria telefonica
- Musica in attesa
- Musica in trasferimento
- Autenticazione
- Liste nere
- Ricevitore di allarme
- Code di chiamata e molte altre funzionalità.
Nelle nostre guide recenti abbiamo trattato:
- Come installare Asterisk 16 LTS su Ubuntu/Debian
- Come installare Asterisk 16 LTS su CentOS 7/Fedora
Installa Asterisk 16 LTS su CentOS/RHEL 8
Prima di iniziare l'installazione di Asterisk:
- imposta il fuso orario per il tuo server.
- Imposta SELinux in modalità Permissiva eseguendo i comandi seguenti:
sudo setenforce 0
sudo sed -i 's/\(^SELINUX=\).*/\SELINUX=permissive/' /etc/selinux/config
Quindi segui i passaggi seguenti per installare e configurare Asterisk 16 LTS sul tuo server CentOS/RHEL 8.
Passaggio 1: aggiungi il repository EPEL
Assicurati di avere il repository EPEL aggiunto al tuo sistema RHEL/CentOS 8 seguendo la nostra guida di seguito.
- Come installare il repository EPEL su RHEL/CentOS 8
CentOS 8:
sudo yum -y install epel-release
sudo yum config-manager --set-enabled powertools
RHEL 8:
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
ARCH=$( /bin/arch )
sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms
Passaggio 2: installa gli strumenti di sviluppo
Installa strumenti di sviluppo software e altre dipendenze necessarie per creare ed eseguire Asterisk su RHEL/CentOS 8.
sudo yum group -y install "Development Tools"
sudo yum -y install git wget vim net-tools sqlite-devel psmisc ncurses-devel libtermcap-devel newt-devel libxml2-devel libtiff-devel gtk2-devel libtool libuuid-devel subversion kernel-devel crontabs cronie-anacron libedit libedit-devel
Passaggio 3: scarica e installa Jansson
Jansson è una libreria C per codificare, decodificare e manipolare dati JSON. Scaricalo e installalo sul server CentOS/RHEL 8 eseguendo i comandi seguenti:
sudo -i
cd /usr/src/
git clone https://github.com/akheron/jansson.git
cd jansson
autoreconf -i
./configure --prefix=/usr/
make && make install
Passaggio 4: scarica e installa PJSIP
PJSIP è una libreria di comunicazione multimediale gratuita e open source scritta in linguaggio C che implementa protocolli basati su standard come SIP, SDP, RTP, STUN, TURN e ICE.
Clona il progetto da Github, quindi compila e installa.
cd /usr/src/
git clone https://github.com/pjsip/pjproject.git
cd pjproject
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
make dep
make
make install
ldconfig
Passaggio 5: scarica e installa Asterisk
Ora che abbiamo installato tutti i pacchetti di dipendenze, dovremmo essere pronti per scaricare e installare Asterisk 15 su CentOS/RHEL 8.
cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
tar xvfz asterisk-16-current.tar.gz
rm -f asterisk-16-current.tar.gz
cd asterisk-16*/
Configura Asterisco.
./configure --libdir=/usr/lib64
Una configurazione riuscita dovrebbe stampare 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 :
Passaggio 6: impostare le opzioni del menu Asterisco
Opzioni del menu di configurazione eseguendo il comando seguente:
make menuselect
Utilizza i tasti freccia per navigare e il tasto Invio per selezionare.
1.
In Componenti aggiuntivi seleziona chan_ooh323
e format_mp3
come mostrato di seguito
2.
Su Core Sound Packages, seleziona i formati dei pacchetti audio come di seguito
3.
Per Musica di attesa, seleziona i seguenti moduli minimi
5.
Su Pacchetti audio extra seleziona come mostrato di seguito:
6.
Abilita app_macro
nella sezione Applicazioni.
Sentiti libero di modificare altre impostazioni in base alle tue esigenze, quindi salvare ed uscire una volta terminato.
Passaggio 7: creare e installare Asterisk
Esegui il comando seguente per scaricare la libreria del decodificatore mp3 nell'albero dei sorgenti.
sudo contrib/scripts/get_mp3_source.sh
Installa altre dipendenze:
sudo ./contrib/scripts/install_prereq install
Costruisci e installa Asterisk su RHEL/CentOS 8.
make
make install
make samples
make config
ldconfig
Passaggio 8: Configura e avvia Asterisk
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 /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
Imposta l'utente predefinito Asterisco su asterisco:
$ sudo vim /etc/sysconfig/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 l'avvio del servizio all'avvio:
sudo systemctl enable asterisk
Conferma lo stato del servizio.
$ systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk; generated)
Active: active (running) since Sat 2019-03-23 14:31:11 EAT; 31s ago
Docs: man:systemd-sysv-generator(8)
Process: 13468 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS)
Process: 13494 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
Main PID: 13525
Tasks: 2 (limit: 11510)
Memory: 3.1M
CGroup: /system.slice/asterisk.service
├─13523 /bin/sh /usr/sbin/safe_asterisk
└─13614 sleep 4
Mar 23 14:31:11 rhel8.local systemd[1]: Stopped LSB: Asterisk PBX.
Mar 23 14:31:11 rhel8.local systemd[1]: Starting LSB: Asterisk PBX…
Mar 23 14:31:11 rhel8.local systemd[1]: Started LSB: Asterisk PBX.
Prova per vedere se riesci a connetterti alla CLI di Asterisk:
$ sudo asterisk -rvv
Asterisk 16.25.1, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation 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.25.1 currently running on rocky-linux-02 (pid = 93511)
rhel8*CLI> core show channels
Channel Location State Application(Data)
0 active channels
0 active calls
0 calls processed
rhel8*CLI> core show uptime
System uptime: 6 minutes, 37 seconds
Last reload: 6 minutes, 37 seconds
rhel8*CLI> quit
Asterisk cleanly ending (0).
Executing last minute cleanups
Passaggio 9: installa FreePBX su RHEL/CentOS 8
Se hai bisogno di un dashboard amministrativo basato sull'interfaccia utente per Asterisk, controlla Come installare FreePBX su RHEL/CentOS 8
Conclusione
Ora hai un Asterisk 16 LTS in esecuzione sul server CentOS/RHEL 8. Nella nostra prossima guida pratica, tratteremo l'installazione e la configurazione di FreePBX su RHEL/CentOS 8. Resta sintonizzato e lascia un commento se riscontri problemi con la configurazione.
Ulteriori letture: Proteggi Asterisk e FreePBX dalle frodi VoIP e dagli attacchi di forza bruta