Kamailio ist ein in C geschriebener Open-Source-SIP-Server, der auf einem Linux/Unix-basierten Betriebssystem läuft. Es kann Tausende von Anrufaufbauten pro Sekunde verarbeiten und bis zu 300.000 aktive Abonnenten im System mit nur 4 GB RAM bedienen. Kamailio wird von großen ISPs zur Bereitstellung öffentlicher Telefondienste verwendet und wurde für große Echtzeit-Kommunikationsdienste entwickelt. Sie können Kamailio als Registrierungsserver, Standortserver, Proxyserver, Umleitungsserver und SIP-Anwendungsserver verwenden.
In diesem Tutorial lernen wir, wie man den Kamailio SIP-Server auf Ubuntu 20.04 installiert und konfiguriert.
Voraussetzungen
- Ein frischer Ubuntu 20.04 VPS auf der Atlantic.Net Cloud Platform
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 20.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 20.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Erforderliche Abhängigkeiten installieren
Zuerst müssen Sie einige erforderliche Pakete auf Ihrem Server installieren. Sie können alle mit dem folgenden Befehl installieren:
apt-get install gnupg2 mariadb-server curl unzip -y
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Schritt 3 – Kamailio-Server installieren
Importieren Sie zuerst den Kamailio GPG-Schlüssel mit dem folgenden Befehl:
wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | apt-key add -
Als nächstes fügen Sie das Kamailio-Repository mit dem folgenden Befehl hinzu:
nano /etc/apt/sources.list.d/kamailio.list
Fügen Sie die folgenden Zeilen hinzu:
deb http://cz.archive.ubuntu.com/ubuntu bionic main deb http://deb.kamailio.org/kamailio53 bionic main deb-src http://deb.kamailio.org/kamailio53 bionic main
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Aktualisieren Sie als Nächstes das Repository und installieren Sie den Kamailio-Server mit anderen Paketen mit dem folgenden Befehl:
apt-get update -y apt-get install kamailio kamailio-mysql-modules kamailio-websocket-modules kamailio-tls- modules -y
Sobald alle Pakete installiert sind, überprüfen Sie die installierte Version von Kamailio mit dem folgenden Befehl:
kamailio -V
Sie sollten die folgende Ausgabe erhalten:
version: kamailio 5.3.5 (x86_64/linux)
Schritt 4 – Kamailio konfigurieren
Als nächstes müssen Sie die Datei /etc/kamailio/kamctlrc bearbeiten und die Datenbank-Engine, den Datenbank-Host und die SIP-Domäne definieren.
nano /etc/kamailio/kamctlrc
Ändern Sie die folgenden Zeilen:
## your SIP domain SIP_DOMAIN=your-server-ip DBENGINE=MYSQL ## database host DBHOST=localhost
Speichern und schließen Sie die Datei.
Erstellen Sie als Nächstes mit dem folgenden Befehl eine Datenbank, einen Benutzer und Tabellen, die für Kamailio benötigt werden:
kamdbctl create
Sie werden wie unten gezeigt aufgefordert, ein MySQL-Root-Passwort einzugeben:
MySQL password for root:
Lassen Sie es leer und drücken Sie einfach Enter weitermachen. Sie werden aufgefordert, einen Zeichensatz wie unten gezeigt anzugeben:
-e Enter character set name: utf32
Geben Sie utf32 ein und drücken Sie die Eingabetaste, um fortzufahren. Sie sollten die folgende Ausgabe sehen:
-e \E[37;33mINFO: creating database kamailio ... -e \E[37;33mINFO: granting privileges to database kamailio ... -e \E[37;33mINFO: creating standard tables into kamailio ... -e \E[37;33mINFO: Core Kamailio tables succesfully created. Install presence related tables? (y/n): y -e \E[37;33mINFO: creating presence tables into kamailio ... -e \E[37;33mINFO: Presence tables succesfully created. Install tables for imc cpl siptrace domainpolicy carrierroute drouting userblacklist htable purple uac pipelimit mtree sca mohqueue rtpproxy rtpengine secfilter? (y/n): y -e \E[37;33mINFO: creating extra tables into kamailio ... -e \E[37;33mINFO: Extra tables succesfully created. Install tables for uid_auth_db uid_avp_db uid_domain uid_gflags uid_uri_db? (y/n): y -e \E[37;33mINFO: creating uid tables into kamailio ... -e \E[37;33mINFO: UID tables succesfully created.
Bearbeiten Sie als Nächstes die Hauptkonfigurationsdatei von Kamailio und aktivieren Sie einige Funktionen:
nano /etc/kamailio/kamailio.cfg
Fügen Sie die folgenden Zeilen unter #!KAMAILIO hinzu .
#!define WITH_MYSQL #!define WITH_AUTH #!define WITH_USRLOCDB #!define WITH_ACCDB
Speichern und schließen Sie die Datei und starten Sie dann den Kamailio-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart kamailio
Sie können den Kamailio-Dienst auch mit dem folgenden Befehl überprüfen:
systemctl status kamailio
Sie sollten die folgende Ausgabe erhalten:
kamailio.service - Kamailio (OpenSER) - the Open Source SIP Server Loaded: loaded (/lib/systemd/system/kamailio.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-09-01 16:05:05 UTC; 6s ago Process: 19835 ExecStart=/usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f $CFGFILE -m $SHM_MEMORY -M $PKG_MEMORY (code=exited, status=0> Main PID: 19847 (kamailio) Tasks: 32 (limit: 2353) Memory: 24.6M CGroup: /system.slice/kamailio.service ├─19847 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8 ├─19849 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8 ├─19850 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8 ├─19851 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8 ├─19852 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8
Schritt 5 – Siremis-Dashboard installieren
Siremis ist eine webbasierte Schnittstelle zur Verwaltung eines Kamailio-SIP-Servers. Mit Siremisis können Sie Abrechnungen, registrierte Telefone, Benutzerprofile und Routing-Regeln anzeigen und über xmlrpc mit dem SIP-Server kommunizieren.
Installieren Sie Apache und PHP
Zuerst müssen Sie Apache, PHP und andere PHP-Module in Ihrem System installieren. Sie können sie mit dem folgenden Befehl installieren:
apt-get install apache2 php libapache2-mod-php php-mysql php-gd php-curl php-xml php-pear make git -y
Sobald alle Pakete installiert sind, installieren Sie XML_RPC mit dem folgenden Befehl:
pear install XML_RPC2
Siremis herunterladen
Wechseln Sie zunächst in das Apache-Web-Root-Verzeichnis und laden Sie die neueste Version von Siremis aus dem Git-Repository herunter:
cd /var/www/ git clone https://github.com/asipto/siremis
Wechseln Sie als Nächstes in das Verzeichnis Siremis und generieren Sie die Apache-Konfigurationsdatei für den virtuellen Host mit dem folgenden Befehl:
cd siremis make apache24-conf | tee /etc/apache2/sites-enabled/siremis.conf
Erstellen Sie als Nächstes .htaccess- und Siremis-Konfigurationsdateien, indem Sie den folgenden Befehl ausführen:
make prepare24
Sie sollten die folgende Ausgabe sehen:
updating htaccess file for apache 2.4 ... deploying htaccess files for apache 2.4 in subdirs ... updating app.inc file... creating folders... done
Legen Sie als Nächstes den richtigen Besitz mit dem folgenden Befehl fest:
make chown
Sie sollten die folgende Ausgabe erhalten:
changing onwner to www-data:www-data ... chown -R www-data:www-data .
Melden Sie sich als Nächstes mit dem folgenden Befehl bei der MariaDB-Shell an:
mysql
Erstellen Sie nach der Anmeldung einen neuen Siremis-Benutzer und gewähren Sie alle Berechtigungen für die Siremis-Datenbank:
GRANT ALL PRIVILEGES ON siremis.* TO [email protected] IDENTIFIED BY 'password';
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:
flush privileges; exit;
Aktivieren Sie abschließend das Apache Rewrite-Modul und starten Sie den Apache-Dienst mit dem folgenden Befehl neu:
a2enmod rewrite systemctl restart apache2
Schritt 6 – Greifen Sie auf das Siremis-Dashboard zu
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip/siremis auf das Siremis-Dashboard zu. Sie werden zum Installationsassistenten von Siremis weitergeleitet:
Klicken Sie auf Einrichtung Jetzt ! Taste. Sie sollten die folgende Seite sehen:
Stellen Sie sicher, dass alle Abhängigkeiten installiert sind, und klicken Sie dann auf Weiter Taste. Sie sollten die folgende Seite sehen:
Geben Sie das Benutzerkennwort für Siremis DB in „Siremis DB Password“ ein “ und klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Überprüfen Sie alle Verzeichnisse auf Schreibzugriff und klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Klicken Sie auf Starten Siremis . Sie werden zur Anmeldeseite von Siremis weitergeleitet:
Geben Sie den standardmäßigen Admin-Benutzernamen und das Passwort als admin / admin ein und klicken Sie auf Anmelden Taste. Sie sollten das Siremis-Dashboard auf der folgenden Seite sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben erfolgreich einen Kamailio-SIP-Server und ein Siremis-Dashboard auf Ubuntu 20.04 installiert. Sie können jetzt ganz einfach Ihren SIP-Server erstellen und ihn über das Siremis-Dashboard verwalten. Probieren Sie Kamailio auf VPS-Hosting von Atlantic.Net aus, indem Sie das obige Tutorial verwenden!