Tärnide installimine CentOS/RHEL 8/7-le


Tärn on avatud lähtekoodiga raamistik, mida kasutatakse kommunikatsioonirakenduste loomiseks. Selle abil saate kohaliku arvuti või serveri pöörduda sideserveri poole. Seda kasutatakse IP PBX-süsteemide, VoIP-lüüside, konverentsiserverite ja muude lahenduste toiteks. Seda kasutavad kõikvõimalikud organisatsioonid kogu maailmas ja lõpuks, kuid mitte viimasena, see on tasuta ja avatud lähtekoodiga.

Selles õpetuses näitame teile, kuidas Asterisk CentOS 8/7 installida (juhised töötavad ka RHEL 8/7), kuid enne alustamist peame tegema mõned ettevalmistused, et Asterisk saaks pärast installimist tõrgeteta töötada .

1. samm: keelake CentOS-is SELinux

Selleks avage SSH oma süsteemis ja kasutades oma lemmik käsurea tekstiredaktorit, avage/etc/selinux/config ja keelake SELINUX.

# vim /etc/selinux/config

SELinuksi rida peaks välja nägema selline:

SELINUX=disabled

Nüüd taaskäivitage süsteem. Kui see on SSH-i uuesti selle süsteemi juurde tagasi tulnud.

2. samm: installige vajalikud paketid

Tärnil on üsna palju nõudeid, mis tuleb installida. Nõutavate pakettide installimiseks, nagu näidatud, saate kasutada järgmist käsku yum.

# 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

Enne kui jätkame, loome uue sudoõigustega kasutaja nimega „tärn“, kasutame seda kasutajat süsteemis tärnide seadistamiseks.

# adduser asterisk -c "Asterisk User"
# passwd asterisk 
# usermod -aG wheel asterisk
# su asterisk

Järgmisena installige PJSIP, see on tasuta avatud lähtekoodiga multimeediumide teek, mis rakendab standardseid protokolle nagu SIP, SDP, RTP, STUN, TURN ja ICE. Kõnede selgust peaks parandama Asteriski SIP-kanalidraiver.

Uusima versiooni saamiseks looge kõigepealt ajutine kataloog, kuhu ehitame paketi allikast.

$ mkdir ~/build && cd ~/build

Nüüd minge paketi otse terminali allalaadimiseks käsule wget.

Pange tähele, et selle artikli kirjutamisel on uusim versioon 2.8, mis võib tulevikus muutuda, seega kasutage kindlasti uusimat versiooni:

$ wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2

Kui allalaadimine on lõppenud, ekstrakteerige fail ja minge sellesse kataloogi.

$ tar xvjf pjproject-2.9.tar.bz2
$ cd pjproject-2.9

Järgmine samm on koostatava paketi ettevalmistamine. Võite kasutada järgmist käsku:

$ ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr

Te ei tohiks näha vigu ega hoiatusi. Veenduge, et kõik sõltuvused oleksid täidetud:

$ make dep

Nüüd saame teekide installimise ja linkimise lõpule viia järgmisega:

$ make && sudo make install && sudo ldconfig

Lõpuks veenduge, et kõik teegid on installitud ja olemas:

$ ldconfig -p | grep pj

Peaksite saama järgmise väljundi:

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

3. samm: installige tärn CentOS 8/7-le

Nüüd oleme valmis alustama Asteriski installimist. Liikuge tagasi meie ~/buildi kataloogi:

$ cd ~/build

Faili terminalis allalaadimiseks minge käsule wget.

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

Selle õpetuse kirjutamise järgi on Asteriski uusim versioon 16. Veenduge, et laadiksite samme järgides alla Asteriski uusima versiooni.

Nüüd eraldage arhiiv ja navigeerige vastloodud kataloogi:

$ tar -zxvf asterisk-16-current.tar.gz
$ cd asterisk-16.5.1

See on aeg mainida, et kui soovite lubada mp3-toe muusika esitamiseks kliendi ootel, peate installima veel mõned sõltuvused. Need toimingud on valikulised:

$ sudo yum install svn
$ sudo ./contrib/scripts/get_mp3_source.sh

Pärast teist sammu peaksite saama sarnase väljundi:

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.

Alustage paketi kompileerimiseks ettevalmistamise skripti käivitamisega:

$ sudo contrib/scripts/install_prereq install
$ ./configure --libdir=/usr/lib64 --with-jansson-bundled

Kui saate installimiseks puuduvaid sõltuvusi. Minu puhul sain järgmise tõrke:

configure: error: patch is required to configure bundled pjproject

Selle läbimiseks lihtsalt joosta:

# yum install patch 

Ja käivitage uuesti konfigureerimisskript. Kui kõik sujus ilma tõrgeteta, näete järgmist ekraanipilti.

Alustame koostamisprotsessi:

$ make menuselect

Mõne sekundi pärast peaksite saama funktsioonide loendi, et lubada:

Kui proovite kasutada ootel muusika funktsiooni, peate lubama jaotises „Lisandmoodulid” funktsiooni\”format_mp3”. Salvestage loend ja käivitage järgmine käsk:

$ make && sudo make install

Konfiguratsiooni näidisfailide installimiseks kasutage allolevat käsku:

$ sudo make samples

Tärni käivitamiseks käivitamisel kasutage järgmist:

$ sudo make config

Järgmiste kataloogide ja failide omandilise kuuluvuse värskendamine:

$ sudo chown asterisk. /var/run/asterisk
$ sudo chown asterisk. -R /etc/asterisk
$ sudo chown asterisk. -R /var/{lib,log,spool}/asterisk

Lõpuks proovime oma installimist:

$ sudo service asterisk start
$ sudo asterisk -rvv

Peaksite nägema sarnast väljundit:

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>

Kui soovite näha saadaolevate käskude loendit, tehke järgmist.

asterisk*CLI> core show help

Tärniväliselt viipest väljumiseks tippige lihtsalt:

asterisk*CLI> exit

Tärn töötab endiselt taustal.

Nüüd on teil töötav Asteriski server ja võite hakata ühendama telefone ja laiendusi ning kohandada konfiguratsiooni vastavalt oma vajadustele. Lisateabe saamiseks selle saavutamiseks on soovitatav kasutada lehte Asterisk Wiki. Kui teil on küsimusi või kommentaare, palun andke meile sellest teada allpool olevas kommentaaride jaotises.