Kaip įdiegti „Asterisk“ „CentOS/RHEL 8/7“.


Žvaigždutė yra atvirojo kodo sistema, naudojama komunikacijos programoms kurti. Jį galite naudoti norėdami paversti vietinį kompiuterį ar serverį ryšių serveriu. Jis naudojamas IP PBX sistemoms, VoIP šliuzams, konferencijų serveriams ir kitiems sprendimams maitinti. Jį naudoja visos organizacijos visame pasaulyje ir galiausiai, bet ne paskutinis, jis yra nemokamas ir atviro kodo.

Šioje mokymo programoje parodysime, kaip įdiegti Asterisk CentOS 8/7 (instrukcijos taip pat veikia ir RHEL 8/7) , tačiau prieš pradėdami turėsime šiek tiek pasiruošti, kad įdiegus Žvaigždutė veiktų sklandžiai.

1 veiksmas: išjunkite „SELinux“ „CentOS“.

Norėdami tai padaryti, SSH į savo sistemą ir naudodami mėgstamą komandų eilutės teksto rengyklę atidarykite /etc/selinux/config ir išjunkite SELINUX.

vim /etc/selinux/config

SELinux eilutė turėtų atrodyti taip:

SELINUX=disabled

Dabar iš naujo paleiskite sistemą. Kai SSH vėl grįš į tą sistemą.

2 veiksmas: įdiekite reikiamus paketus

Žvaigždutė turi keletą reikalavimų, kuriuos reikia įdiegti. Norėdami įdiegti reikiamus paketus, kaip parodyta, galite naudoti šią yum komandą.

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

Prieš tęsdami toliau, sukurkite naują vartotoją su sudo privilegijomis pavadinimu „žvaigždute“, šį naudotoją naudosime sistemoje žvaigždutei nustatyti.

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

Tada įdiekite PJSIP – tai nemokama atvirojo kodo daugialypės terpės komunikacijos biblioteka, kuri įgyvendina standartinius protokolus, tokius kaip SIP, SDP, RTP, STUN, TURN ir ICE. Būtent Asterisk SIP kanalo tvarkyklė turėtų pagerinti skambučių aiškumą.

Norėdami gauti naujausią versiją, pirmiausia sukurkime laikiną katalogą, kuriame sukursime paketą iš šaltinio.

mkdir ~/build && cd ~/build

Dabar eikite į PJSIP atsisiuntimo puslapį ir paimkite paketą arba naudokite šią wget komandą, kad atsisiųstumėte paketą tiesiai į terminalą.

Atminkite, kad rašant šį straipsnį naujausia versija yra 2.8, ji ateityje gali pasikeisti, todėl būtinai naudokite naujausią versiją:

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

Kai atsisiuntimas bus baigtas, ištraukite failą ir pakeiskite jį į tą katalogą.

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

Kitas žingsnis yra paruošti rinkinį. Galite naudoti šią komandą:

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

Neturėtumėte matyti jokių klaidų ar įspėjimų. Įsitikinkite, kad įvykdytos visos priklausomybės:

make dep

Dabar galime baigti diegti ir susieti bibliotekas naudodami:

make && sudo make install && sudo ldconfig

Galiausiai įsitikinkite, kad visos bibliotekos yra įdiegtos ir pateiktos:

ldconfig -p | grep pj

Turėtumėte gauti šią išvestį:

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 veiksmas: įdiekite „Asterisk“ „CentOS 8/7“.

Dabar esame pasirengę pradėti Asterisk diegimą. Grįžkite į mūsų katalogą ~/build:

cd ~/build

Eikite į „Asterisk“ atsisiuntimo puslapį ir paimkite naujausią versiją arba galite naudoti šią wget komandą, kad atsisiųstumėte failą terminale.

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

Pagal šią mokymo programą naujausia Asterisk versija yra 16. Įsitikinkite, kad atsisiunčiate naujausią „Asterisk“ versiją, kai atliekate veiksmus.

Dabar ištraukite archyvą ir eikite į naujai sukurtą katalogą:

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

Atėjo laikas paminėti, kad jei norite įjungti mp3 palaikymą, kad būtų galima leisti muziką, kai klientas yra sulaikytas, turėsite įdiegti dar keletą priklausomybių. Šie veiksmai yra neprivalomi:

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

Po antrojo veiksmo turėtumėte gauti panašią išvestį:

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.

Pradėkite paleisdami konfigūravimo scenarijų, kad paruoštumėte paketą kompiliavimui:

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

Jei turite kokių nors trūkstamų priklausomybių, kad galėtumėte jas įdiegti. Mano atveju gavau šią klaidą:

configure: error: patch is required to configure bundled pjproject

Norėdami tai apeiti, tiesiog paleiskite:

yum install patch 

Ir iš naujo paleiskite konfigūravimo scenarijų. Jei viskas vyko puikiai be klaidų, pamatysite šią ekrano kopiją.

Dabar pradėkime kūrimo procesą:

make menuselect

Po kelių sekundžių turėtumėte gauti funkcijų, kurias norite įjungti, sąrašą:

Jei bandysite naudoti muzikos sulaikymo funkciją, turėsite įjungti funkciją „format_mp3“ skiltyje „Priedai“. Išsaugokite sąrašą ir paleiskite šią komandą:

make && sudo make install

Norėdami įdiegti pavyzdinius konfigūracijos failus, naudokite toliau pateiktą komandą:

sudo make samples

Norėdami paleisti Asterisk įkrovos metu, naudokite:

sudo make config

Atnaujinkite šių katalogų ir failų nuosavybės teises:

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

Galiausiai išbandykime savo diegimą su:

sudo service asterisk start
sudo asterisk -rvv

Turėtumėte pamatyti išvestį, panašią į šią:

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>

Jei norite pamatyti galimų komandų sąrašą, įveskite:

asterisk*CLI> core show help

Norėdami išeiti iš Asterisk raginimo, tiesiog įveskite:

asterisk*CLI> exit

Žvaigždutė vis tiek veiks fone.

Išvada

Dabar turite veikiantį Žvaigždutės serverį ir galite pradėti jungti telefonus bei plėtinius ir koreguoti konfigūraciją pagal savo poreikius. Norėdami gauti daugiau informacijos, kaip tai pasiekti, rekomenduojama naudoti Asterisk Wiki puslapį. Jei turite klausimų ar komentarų, praneškite mums toliau pateiktame komentarų skyriuje.