Cum se instalează Asterisk pe CentOS/RHEL 8/7
Asterisk este un cadru open source utilizat pentru construirea de aplicații de comunicare. Îl puteți folosi pentru a transforma un computer sau un server local în serverul de comunicații. Este folosit pentru alimentarea sistemelor IP PBX, gateway-uri VoIP, servere de conferințe și alte soluții. Este folosit de toate tipurile de organizații din întreaga lume și, în cele din urmă, dar nu în ultimul rând, este gratuit și open source.
În acest tutorial, vă vom arăta cum să instalați Asterisk pe CentOS 8/7 (instrucțiunile funcționează și pe RHEL 8/7) , dar înainte de a începe, va trebui să facem câteva pregătiri, astfel încât Asterisk să poată rula fără probleme după instalare.
Pasul 1: Dezactivați SELinux pe CentOS
Pentru a face acest lucru, accesați SSH pe sistemul dvs. și folosind editorul de text preferat în linia de comandă, deschideți /etc/selinux/config și dezactivați SELINUX.
# vim /etc/selinux/config
Linia SELinux ar trebui să arate astfel:
SELINUX=disabled
Acum reporniți sistemul. Odată ce se întoarce SSH din nou la acel sistem.
Pasul 2: Instalați pachetele necesare
Asterisk are destul de multe cerințe care trebuie instalate. Puteți utiliza următoarea comandă yum pentru a instala pachetele necesare, așa cum se arată.
# yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel
Înainte de a continua, creați un nou utilizator cu privilegii sudo numit „asterisc“, vom folosi acest utilizator pentru a configura asterisc pe sistem.
# adduser asterisk -c "Asterisk User" # passwd asterisk # usermod -aG wheel asterisk # su asterisk
Apoi, instalați PJSIP, este o bibliotecă de comunicații multimedia cu sursă deschisă gratuită care implementează protocoale standard, cum ar fi SIP,SDP,RTP,STUN,TURN și ICE. Este driverul de canal Asterisk SIP care ar trebui să îmbunătățească claritatea apelurilor.
Pentru a obține cea mai recentă versiune, mai întâi să creăm un director temporar în care vom construi pachetul din sursă.
$ mkdir ~/build && cd ~/build
Acum mergeți la comanda wget pentru a descărca pachetul direct în terminal.
Rețineți că, până la scrierea acestui articol, cea mai recentă versiune este 2.8, aceasta se poate schimba în viitor, prin urmare asigurați-vă că utilizați cea mai recentă versiune:
$ wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2
Odată ce descărcarea este completă, extrageți fișierul și treceți la acel director.
$ tar xvjf pjproject-2.9.tar.bz2 $ cd pjproject-2.9
Următorul pas este pregătirea pachetului care urmează să fie compilat. Puteți folosi următoarea comandă:
$ ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
Nu ar trebui să vedeți erori sau avertismente. Asigurați-vă că toate dependențele sunt îndeplinite:
$ make dep
Și acum putem finaliza instalarea și legarea bibliotecilor cu:
$ make && sudo make install && sudo ldconfig
În cele din urmă, asigurați-vă că toate bibliotecile sunt instalate și prezente:
$ ldconfig -p | grep pj
Ar trebui să obțineți următorul rezultat:
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2 libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2 libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2 libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2 libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2 libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2 libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2 libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2 libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2 libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2 libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2 libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2 libpj.so (libc6,x86-64) => /lib64/libpj.so
Pasul 3: Instalați Asterisk pe CentOS 8/7
Acum suntem gata să inițiem instalarea Asterisk. Navigați înapoi la directorul nostru ~/build:
$ cd ~/build
Accesați comanda wget pentru a descărca fișierul în terminal.
$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
La scrierea acestui tutorial, cea mai recentă versiune Asterisk este 16. Asigurați-vă că descărcați cea mai recentă versiune de Asterisk atunci când urmați pașii.
Acum extrageți arhiva și navigați la directorul nou creat:
$ tar -zxvf asterisk-16-current.tar.gz $ cd asterisk-16.5.1
Acesta este momentul să menționăm că, dacă doriți să activați suportul mp3 pentru a reda muzică în timp ce clientul este în așteptare, va trebui să instalați încă câteva dependențe. Acești pași sunt opționali:
$ sudo yum install svn $ sudo ./contrib/scripts/get_mp3_source.sh
După al doilea pas, ar trebui să obțineți rezultate similare cu acestea:
A addons/mp3 A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c A addons/mp3/MPGLIB_README A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c Exported revision 202.
Începeți prin a rula scriptul de configurare pentru a pregăti pachetul pentru compilare:
$ sudo contrib/scripts/install_prereq install $ ./configure --libdir=/usr/lib64 --with-jansson-bundled
Dacă aveți dependențe lipsă pentru a le instala. În cazul meu, am primit următoarea eroare:
configure: error: patch is required to configure bundled pjproject
Pentru a ocoli acest lucru pur și simplu rulați:
# yum install patch
Și rulați din nou scriptul de configurare. Dacă totul a decurs perfect, fără erori, veți vedea următoarea captură de ecran.
Acum, să începem procesul de construire:
$ make menuselect
După câteva secunde, ar trebui să obțineți o listă de funcții de activat:
Dacă încercați să utilizați funcția de muzică în așteptare, va trebui să activați funcția „format_mp3” din secțiunea „Suplimente”. Salvați lista și executați următoarea comandă:
$ make && sudo make install
Pentru a instala exemplele de fișiere de configurare, utilizați comanda de mai jos:
$ sudo make samples
Pentru a porni Asterisk la pornire, utilizați:
$ sudo make config
Actualizați proprietatea următoarelor directoare și fișiere:
$ sudo chown asterisk. /var/run/asterisk $ sudo chown asterisk. -R /etc/asterisk $ sudo chown asterisk. -R /var/{lib,log,spool}/asterisk
În cele din urmă, să ne testăm instalația cu:
$ sudo service asterisk start $ sudo asterisk -rvv
Ar trebui să vedeți o ieșire similară cu aceasta:
Asterisk 16.5.1, Copyright (C) 1999 - 2018, Digium, Inc. 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. ========================================================================= Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020) centos8-tecmint*CLI>
Dacă doriți să vedeți o listă de comenzi disponibile, tastați:
asterisk*CLI> core show help
Pentru a ieși din promptul Asterisk, tastați pur și simplu:
asterisk*CLI> exit
Asterisk va rula în continuare în fundal.
Concluzie
Acum aveți un server Asterisk care rulează și puteți începe să conectați telefoane și extensii și să vă ajustați configurația în funcție de nevoile dvs. Pentru mai multe detalii despre cum să realizați acest lucru, vă recomandăm să utilizați pagina Asterisk Wiki. Dacă aveți întrebări sau comentarii, vă rugăm să ne spuneți în secțiunea de comentarii de mai jos.