Ricerca nel sito web

Come installare il server VoIP Asterisk 18 su CentOS 8


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa gli strumenti richiesti
  4. Installa Jansson e PJSIP
  5. Installa Asterisco
  6. Configura Asterisco
  7. Verifica Asterisco
  8. 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.