Ricerca nel sito web

Installa Asterisk 16 LTS su CentOS 7/RHEL 7/Fedora


Benvenuti nella nostra guida su come installare Asterisk 16 LTS su CentOS 7/RHEL 7/Fedora. Asterisk è un potente sistema PBX Open Source con funzionalità Enterprise disponibili solo nei sistemi PBX disponibili in commercio. Asterisk utilizza hardware Ethernet di base e consente l'integrazione di installazioni fisicamente separate.

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
  • Segreteria telefonica
  • Code di chiamata e molte altre funzionalità.

Nella nostra recente guida, abbiamo trattato l'installazione di Asterisk con FreePBX sul server Debian. Se hai bisogno di un sistema commerciale c'è 3CX che ha una guida per l'installazione sul nostro blog.

Installa Asterisk 16 su CentOS 7/RHEL 7/Fedora

Prima di iniziare a eseguire i comandi di installazione di Asterisk su CentOS 7

sudo yum -y update

Imposta il tipo di nome host:

sudo hostnamectl set-hostname pbx.example.com

Al termine, aggiungi il repository epel - solo CentOS

sudo yum  -y install epel-release

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 sul tuo server CentOS 7/RHEL 7/Fedora.

Passaggio 1: installare le dipendenze del PBX Asterisk 16

Il passaggio iniziale durante la configurazione di Asterisk è installare tutte le dipendenze richieste.

sudo yum -y install wget vim  net-tools openssl-devel

È inoltre necessario installare i pacchetti del gruppo Strumenti di sviluppo.

sudo yum -y groupinstall "Development Tools"

Gli altri pacchetti che devi installare sono:

sudo yum -y install libedit-devel sqlite-devel psmisc ncurses-devel libtermcap-devel sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion git subversion kernel-devel crontabs cronie cronie-anacron wget vim autoconf

Passaggio 2: scarica e installa Jansson

Jansson è una libreria C per codificare, decodificare e manipolare dati JSON. Scaricalo e installalo sul server CentOS 7 eseguendo i comandi seguenti:

sudo su -
cd /usr/src/
git clone https://github.com/akheron/jansson.git
cd jansson
autoreconf  -i
./configure --prefix=/usr/
make && make install

Passaggio 3: scarica e installa Asterisk

Ora che abbiamo installato tutti i pacchetti di dipendenze, dovremmo essere pronti per scaricare e installare Asterisk su CentOS 7/RHEL 7.

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*/
./configure --libdir=/usr/lib64

Se tutto va bene, dovresti ottenere un output simile al seguente:

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 :

Passaggio 5: imposta 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.

Su Componenti aggiuntivi seleziona chan_ooh323 e format_mp3  come mostrato di seguito

Su Core Sound Packages, seleziona i formati dei pacchetti audio come di seguito

Per la musica di attesa, seleziona i seguenti moduli minimi

Su Pacchetti audio extra selezionare come mostrato di seguito:

Abilita app_macro nella sezione Applicazioni.

Puoi modificare altre configurazioni che ritieni opportune. Al termine, salva ed esci

Ora esegui il comando seguente per scaricare la libreria del decoder mp3 nell'albero dei sorgenti.

sudo contrib/scripts/get_mp3_source.sh

Installa altre dipendenze:

sudo ./contrib/scripts/install_prereq install

Per iniziare la creazione e l'installazione di Asterisk con i moduli selezionati, esegui i comandi.

make
make install
make samples
make config
ldconfig

Output di esempio:

---- 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    +
 +-------------------------------------------+

Verrà creato per te un file di unità asterisco systemd.

Crea un utente e un gruppo separati per eseguire i servizi asterisco e assegna le autorizzazioni corrette:

groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
usermod -aG audio,dialout asterisk
chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.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

Prova per vedere se riesci a connetterti alla CLI di Asterisk:

# 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 centos (pid = 17452)

centos*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups

Puoi verificare che il servizio Asterisk sia in esecuzione come utente asterisco. Questa è un'impostazione consigliata per la produzione.

Conclusione

Ora hai un Asterisk 16 in esecuzione sul server CentOS 7/RHEL 7. Nella nostra prossima guida pratica, tratteremo l'installazione e la configurazione di FreePBX su CentOS 7. 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
  • Installa Asterisk su Ubuntu

Articoli correlati: