Website-Suche

So installieren Sie Asterisk unter CentOS/RHEL 8/7


Asterisk ist ein Open-Source-Framework zum Erstellen von Kommunikationsanwendungen. Sie können damit einen lokalen Computer oder Server zum Kommunikationsserver machen. Es wird zur Stromversorgung von IP-PBX-Systemen, VoIP-Gateways, Konferenzservern und anderen Lösungen verwendet. Es wird von allen Arten von Organisationen weltweit verwendet und ist nicht zuletzt kostenlos und Open Source.

In diesem Tutorial zeigen wir Ihnen, wie Sie Asterisk unter CentOS 8/7 installieren (Anleitung funktioniert auch unter RHEL 8/7) , aber bevor wir beginnen, müssen wir einige Vorbereitungen treffen, damit Asterisk nach der Installation reibungslos laufen kann.

Schritt 1: Deaktivieren Sie SELinux unter CentOS

Stellen Sie dazu eine SSH-Verbindung zu Ihrem System her und öffnen Sie mit Ihrem bevorzugten Befehlszeilen-Texteditor /etc/selinux/config und deaktivieren Sie SELINUX.

vim /etc/selinux/config

Die SELinux-Zeile sollte so aussehen:

SELINUX=disabled

Starten Sie nun Ihr System neu. Sobald es wieder zu diesem System kommt, SSH erneut.

Schritt 2: Erforderliche Pakete installieren

Für Asterisk gelten einige Voraussetzungen, die installiert werden müssen. Sie können den folgenden yum-Befehl verwenden, um die erforderlichen Pakete wie gezeigt zu installieren.

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

Bevor wir fortfahren, erstellen Sie einen neuen Benutzer mit Sudo-Berechtigungen namens „asterisk“. Mit diesem Benutzer richten wir asterisk auf dem System ein.

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

Als nächstes installieren Sie PJSIP, eine kostenlose Open-Source-Multimedia-Kommunikationsbibliothek, die standardbasierte Protokolle wie SIP, SDP, RTP, STUN, TURN und ICE implementiert. Es ist der Asterisk SIP-Kanaltreiber, der die Klarheit der Anrufe verbessern soll.

Um die neueste Version zu erhalten, erstellen wir zunächst ein temporäres Verzeichnis, in dem wir das Paket aus dem Quellcode erstellen.

mkdir ~/build && cd ~/build

Gehen Sie nun zur PJSIP-Downloadseite und holen Sie sich das Paket oder verwenden Sie den folgenden wget-Befehl, um das Paket direkt im Terminal herunterzuladen.

Beachten Sie, dass zum Zeitpunkt des Schreibens dieses Artikels die neueste Version 2.8 ist. Dies kann sich in Zukunft ändern. Stellen Sie daher sicher, dass Sie die neueste Version verwenden:

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

Sobald der Download abgeschlossen ist, extrahieren Sie die Datei und wechseln Sie in dieses Verzeichnis.

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

Der nächste Schritt besteht darin, das zu kompilierende Paket vorzubereiten. Sie können den folgenden Befehl verwenden:

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

Es sollten keine Fehler oder Warnungen angezeigt werden. Stellen Sie sicher, dass alle Abhängigkeiten erfüllt sind:

make dep

Und jetzt können wir die Installation und Verknüpfung der Bibliotheken abschließen mit:

make && sudo make install && sudo ldconfig

Stellen Sie abschließend sicher, dass alle Bibliotheken installiert und vorhanden sind:

ldconfig -p | grep pj

Sie sollten die folgende Ausgabe erhalten:

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

Schritt 3: Installieren Sie Asterisk unter CentOS 8/7

Jetzt können wir mit der Installation von Asterisk beginnen. Navigieren Sie zurück zu unserem Verzeichnis ~/build:

cd ~/build

Gehen Sie zur Asterisk-Downloadseite und holen Sie sich die neueste Version, oder Sie können den folgenden wget-Befehl verwenden, um die Datei im Terminal herunterzuladen.

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

Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Asterisk-Version 16. Stellen Sie sicher, dass Sie die neueste Version von Asterisk herunterladen, wenn Sie die Schritte ausführen.

Entpacken Sie nun das Archiv und navigieren Sie in das neu erstellte Verzeichnis:

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

An dieser Stelle ist es an der Zeit zu erwähnen, dass Sie einige weitere Abhängigkeiten installieren müssen, wenn Sie die MP3-Unterstützung zum Abspielen von Musik aktivieren möchten, während der Client in der Warteschleife ist. Diese Schritte sind optional:

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

Nach dem zweiten Schritt sollten Sie eine Ausgabe ähnlich dieser erhalten:

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.

Führen Sie zunächst das Konfigurationsskript aus, um das Paket für die Kompilierung vorzubereiten:

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

Wenn Sie fehlende Abhängigkeiten feststellen, installieren Sie diese. In meinem Fall habe ich die folgende Fehlermeldung erhalten:

configure: error: patch is required to configure bundled pjproject

Um dies zu umgehen, führen Sie einfach Folgendes aus:

yum install patch 

Und führen Sie das Konfigurationsskript erneut aus. Wenn alles perfekt und ohne Fehler gelaufen ist, sehen Sie den folgenden Screenshot.

Beginnen wir nun mit dem Erstellungsprozess:

make menuselect

Nach ein paar Sekunden sollten Sie eine Liste der zu aktivierenden Funktionen erhalten:

Wenn Sie versuchen, die Wartemusikfunktion zu verwenden, müssen Sie die Funktion „format_mp3“ im Abschnitt „Add-ons“ aktivieren. Speichern Sie Ihre Liste und führen Sie den folgenden Befehl aus:

make && sudo make install

Um die Beispielkonfigurationsdateien zu installieren, verwenden Sie den folgenden Befehl:

sudo make samples

Um Asterisk beim Booten zu starten, verwenden Sie:

sudo make config

Aktualisieren Sie den Besitz der folgenden Verzeichnisse und Dateien:

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

Zum Schluss testen wir unsere Installation mit:

sudo service asterisk start
sudo asterisk -rvv

Sie sollten eine Ausgabe ähnlich dieser sehen:

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>

Wenn Sie eine Liste der verfügbaren Befehle sehen möchten, geben Sie Folgendes ein:

asterisk*CLI> core show help

Um die Asterisk-Eingabeaufforderung zu verlassen, geben Sie einfach Folgendes ein:

asterisk*CLI> exit

Asterisk läuft weiterhin im Hintergrund.

Abschluss

Jetzt haben Sie einen laufenden Asterisk-Server und können mit dem Anschließen von Telefonen und Nebenstellen beginnen und Ihre Konfiguration an Ihre Bedürfnisse anpassen. Für weitere Einzelheiten, wie dies erreicht werden kann, wird empfohlen, die Asterisk-Wiki-Seite zu verwenden. Wenn Sie Fragen oder Kommentare haben, teilen Sie uns dies bitte im Kommentarbereich unten mit.