Asteriskin asentaminen CentOS/RHEL 8/7 -sovellukseen


Asterisk on avoimen lähdekoodin kehys, jota käytetään viestintäsovellusten rakentamiseen. Voit käyttää sitä paikallisen tietokoneen tai palvelimen kääntämiseen viestintäpalvelimeen. Sitä käytetään IP PBX -järjestelmien, VoIP-yhdyskäytävien, neuvottelupalvelimien ja muiden ratkaisujen virtalähteeseen. Sitä käyttävät kaikenlaiset organisaatiot kaikkialla maailmassa ja lopuksi, mutta ei viimeisenä, se on ilmainen ja avoimen lähdekoodin.

Tässä opetusohjelmassa näytämme sinulle, kuinka Asterisk asennetaan CentOS 8/7: een (ohjeet toimivat myös RHEL 8/7: ssä), mutta ennen kuin aloitamme, meidän on tehtävä joitain valmistelut, jotta Asterisk voi toimia sujuvasti asennuksen jälkeen .

Vaihe 1: Poista SELinux käytöstä CentOSista

Voit tehdä tämän avaamalla SSH järjestelmällesi ja käyttämällä suosikkikomentorivin tekstieditoria/etc/selinux/config ja poistamalla SELINUX käytöstä.

# vim /etc/selinux/config

SELinux-linjan pitäisi näyttää tältä:

SELINUX=disabled

Käynnistä järjestelmä uudelleen. Kun se palaa SSH: n takaisin järjestelmään.

Vaihe 2: Asenna vaaditut paketit

Asteriskilla on melko vähän vaatimuksia, jotka on asennettava. Voit asentaa tarvittavat paketit seuraavalla yum-komennolla kuvan osoittamalla tavalla.

# 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

Ennen kuin jatkat, luot uuden käyttäjän, jolla on sudo-oikeudet, nimeltään "tähti", käytämme tätä käyttäjää järjestelmän tähtiä varten.

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

Seuraavaksi asenna PJSIP, on ilmainen avoimen lähdekoodin multimediaviestikirjasto, joka toteuttaa vakiopohjaisia protokollia, kuten SIP, SDP, RTP, STUN, TURN ja ICE. Asterisk SIP -kanavaohjaimen pitäisi parantaa puheluiden selkeyttä.

Uusimman version saamiseksi luodaan ensin väliaikainen hakemisto, johon rakennamme paketin lähteestä.

$ mkdir ~/build && cd ~/build

Lataa paketti suoraan päätelaitteeseen menemällä wget-komennolle.

Huomaa, että kirjoittamalla tämän artikkelin uusin versio on 2.8, se voi muuttua tulevaisuudessa, joten muista käyttää uusinta versiota:

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

Kun lataus on valmis, pura tiedosto ja vaihda siihen hakemistoon.

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

Seuraava vaihe on koottavan paketin valmistelu. Voit käyttää seuraavaa komentoa:

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

Sinun ei pitäisi nähdä virheitä tai varoituksia. Varmista, että kaikki riippuvuudet täyttyvät:

$ make dep

Ja nyt voimme suorittaa asennuksen ja linkittää kirjastot seuraavilla tavoilla:

$ make && sudo make install && sudo ldconfig

Varmista lopuksi, että kaikki kirjastot on asennettu ja läsnä:

$ ldconfig -p | grep pj

Sinun pitäisi saada seuraava tulos:

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

Vaihe 3: Asenna Asterisk CentOS 8/7: een

Olemme nyt valmiita aloittamaan Asteriskin asennuksen. Siirry takaisin ~/build-hakemistoon:

$ cd ~/build

Lataa tiedosto terminaalista siirtymällä wget-komentoon.

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

Kirjoittamalla tämän opetusohjelman uusin Asterisk-versio on 16. Varmista, että lataat Asteriskin uusimman version, kun noudatat ohjeita.

Pura nyt arkisto ja siirry äskettäin luotuun hakemistoon:

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

Tässä on aika mainita, että jos haluat ottaa mp3-tuen käyttöön musiikin toistamiseen, kun asiakas on pidossa, sinun on asennettava vielä muutama riippuvuus. Nämä vaiheet ovat valinnaisia:

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

Toisen vaiheen jälkeen sinun pitäisi saada samanlainen tuotos:

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.

Aloita suorittamalla määrityskomento paketin valmistelemiseksi kääntämistä varten:

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

Jos saat puuttuvia riippuvuuksia asentaa ne. Minun tapauksessani sain seuraavan virheen:

configure: error: patch is required to configure bundled pjproject

Voit kiertää tämän yksinkertaisesti juoksemalla:

# yum install patch 

Suorita konfigurointikomento uudelleen. Jos kaikki sujui täydellisesti ilman virheitä, näet seuraavan kuvakaappauksen.

Aloitetaan nyt rakennusprosessi:

$ make menuselect

Muutaman sekunnin kuluttua sinun pitäisi saada luettelo ominaisuuksista, jotka mahdollistavat:

Jos yrität käyttää pidossa olevan musiikin ominaisuutta, sinun on otettava käyttöön\"format_mp3" -ominaisuus\"Lisäosat" -osiossa. Tallenna luettelo ja suorita seuraava komento:

$ make && sudo make install

Asenna esimerkkiasetustiedostot seuraavalla komennolla:

$ sudo make samples

Käynnistä Asterisk käynnistettäessä:

$ sudo make config

Päivitä seuraavien hakemistojen ja tiedostojen omistajuus:

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

Testaa lopuksi asennuksemme:

$ sudo service asterisk start
$ sudo asterisk -rvv

Sinun pitäisi nähdä samanlainen lähtö kuin tämä:

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>

Jos haluat nähdä luettelon käytettävissä olevista komentotyypeistä:

asterisk*CLI> core show help

Poistu Asterisk-kehotteesta kirjoittamalla:

asterisk*CLI> exit

Tähti on edelleen käynnissä taustalla.

Nyt sinulla on käynnissä oleva Asterisk-palvelin, ja voit aloittaa puhelimien ja laajennusten yhdistämisen ja säätää kokoonpanoa tarpeidesi mukaan. Lisätietoja tämän saavuttamisesta on suositeltavaa käyttää Asterisk Wiki -sivulla. Jos sinulla on kysyttävää tai kommentteja, ilmoita siitä meille alla olevassa kommenttiosassa.