Wie man Asterisk 18 VoIP Server auf CentOS 8 installiert

Asterisk ist eine leistungsstarke digitale Telefonanlage und ein VoIP-Server, der unter einer Open-Source-Lizenz veröffentlicht wurde, sodass du ihn kostenlos nutzen kannst. VoIP ist eine Technologie, die zum Aufbau und zur Steuerung von Telefongesprächen zwischen mehreren Endpunkten verwendet wird. Sie wird in VoIP-Gateways, Konferenzservern, Call-Centern, Carriern und staatlichen Institutionen auf der ganzen Welt eingesetzt. Sie läuft auf Linux, BSD und OS X und ermöglicht es dir, dein lokales System oder deinen Server in einen Kommunikationsserver zu verwandeln.

In diesem Beitrag erklären wir dir, wie du Asterisk auf einem CentOS 8 Server installieren kannst.

Voraussetzungen

  • Ein Server, auf dem CentOS 8 läuft.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Standardmäßig ist SELinux in CentOS 8 aktiviert. Daher musst du es zuerst deaktivieren. Um es zu deaktivieren, editiere die SELinux Konfigurationsdatei:

nano /etc/selinux/config

Ändere die folgende Zeile:

SELINUX=disabled

Speichere und schließe die Datei und starte dein System neu, um die Änderungen zu übernehmen.

Erforderliche Tools installieren

Asterisk benötigt mehrere Pakete, die du auf deinem Server installieren musst. Als erstes installierst du das EPEL Repository mit dem folgenden Befehl:

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Dann aktivierst du das PowerTools Repository mit dem folgenden Befehl:

dnf config-manager --set-enabled PowerTools

Nun installierst du andere Pakete und Entwicklungswerkzeuge mit dem folgenden Befehl:

dnf install wget gcc gcc-c++ svn make bzip2 patch libedit-devel uuid-devel libuuid-devel libxml2-devel sqlite sqlite-devel nano openssl openssl-devel -y
dnf groupinstall "Development Tools"

Sobald alle benötigten Pakete installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Jansson und PJSIP installieren

Als nächstes musst du Jansson auf deinem System installieren. Es wird für die Kodierung und Dekodierung von Mediendaten verwendet.

Und dann lädst du es mit folgendem Befehl aus dem Git Repository herunter:

git clone https://github.com/akheron/jansson.git

Als nächstes wechselst du in das heruntergeladene Verzeichnis und kompilierst es mit dem folgenden Kommando:

cd jansson
autoreconf -i
./configure --prefix=/usr/
make
make install

Als nächstes musst du PJSIP auf deinem System installieren. Es ist eine Bibliothek, die verwendet wird, um SIP, SDP, RTP, STUN, TURN und das ICE Protokoll zu implementieren.

Lade sie zuerst mit dem folgenden Befehl herunter:

cd
git clone https://github.com/pjsip/pjproject.git

Als nächstes wechselst du in das heruntergeladene Verzeichnis und kompilierst sie mit dem folgenden Befehl:

cd pjproject
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
make dep
make
make install
ldconfig

Sobald du damit fertig bist, kannst du mit der Installation von Asterisk fortfahren.

Asterisk installieren

Navigiere zunächst in dein Homeverzeichnis und lade die neueste Version von Asterisk mit dem folgenden Befehl herunter:

cd
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz

Sobald der Download abgeschlossen ist, extrahiere die heruntergeladene Datei mit dem folgenden Befehl:

tar -xvzf asterisk-18-current.tar.gz

Als nächstes wechselst du mit folgendem Befehl in das entpackte Verzeichnis:

cd asterisk-18.4.0/

Als nächstes konfigurierst du Asterisk mit dem folgenden Befehl:

./configure --libdir=/usr/lib64

Du solltest die folgende Ausgabe sehen:

configure: Menuselect build configuration successfully completed

               .$$$$$$$$$$$$$$$=..      
            .$7$7..          .7$$7:.    
          .$$:.                 ,$7.7   
        .$7.     7$$$$           .$$77  
     ..$$.       $$$$$            .$$$7 
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7 
$$$       .7$$$$$$$$$$$$$$$$      :$$$. 
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.  
$$$        $$$   7$$$7  .$$$    .$$$.   
$$$$             $$$$7         .$$$.    
7$$$7            7$$$$        7$$$      
 $$$$$                        $$$       
  $$$$7.                       $$  (TM)     
   $$$$$$$.           .7$$$$$$  $$      
     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$      
       $$$$$$$$$$$$$$$$.                

configure: Package configured for: 
configure: OS type  : linux-gnu
configure: Host CPU : x86_64
configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :
configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :

Als nächstes führe den folgenden Befehl aus, um zusätzliche Add-ons zu installieren, die du mit Asterisk installieren möchtest.

make menuselect

Du solltest die folgende Seite sehen:

Menuselect machen

Wähle Add-ons und drücke Enter. Du solltest die folgende Seite sehen:

Add-ons auswählen

Wähle deine benötigten Add-ons aus und drücke Enter, um sie auszuwählen, dann drücke ESC, um zum Hauptmenü zurückzukehren:

Asterisk Add-ons auswählen

Wähle dein gewünschtes Core Sound Paket und drücke Enter, um es auszuwählen. Als nächstes drücke ESC um zurückzukehren, wähle die MOH Pakete wie unten gezeigt:

Asterisk Sound Pakete

Wähle deine gewünschten Pakete und drücke Enter, um sie auszuwählen. Als nächstes drücke ESC, um zurückzukehren, wähle Extra Pakete, wie unten gezeigt:

Wähle extra Pakete

Wähle deine benötigten Pakete aus und drücke Enter, um sie auszuwählen. Drücke dann die ESC-Taste. Du solltest die folgende Seite sehen:

Build Änderungen speichern

Drücke S, um die Änderungen zu speichern und zu beenden.

Führe als nächstes den folgenden Befehl aus, um alle benötigten Abhängigkeiten zu installieren:

contrib/scripts/get_mp3_source.sh

Als nächstes baust du den Asterisk mit dem folgenden Befehl:

make

Du solltest die folgende Ausgabe sehen:

 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+

make install
 +---- Asterisk Installation Complete -------+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk has successfully been installed. +
 + If you would like to install the sample   +
 + configuration files (overwriting any      +
 + existing config files), run:              +
 +                                           +
 + For generic reference documentation:      +
 +    make samples                           +
 +                                           +
 + For a sample basic PBX:                   +
 +    make basic-pbx                         +
 +                                           +
 +                                           +
 +-----------------  or ---------------------+
 +                                           +
 + You can go ahead and install the asterisk +
 + program documentation now or later run:   +
 +                                           +
 +               make progdocs               +
 +                                           +
 + **Note** This requires that you have      +
 + doxygen installed on your local system    +
 +-------------------------------------------+

Als nächstes installierst du Asterisk mit dem folgenden Befehl:

make samples
make config
ldconfig

Asterisk konfigurieren

Als nächstes musst du einen dedizierten Benutzer erstellen, um Asterisk auszuführen. Du kannst einen Benutzer und eine Gruppe mit dem folgenden Befehl erstellen:

groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk

Als nächstes fügst du den Audio- und Dialout-Benutzer mit dem folgenden Befehl zur Asterisk-Gruppe hinzu:

usermod -aG audio,dialout asterisk

Setze als Nächstes die Eigentümerschaft der Asterisk-Verzeichnisse auf den Benutzer asterisk mit dem folgenden Befehl:

chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk

Als nächstes editiere die Datei /etc/sysconfig/asterisk:

nano /etc/sysconfig/asterisk

Entferne die Kommentare in den folgenden Zeilen:

AST_USER="asterisk"
AST_GROUP="asterisk"

Speichere und schließe die Datei und editiere dann die Datei /etc/asterisk/asterisk.conf:

nano /etc/asterisk/asterisk.conf

Entferne die Kommentare in den folgenden Zeilen:

runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as.

Speichere und schließe die Datei, wenn du fertig bist. Starte dann den Asterisk-Dienst neu, um die Änderungen zu übernehmen.

systemctl restart asterisk

Als nächstes aktiviere den Asterisk-Dienst, damit er beim Neustart des Systems startet:

systemctl enable asterisk

Um den Status des Asterisk-Dienstes zu überprüfen, führe den folgenden Befehl aus:

systemctl status asterisk

Du solltest die folgende Ausgabe erhalten:

? asterisk.service - LSB: Asterisk PBX
   Loaded: loaded (/etc/rc.d/init.d/asterisk; generated)
   Active: active (running) since Sat 2021-05-22 08:19:08 EDT; 15s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 70883 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
 Main PID: 70914 (asterisk)
    Tasks: 81 (limit: 25014)
   Memory: 36.8M
   CGroup: /system.slice/asterisk.service
           ??70912 /bin/sh /usr/sbin/safe_asterisk
           ??70914 /usr/sbin/asterisk -f -vvvg -c

May 22 08:19:08 centos8 systemd[1]: Starting LSB: Asterisk PBX...
May 22 08:19:08 centos8 asterisk[70883]: Starting asterisk:

Verify Asterisk

An diesem Punkt ist Asterisk installiert und konfiguriert. Du kannst nun den Asterisk mit dem folgenden Befehl verifizieren:

asterisk -rvv

Wenn alles in Ordnung ist, solltest du die folgende Ausgabe erhalten:

Asterisk 18.4.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others.
Created by Mark Spencer <markster@digium.com>
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.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 18.4.0 currently running on centos8 (pid = 70914)
centos8*CLI> 

Führe nun den folgenden Befehl aus, um die Core Channels anzuzeigen:

centos8*CLI> core show channels

Du solltest die folgende Ausgabe sehen:

Channel              Location             State   Application(Data)             
0 active channels
0 active calls
0 calls processed

Um die Betriebszeit von Asterisk anzuzeigen, führe den folgenden Befehl aus:

centos8*CLI> core show uptime

Du solltest die folgende Ausgabe sehen:

System uptime: 1 minute, 33 seconds
Last reload: 1 minute, 33 seconds

Um die Asterisk CLI zu verlassen, führe den folgenden Befehl aus:

centos8*CLI> quit

Fazit

In der obigen Anleitung hast du gelernt, wie du Asterisk Version 18 auf einem CentOS 8 Server herunterladen und kompilieren kannst. Du kannst nun Asterisk mit anderen Plattformen integrieren und eine VoIP-basierte Anwendung erstellen.

Das könnte dich auch interessieren …