Kako instalirati Asterisk na CentOS/RHEL 8/7
Asterisk je okvir otvorenog koda koji se koristi za izgradnju komunikacijskih aplikacija. Možete ga koristiti za pretvaranje lokalnog računala ili poslužitelja u komunikacijski poslužitelj. Koristi se za napajanje IP PBX sustava, VoIP pristupnika, konferencijskih poslužitelja i drugih rješenja. Koriste ga sve vrste organizacija diljem svijeta i konačno, ali ne i posljednje, besplatan je i otvorenog koda.
U ovom vodiču ćemo vam pokazati kako instalirati Asterisk na CentOS 8/7 (upute također rade na RHEL 8/7) , ali prije nego što počnemo, morat ćemo napraviti neke pripreme kako bi Asterisk mogao glatko raditi nakon instalacije.
Korak 1: Onemogućite SELinux na CentOS-u
Da biste to učinili, SSH do vašeg sustava i koristeći svoj omiljeni uređivač teksta naredbenog retka otvorite /etc/selinux/config i onemogućite SELINUX.
vim /etc/selinux/config
SELinux linija bi trebala izgledati ovako:
SELINUX=disabled
Sada ponovno pokrenite sustav. Nakon što se vrati SSH ponovno na taj sustav.
Korak 2: Instalirajte potrebne pakete
Asterisk ima dosta zahtjeva koje je potrebno instalirati. Možete koristiti sljedeću naredbu yum za instaliranje potrebnih paketa kao što je prikazano.
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
Prije nego nastavimo dalje, stvorite novog korisnika sa sudo privilegijama pod nazivom “zvjezdica“, koristit ćemo ovog korisnika za postavljanje zvjezdice na sustav.
adduser asterisk -c "Asterisk User"
passwd asterisk
usermod -aG wheel asterisk
su asterisk
Zatim instalirajte PJSIP, besplatnu multimedijsku komunikacijsku biblioteku otvorenog koda koja implementira standardne protokole kao što su SIP, SDP, RTP, STUN, TURN i ICE. Upravljački program kanala Asterisk SIP trebao bi poboljšati jasnoću poziva.
Da biste dobili najnoviju verziju, prvo stvorimo privremeni direktorij u kojem ćemo izgraditi paket iz izvora.
mkdir ~/build && cd ~/build
Sada idite na PJSIP stranicu za preuzimanje i zgrabite paket ili upotrijebite sljedeću naredbu wget za preuzimanje paketa izravno u terminalu.
Imajte na umu da je do pisanja ovog članka najnovija verzija 2.8, to bi se moglo promijeniti u budućnosti, stoga svakako koristite najnoviju verziju:
wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2
Nakon što je preuzimanje završeno, izdvojite datoteku i prijeđite u taj direktorij.
tar xvjf pjproject-2.9.tar.bz2
cd pjproject-2.9
Sljedeći korak je priprema paketa za sastavljanje. Možete koristiti sljedeću naredbu:
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
Ne biste trebali vidjeti nikakve pogreške ili upozorenja. Provjerite jesu li zadovoljene sve ovisnosti:
make dep
Sada možemo dovršiti instalaciju i povezati biblioteke s:
make && sudo make install && sudo ldconfig
Na kraju, provjerite jesu li sve biblioteke instalirane i prisutne:
ldconfig -p | grep pj
Trebali biste dobiti sljedeći izlaz:
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
Korak 3: Instalirajte Asterisk na CentOS 8/7
Sada smo spremni pokrenuti instalaciju Asterisk-a. Vratite se na naš ~/build direktorij:
cd ~/build
Idite na stranicu za preuzimanje Asterisk i preuzmite najnoviju verziju ili možete koristiti sljedeću naredbu wget za preuzimanje datoteke u terminalu.
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Do pisanja ovog vodiča, najnovija verzija Asterisk-a je 16. Provjerite preuzimate li najnoviju verziju programa Asterisk kada slijedite korake.
Sada izdvojite arhivu i idite do novostvorenog direktorija:
tar -zxvf asterisk-16-current.tar.gz
cd asterisk-16.5.1
Ovo je trenutak da spomenemo da ako želite omogućiti mp3 podršku za reprodukciju glazbe dok je klijent na čekanju, morat ćete instalirati još nekoliko ovisnosti. Ovi koraci nisu obavezni:
sudo yum install svn
sudo ./contrib/scripts/get_mp3_source.sh
Nakon drugog koraka, trebali biste dobiti izlaz sličan ovom:
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.
Započnite pokretanjem konfiguracijske skripte za pripremu paketa za kompajliranje:
sudo contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64 --with-jansson-bundled
Ako vam nedostaju ovisnosti da ih instalirate. U mom slučaju, dobio sam sljedeću grešku:
configure: error: patch is required to configure bundled pjproject
Da biste to obišli, jednostavno pokrenite:
yum install patch
I ponovno pokrenite skriptu za konfiguriranje. Ako je sve prošlo savršeno bez grešaka, vidjet ćete sljedeću snimku zaslona.
Sada započnimo proces izgradnje:
make menuselect
Nakon nekoliko sekundi trebali biste dobiti popis značajki koje treba omogućiti:
Ako pokušate koristiti značajku glazbe na čekanju, morat ćete omogućiti značajku “format_mp3” iz odjeljka “Dodaci”. Spremite svoj popis i pokrenite sljedeću naredbu:
make && sudo make install
Da biste instalirali ogledne konfiguracijske datoteke, koristite naredbu ispod:
sudo make samples
Za pokretanje Asterisk pri dizanju, koristite:
sudo make config
Ažurirajte vlasništvo nad sljedećim direktorijima i datotekama:
sudo chown asterisk. /var/run/asterisk
sudo chown asterisk. -R /etc/asterisk
sudo chown asterisk. -R /var/{lib,log,spool}/asterisk
Konačno, testirajmo našu instalaciju pomoću:
sudo service asterisk start
sudo asterisk -rvv
Trebali biste vidjeti izlaz sličan ovom:
Asterisk 16.5.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.
=========================================================================
Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020)
centos8-tecmint*CLI>
Ako želite vidjeti popis dostupnih naredbi upišite:
asterisk*CLI> core show help
Da biste izašli iz odzivnika Asterisk, jednostavno upišite:
asterisk*CLI> exit
Asterisk će i dalje raditi u pozadini.
Zaključak
Sada imate Asterisk poslužitelj koji radi i možete početi povezivati telefone i ekstenzije i prilagoditi svoju konfiguraciju svojim potrebama. Za više detalja o tome kako to postići, preporučuje se korištenje Wiki stranice Asterisk. Ako imate pitanja ili komentara, javite nam u odjeljku za komentare u nastavku.