Kamailio est un serveur SIP open-source écrit en C qui s'exécute sur un système d'exploitation basé sur Linux/Unix. Il peut gérer des milliers de configurations d'appels par seconde et servir jusqu'à 300 000 abonnés actifs sur le système avec seulement 4 Go de RAM. Kamailio est utilisé par un grand FAI pour fournir un service téléphonique public et a été conçu pour être utilisé pour de grands services de communication en temps réel. Vous pouvez utiliser Kamailio comme serveur d'enregistrement, serveur de localisation, serveur proxy, serveur de redirection et serveur d'application SIP.
Dans ce tutoriel, nous allons apprendre à installer et configurer le serveur SIP Kamailio sur Ubuntu 20.04.
Prérequis
- Un nouveau VPS Ubuntu 20.04 sur la plate-forme cloud Atlantic.Net
- Un mot de passe root configuré sur votre serveur
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 20.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois que vous êtes connecté à votre serveur Ubuntu 20.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -y
Étape 2 - Installer les dépendances requises
Tout d'abord, vous devrez installer certains packages requis sur votre serveur. Vous pouvez tous les installer avec la commande suivante :
apt-get install gnupg2 mariadb-server curl unzip -y
Une fois tous les packages installés, vous pouvez passer à l'étape suivante.
Étape 3 - Installer le serveur Kamailio
Tout d'abord, importez la clé Kamailio GPG avec la commande suivante :
wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | apt-key add -
Ensuite, ajoutez le dépôt Kamailio avec la commande suivante :
nano /etc/apt/sources.list.d/kamailio.list
Ajoutez les lignes suivantes :
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
Enregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, mettez à jour le référentiel et installez le serveur Kamailio avec d'autres packages à l'aide de la commande suivante :
apt-get update -y apt-get install kamailio kamailio-mysql-modules kamailio-websocket-modules kamailio-tls- modules -y
Une fois tous les packages installés, vérifiez la version installée de Kamailio avec la commande suivante :
kamailio -V
Vous devriez obtenir le résultat suivant :
version: kamailio 5.3.5 (x86_64/linux)
Étape 4 - Configurer Kamailio
Ensuite, vous devrez modifier le fichier /etc/kamailio/kamctlrc et définir le moteur de base de données, l'hôte de la base de données et le domaine SIP.
nano /etc/kamailio/kamctlrc
Modifiez les lignes suivantes :
## your SIP domain SIP_DOMAIN=your-server-ip DBENGINE=MYSQL ## database host DBHOST=localhost
Enregistrez et fermez le fichier.
Créez ensuite une base de données, un utilisateur et les tables nécessaires à Kamailio à l'aide de la commande suivante :
kamdbctl create
Il vous sera demandé d'entrer un mot de passe root MySQL comme indiqué ci-dessous :
MySQL password for root:
Laissez-le vide et appuyez simplement sur Entrée continuer. Il vous sera demandé de fournir un jeu de caractères comme indiqué ci-dessous :
-e Enter character set name: utf32
Tapez utf32 et appuyez sur Entrée pour continuer. Vous devriez voir le résultat suivant :
-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.
Ensuite, modifiez le fichier de configuration principal de Kamailio et activez certaines fonctionnalités :
nano /etc/kamailio/kamailio.cfg
Ajoutez les lignes suivantes sous #!KAMAILIO .
#!define WITH_MYSQL #!define WITH_AUTH #!define WITH_USRLOCDB #!define WITH_ACCDB
Enregistrez et fermez le fichier, puis redémarrez le service Kamailio pour appliquer les modifications :
systemctl restart kamailio
Vous pouvez également vérifier le service Kamailio avec la commande suivante :
systemctl status kamailio
Vous devriez obtenir le résultat suivant :
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
Étape 5 - Installer le tableau de bord Siremis
Siremis est une interface Web utilisée pour gérer un serveur SIP Kamailio. Vous pouvez afficher la comptabilité, les téléphones enregistrés, configurer les profils utilisateur, les règles de routage et communiquer avec le serveur SIP via xmlrpc à l'aide de Siremisis.
Installer Apache et PHP
Tout d'abord, vous devrez installer Apache, PHP et d'autres modules PHP sur votre système. Vous pouvez les installer avec la commande suivante :
apt-get install apache2 php libapache2-mod-php php-mysql php-gd php-curl php-xml php-pear make git -y
Une fois tous les packages installés, installez XML_RPC avec la commande suivante :
pear install XML_RPC2
Télécharger Siremis
Tout d'abord, changez le répertoire en racine web Apache et téléchargez la dernière version de Siremis depuis le dépôt Git :
cd /var/www/ git clone https://github.com/asipto/siremis
Ensuite, changez le répertoire en Siremis et générez le fichier de configuration de l'hôte virtuel Apache à l'aide de la commande suivante :
cd siremis make apache24-conf | tee /etc/apache2/sites-enabled/siremis.conf
Créez ensuite les fichiers de configuration .htaccess et Siremis en exécutant la commande suivante :
make prepare24
Vous devriez voir le résultat suivant :
updating htaccess file for apache 2.4 ... deploying htaccess files for apache 2.4 in subdirs ... updating app.inc file... creating folders... done
Ensuite, définissez la propriété appropriée avec la commande suivante :
make chown
Vous devriez obtenir le résultat suivant :
changing onwner to www-data:www-data ... chown -R www-data:www-data .
Ensuite, connectez-vous au shell MariaDB avec la commande suivante :
mysql
Une fois connecté, créez un nouvel utilisateur siremis et accordez tous les privilèges à la base de données siremis :
GRANT ALL PRIVILEGES ON siremis.* TO [email protected] IDENTIFIED BY 'password';
Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :
flush privileges; exit;
Enfin, activez le module de réécriture Apache et redémarrez le service Apache avec la commande suivante :
a2enmod rewrite systemctl restart apache2
Étape 6 - Accéder au tableau de bord Siremis
Maintenant, ouvrez votre navigateur web et accédez au tableau de bord Siremis à l'aide de l'URL http://your-server-ip/siremis. Vous allez être redirigé vers l'assistant d'installation de Siremis :
Cliquez sur Configuration Maintenant ! bouton. Vous devriez voir la page suivante :
Assurez-vous que toutes les dépendances sont installées, puis cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Indiquez le mot de passe de l'utilisateur de la base de données siremis dans "Mot de passe de la base de données siremis " et cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Vérifiez tous les répertoires pour l'accès en écriture et cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Cliquez sur Lancer Sirémis . Vous allez être redirigé vers la page de connexion Siremis :
Fournissez le nom d'utilisateur et le mot de passe de l'administrateur par défaut en tant qu'administrateur / administrateur et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord Siremis sur la page suivante :
Conclusion
Toutes nos félicitations! Vous avez installé avec succès un serveur SIP Kamailio et un tableau de bord Siremis sur Ubuntu 20.04. Vous pouvez désormais créer facilement votre serveur SIP et le gérer à l'aide du tableau de bord Siremis. Essayez Kamailio sur l'hébergement VPS d'Atlantic.Net en utilisant le tutoriel ci-dessus !