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.