Zoeken op website

Hoe Asterisk op CentOS/RHEL 8/7 te installeren


Asterisk is een open-sourceframework dat wordt gebruikt voor het bouwen van communicatietoepassingen. U kunt het gebruiken om van een lokale computer of server een communicatieserver te maken. Het wordt gebruikt om IP PBX-systemen, VoIP-gateways, conferentieservers en andere oplossingen van stroom te voorzien. Het wordt door allerlei organisaties over de hele wereld gebruikt en tot slot, maar niet als laatste, is het gratis en open source.

In deze tutorial laten we zien hoe je Asterisk installeert op CentOS 8/7 (de instructies werken ook op RHEL 8/7) , maar voordat we beginnen, moeten we enkele voorbereidingen treffen, zodat Asterisk na de installatie soepel kan werken.

Stap 1: Schakel SELinux uit op CentOS

Om dit te doen, SSH naar uw systeem en gebruik uw favoriete opdrachtregelteksteditor, open /etc/selinux/config en schakel SELINUX uit.

vim /etc/selinux/config

De SELinux-regel zou er als volgt uit moeten zien:

SELINUX=disabled

Start nu uw systeem opnieuw op. Zodra het SSH weer terugkomt naar dat systeem.

Stap 2: Installeer de vereiste pakketten

Asterisk heeft nogal wat vereisten die moeten worden geïnstalleerd. Je kunt de volgende yum-opdracht gebruiken om de vereiste pakketten te installeren, zoals weergegeven.

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

Voordat we verder gaan, maakt u een nieuwe gebruiker aan met sudo-rechten genaamd “asterisk“. We zullen deze gebruiker gebruiken om asterisk op het systeem in te stellen.

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

Installeer vervolgens PJSIP, een gratis open source multimediacommunicatiebibliotheek die op standaarden gebaseerde protocollen implementeert, zoals SIP,SDP,RTP,STUN,TURN en ICE. Het is de Asterisk SIP kanaaldriver die de helderheid van de gesprekken zou moeten verbeteren.

Om de nieuwste versie te krijgen, maken we eerst een tijdelijke map aan waarin we het pakket vanaf de broncode gaan bouwen.

mkdir ~/build && cd ~/build

Ga nu naar de PJSIP-downloadpagina en pak het pakket of gebruik de volgende wget-opdracht om het pakket rechtstreeks in de terminal te downloaden.

Houd er rekening mee dat op het moment dat dit artikel werd geschreven de nieuwste versie 2.8 is. Dit kan in de toekomst veranderen, zorg er dus voor dat u de nieuwste versie gebruikt:

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

Zodra het downloaden is voltooid, pakt u het bestand uit en gaat u naar die map.

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

De volgende stap is het voorbereiden van het te compileren pakket. U kunt de volgende opdracht gebruiken:

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

U zou geen fouten of waarschuwingen moeten zien. Zorg ervoor dat aan alle afhankelijkheden wordt voldaan:

make dep

En nu kunnen we de installatie- en koppelingsbibliotheken voltooien met:

make && sudo make install && sudo ldconfig

Zorg er ten slotte voor dat alle bibliotheken zijn geïnstalleerd en aanwezig zijn:

ldconfig -p | grep pj

U zou de volgende uitvoer moeten krijgen:

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

Stap 3: Installeer Asterisk op CentOS 8/7

We zijn nu klaar om de installatie van Asterisk te starten. Navigeer terug naar onze map ~/build:

cd ~/build

Ga naar de Asterisk-downloadpagina en pak de nieuwste versie, of u kunt de volgende wget-opdracht gebruiken om het bestand in de terminal te downloaden.

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

Op het moment dat deze tutorial werd geschreven, was de nieuwste Asterisk-versie 16. Zorg ervoor dat u de nieuwste versie van Asterisk downloadt wanneer u de stappen volgt.

Pak nu het archief uit en navigeer naar de nieuw gemaakte map:

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

Dit is het moment om te vermelden dat als je mp3-ondersteuning wilt inschakelen om muziek af te spelen terwijl de client in de wacht staat, je nog een paar afhankelijkheden moet installeren. Deze stappen zijn optioneel:

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

Na de tweede stap zou u een uitvoer moeten krijgen die er ongeveer zo uitziet:

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.

Begin met het uitvoeren van het configuratiescript om het pakket voor te bereiden op het compileren:

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

Als u ontbrekende afhankelijkheden krijgt, moet u deze installeren. In mijn geval kreeg ik de volgende foutmelding:

configure: error: patch is required to configure bundled pjproject

Om dit te omzeilen, voert u eenvoudigweg het volgende uit:

yum install patch 

En voer het configuratiescript opnieuw uit. Als alles perfect en zonder fouten is verlopen, ziet u de volgende schermafbeelding.

Laten we nu het bouwproces starten:

make menuselect

Na een paar seconden zou u een lijst met functies moeten krijgen die u kunt inschakelen:

Als u de functie voor wachtmuziek probeert te gebruiken, moet u de functie 'format_mp3' inschakelen in het gedeelte 'Add-ons'. Sla uw lijst op en voer de volgende opdracht uit:

make && sudo make install

Gebruik de onderstaande opdracht om de voorbeeldconfiguratiebestanden te installeren:

sudo make samples

Om Asterisk tijdens het opstarten te starten, gebruikt u:

sudo make config

Update het eigendom van de volgende mappen en bestanden:

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

Laten we tot slot onze installatie testen met:

sudo service asterisk start
sudo asterisk -rvv

Je zou een uitvoer moeten zien die vergelijkbaar is met deze:

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>

Als u een lijst met beschikbare opdrachten wilt zien, typt u:

asterisk*CLI> core show help

Om de Asterisk-prompt te verlaten, typt u eenvoudigweg:

asterisk*CLI> exit

Asterisk zal nog steeds op de achtergrond actief zijn.

Conclusie

Nu heeft u een actieve Asterisk-server en kunt u beginnen met het verbinden van telefoons en extensies en uw configuratie aanpassen aan uw behoeften. Voor meer informatie over hoe u dit kunt bereiken, wordt aanbevolen om de Asterisk Wiki-pagina te gebruiken. Als u vragen of opmerkingen heeft, kunt u ons dit laten weten in het opmerkingengedeelte hieronder.