Come installare il centralino Asterisk 16 su CentOS 7
Benvenuti nella nostra guida su come installare Asterisk 16 LTS su CentOS 7 Linux. 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 Ubuntu Ubuntu. 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
Prima di iniziare a eseguire i comandi di installazione di Asterisk sul tuo server CentOS 7, assicurati che tutti i pacchetti sul sistema siano aggiornati.
sudo yum -y update
Imposta il tipo di nome host:
sudo hostnamectl set-hostname pbx.example.com
Aggiungi archivio EPEL
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 16 sul tuo server CentOS 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
È 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 gmime-devel ncurses-devel libtermcap-devel sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel crontabs cronie cronie-anacron wget vim
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:
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 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 4: scarica e installa Asterisk
Ora che abbiamo installato tutti i pacchetti di dipendenze, dovremmo essere pronti per scaricare e installare Asterisk 16 su CentOS 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-*
./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
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.0.1, Copyright (C) 1999 - 2018, Digium, Inc. 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.0.1 currently running on centos-01 (pid = 17182)
centos-01*CLI>
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. Nel nostro prossimo
Ulteriori letture:
- Proteggi Asterisk e FreePBX dalle frodi VoIP e dagli attacchi di forza bruta
- Installa Asterisk su Ubuntu