Come installare il server VoIP Asterisk 18 su CentOS 8
Su questa pagina
- Prerequisiti
- Per iniziare
- Installa gli strumenti richiesti
- Installa Jansson e PJSIP
- Installa Asterisco
- Configura Asterisco
- Verifica Asterisco
- Conclusione
Asterisk è un potente server digitale PBX e VoIP rilasciato con una licenza open-source, quindi puoi usarlo gratuitamente. VoIP è una tecnologia utilizzata per stabilire e controllare le chiamate telefoniche tra più endpoint. Viene utilizzato in gateway VoIP, server per conferenze, call center, operatori e istituzioni governative in tutto il mondo. Funziona su Linux, BSD e OS X e ti consente di trasformare il tuo sistema o server locale in un server di comunicazione.
In questo post, spiegheremo come installare Asterisk sul server CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Sul server è configurata una password di root.
Iniziare
Per impostazione predefinita, SELinux è abilitato in CentOS 8. Quindi dovrai prima disabilitarlo. Per disabilitarlo, modifica il file di configurazione di SELinux:
nano /etc/selinux/config
Modifica la riga seguente:
SELINUX=disabled
Salva e chiudi il file, quindi riavvia il sistema per applicare le modifiche.
Installa gli strumenti richiesti
Asterisk richiede diversi pacchetti che devi installare sul tuo server. Innanzitutto, installa il repository EPEL con il seguente comando:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Successivamente, abilita il repository PowerTools con il seguente comando:
dnf config-manager --set-enabled PowerTools
Successivamente, installa altri pacchetti e strumenti di sviluppo con il seguente comando:
dnf install wget gcc gcc-c++ svn make bzip2 patch libedit-devel uuid-devel libuuid-devel libxml2-devel sqlite sqlite-devel nano openssl openssl-devel -y
dnf groupinstall "Development Tools"
Una volta installati tutti i pacchetti richiesti, puoi procedere al passaggio successivo.
Installa Jansson e PJSIP
Successivamente, dovrai installare Jansson sul tuo sistema. Viene utilizzato per la codifica e la decodifica dei dati multimediali.
Innanzitutto, scaricalo dal repository Git usando il seguente comando:
git clone https://github.com/akheron/jansson.git
Quindi, cambia la directory nella directory scaricata e compilala usando il seguente comando:
cd jansson
autoreconf -i
./configure --prefix=/usr/
make
make install
Successivamente, dovrai installare PJSIP sul tuo sistema. È una libreria utilizzata per implementare il protocollo SIP, SDP, RTP, STUN, TURN e ICE.
Innanzitutto, scaricalo utilizzando il seguente comando:
cd
git clone https://github.com/pjsip/pjproject.git
Quindi, cambia la directory nella directory scaricata e compilala usando il seguente comando:
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
Una volta terminato, puoi procedere con l'installazione di Asterisk.
Installa Asterisco
Innanzitutto, vai alla tua home directory e scarica l'ultima versione di Asterisk con il seguente comando:
cd
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
Una volta completato il download, estrai il file scaricato con il seguente comando:
tar -xvzf asterisk-18-current.tar.gz
Successivamente, modifica la directory nella directory estratta con il seguente comando:
cd asterisk-18.4.0/
Successivamente, configura l'asterisco con il seguente comando:
./configure --libdir=/usr/lib64
Dovresti vedere 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 :
Successivamente, esegui il seguente comando per installare i componenti aggiuntivi aggiuntivi che desideri installare con Asterisk.
make menuselect
Dovresti vedere la seguente pagina:
Seleziona Componenti aggiuntivi e premi Invio. Dovresti vedere la seguente pagina:
Seleziona i componenti aggiuntivi richiesti e premi Invio per selezionarli, quindi premi ESC per tornare al menu principale:
Seleziona il pacchetto audio Core richiesto e premi Invio per selezionarlo. Successivamente, premi ESC per tornare indietro, seleziona i pacchetti MOH come mostrato di seguito:
Seleziona i pacchetti richiesti e premi Invio per selezionarli. Successivamente, premi ESC per tornare indietro, seleziona Pacchetti extra come mostrato di seguito:
Seleziona i pacchetti richiesti e premi Invio per selezionarli. Quindi, premere il pulsante ESC. Dovresti vedere la seguente pagina:
Premere S per salvare le modifiche e uscire.
Successivamente, esegui il seguente comando per installare tutte le dipendenze richieste:
contrib/scripts/get_mp3_source.sh
Quindi, crea l'asterisco 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 + +-------------------------------------------+ make install +---- 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 + +-------------------------------------------+
Successivamente, installa Asterisk con il seguente comando:
make samples
make config
ldconfig
Configura Asterisco
Successivamente, dovrai creare un utente dedicato per eseguire Asterisk. Puoi creare un utente e un gruppo con il seguente comando:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
Successivamente, aggiungi l'utente audio e dialout al gruppo Asterisk con il seguente comando:
usermod -aG audio,dialout asterisk
Successivamente, imposta la proprietà delle directory Asterisk sull'utente asterisk con il seguente comando:
chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
Successivamente, modifica il file /etc/sysconfig/asterisk:
nano /etc/sysconfig/asterisk
Decommenta le seguenti righe:
AST_USER="asterisk" AST_GROUP="asterisk"
Salva e chiudi il file, quindi modifica il file /etc/asterisk/asterisk.conf:
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 quando hai finito. Quindi riavviare il servizio Asterisk per applicare le modifiche.
systemctl restart asterisk
Successivamente, abilita il servizio Asterisk per l'avvio al riavvio del sistema:
systemctl enable asterisk
Per verificare lo stato del servizio Asterisk, eseguire il seguente comando:
systemctl status asterisk
Dovresti ottenere il seguente output:
? asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/rc.d/init.d/asterisk; generated) Active: active (running) since Sat 2021-05-22 08:19:08 EDT; 15s ago Docs: man:systemd-sysv-generator(8) Process: 70883 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS) Main PID: 70914 (asterisk) Tasks: 81 (limit: 25014) Memory: 36.8M CGroup: /system.slice/asterisk.service ??70912 /bin/sh /usr/sbin/safe_asterisk ??70914 /usr/sbin/asterisk -f -vvvg -c May 22 08:19:08 centos8 systemd[1]: Starting LSB: Asterisk PBX... May 22 08:19:08 centos8 asterisk[70883]: Starting asterisk:
Verifica Asterisco
A questo punto, Asterisk è installato e configurato. Ora puoi verificare l'asterisco usando il seguente comando:
asterisk -rvv
Se tutto va bene, dovresti ottenere il seguente output:
Asterisk 18.4.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others. Created by Mark Spencer <> 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 18.4.0 currently running on centos8 (pid = 70914) centos8*CLI>
Ora, esegui il seguente comando per visualizzare i canali principali:
centos8*CLI> core show channels
Dovresti vedere il seguente output:
Channel Location State Application(Data) 0 active channels 0 active calls 0 calls processed
Per visualizzare il tempo di attività di Asterisk, eseguire il seguente comando:
centos8*CLI> core show uptime
Dovresti vedere il seguente output:
System uptime: 1 minute, 33 seconds Last reload: 1 minute, 33 seconds
Per uscire dalla CLI di Asterisk, eseguire il seguente comando:
centos8*CLI> quit
Conclusione
Nella guida sopra, hai imparato come scaricare e compilare Asterisk versione 18 sul server CentOS 8. Ora puoi integrare Asterisk con altre piattaforme e creare un'applicazione basata su VoIP.