Asterisk-i CentOS/RHEL 8/7-de nädip gurmaly


“Asterisk” aragatnaşyk programmalaryny gurmak üçin ulanylýan açyk çeşme çarçuwasydyr. Computerli kompýuter ýa-da serweri aragatnaşyk serwerine öwürmek üçin ulanyp bilersiňiz. IP PBX ulgamlaryny, VoIP şlýuzalaryny, konferensiýa serwerlerini we beýleki çözgütleri güýçlendirmek üçin ulanylýar. Dünýädäki ähli guramalar tarapyndan ulanylýar we ahyrsoňy mugt we açyk çeşme.

Bu gollanmada, Asterisk-i CentOS 8/7-de nädip gurmalydygyny görkezmekçi (görkezmeler RHEL 8/7-de hem işleýär), ýöne başlamazdan ozal, Asterisk gurlandan soň oňat işlemegi üçin käbir taýýarlyk görmeli bolarys. .

1-nji ädim: CentOS-da SELinux-y öçüriň

Munuň üçin ulgamyňyza SSH we halaýan buýruk setiriniň tekst redaktoryny ulanyp,/etc/selinux/config açyň we SELINUX-y öçüriň.

# vim /etc/selinux/config

SELinux setiri şeýle bolmaly:

SELINUX=disabled

Indi ulgamyňyzy täzeden açyň. SSH ýene-de şol ulgama gaýdyp gelýär.

2-nji ädim: Gerekli paketleri guruň

“Asterisk” -iň gurulmaly birnäçe talaplary bar. Görkezilişi ýaly zerur paketleri gurmak üçin aşakdaky yum buýrugyny ulanyp bilersiňiz.

# 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

Has dowam etmezden ozal, “ýyldyz ýyldyzy” diýlip atlandyrylýan sudo aýratynlyklary bolan täze ulanyjy dörediň, bu ulanyjyny ulgamda ýyldyz belgisini gurmak üçin ulanarys.

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

Ondan soň, PJSIP guruň, SIP, SDP, RTP, STUN, TURN we ICE ýaly standart esasly protokollary ýerine ýetirýän mugt açyk çeşme multimediýa aragatnaşyk kitaphanasy. Çagyryşlaryň aýdyňlygyny ýokarlandyrmaly “Asterisk SIP” kanalynyň sürüjisi.

Iň soňky wersiýasyny almak üçin ilki bilen bukjany çeşmeden gurjak wagtlaýyn katalog döredeliň.

$ mkdir ~/build && cd ~/build

Indi bukjany göni terminalda göçürip almak üçin wget buýrugyna geçiň.

Bu makalanyň ýazylmagy bilen iň soňky wersiýanyň 2,8 bolandygyny ýatdan çykarmaň, geljekde bu üýtgäp biler, şeýlelik bilen iň soňky wersiýany ulanmagy unutmaň:

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

Göçürip alanyňyzdan soň faýly çykaryň we şol kataloga üýtgediň.

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

Indiki ädim, bukjany düzmeli. Aşakdaky buýrugy ulanyp bilersiňiz:

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

Hiç hili ýalňyşlygy ýa-da duýduryşy görmeli däl. Dependhli baglylyklaryň ýerine ýetirilendigine göz ýetiriň:

$ make dep

Indi bolsa gurnamagy tamamlap, kitaphanalary baglanyşdyryp bileris:

$ make && sudo make install && sudo ldconfig

Ahyrynda, ähli kitaphanalaryň gurnalandygyna we barlygyna göz ýetiriň:

$ ldconfig -p | grep pj

Aşakdaky çykyşy almaly:

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-nji ädim: Asterisk-i CentOS 8/7-de guruň

Indi “Asterisk” -i gurnamaga başlamaga taýýar. ~/Gurmak katalogymyza gaýdyp bar:

$ cd ~/build

Faýly terminalda göçürip almak üçin wget buýrugyna geçiň.

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

Bu gollanmanyň ýazylmagy bilen, iň soňky Asterisk wersiýasy 16-dyr. Stepsdimleri ýerine ýetireniňizde Asterisk-iň iň soňky wersiýasyny göçürip alýandygyňyza göz ýetiriň.

Indi arhiwi çykaryň we täze döredilen kataloga geçiň:

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

Bu, bellemeli wagt, müşderi garaşýan mahaly aýdym-saz çalmak üçin mp3 goldawyny işletmek isleseňiz, ýene birnäçe garaşlylygy gurmaly bolarsyňyz. Bu ädimler islege bagly:

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

Ikinji ädimden soň, şuňa meňzeş çykyşlary almaly:

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.

Bukjany düzmek üçin taýýarlamak üçin konfigurasiýa skriptini işledip başlaň:

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

Olary gurmak üçin haýsydyr bir garaşlylygy alsaňyz. Meniň ýagdaýymda, aşakdaky ýalňyşlygy aldym:

configure: error: patch is required to configure bundled pjproject

Muny aýlamak üçin ýönekeý ylga:

# yum install patch 

Sazlama skriptini täzeden işlediň. Allhli ýalňyşlyklar bolmazdan ajaýyp giden bolsa, aşakdaky skrinshoty görersiňiz.

Indi, gurluşyk işine başlalyň:

$ make menuselect

Birnäçe sekuntdan soň, işletmek üçin aýratynlyklaryň sanawyny almaly:

Aýdym-saz aýratynlygynda saz ulanjak bolsaňyz,\Goşmaçalar bölüminden\format_mp3 aýratynlygyny açmaly bolarsyňyz. Sanawyňyzy ýazdyryň we aşakdaky buýrugy işlediň:

$ make && sudo make install

Mysal konfigurasiýa faýllaryny gurmak üçin aşakdaky buýrugy ulanyň:

$ sudo make samples

“Asterisk” -i açmak üçin başlaň:

$ sudo make config

Aşakdaky kataloglaryň we faýllaryň eýeçiligini täzeläň:

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

Ahyrynda, gurnamagy synap göreliň:

$ sudo service asterisk start
$ sudo asterisk -rvv

Şuňa meňzeş çykyşy görmeli:

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>

Bar bolan buýruklaryň sanawyny görmek isleseňiz:

asterisk*CLI> core show help

“Asterisk” haýyşyndan çykmak üçin ýönekeý ýazyň:

asterisk*CLI> exit

“Asterisk” henizem fonda işleýär.

Indi işleýän “Asterisk” serweriňiz bar we telefonlary we giňeltmeleri birikdirip başlap, islegleriňize görä konfigurasiýaňyzy sazlap bilersiňiz. Muňa nädip ýetip boljakdygy barada has giňişleýin maglumat üçin “Asterisk Wiki” sahypasyny ulanmak maslahat berilýär. Soraglaryňyz ýa-da teswirleriňiz bar bolsa, aşakdaky teswir bölüminde bize habar bermegiňizi haýyş edýäris.