Ricerca nel sito web

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

Articoli correlati: