Prise en main de Kamailio

Publié le par BORY DIALLO

Kamailio (successeur des anciens OpenSER et SER) est un serveur SIP Open Source publié sous GPLv2+, capable de gérer des milliers d'établissements d'appels par seconde. Kamailio peut être utilisé pour créer de grandes plates-formes pour les communications VoIP et en temps réel - présence, WebRTC, messagerie instantanée et autres applications. De plus, il peut être facilement utilisé pour faire évoluer des passerelles SIP vers PSTN, des systèmes PBX ou des serveurs multimédias comme Asterisk, FreeSWITCH ou SEMS.

Kamailio peut être utilisé sur des systèmes aux ressources limitées ainsi que sur des serveurs de classe opérateur. Il est écrit en C pur pour les systèmes de type Unix/Linux avec des optimisations spécifiques à l'architecture pour offrir des performances élevées. Kamailio Project vise à être un environnement collaboratif de ses utilisateurs pour développer un serveur SIP sécurisé et extensible afin de fournir des services de communication unifiée et VoIP modernes.

  1. Installation

# apt-get update

# apt-get install apache2 mariadb-server php php-mysql php-gd php-curl php-xml libapache2-mod-php flex bison libcurl4-openssl-dev libpcre3-dev kamailio kamailio-utils-modules kamailio-mysql-modules kamailio-presence-modules kamailio-xml-modules kamailio-carrierroute-modules -y

    2. Configuration du serveur

Nous allons faire la configuration de base du serveur permettant de donner les paramètres nécessaires pour générer sa base de données.

# vim /etc/kamailio/kamctlrc

  • Dé-commenter les lignes suivantes en les adaptant à votre situation

## the SIP domain

SIP_DOMAIN=ec2lt.sn

DBENGINE=MYSQL

## database hostDBHOST=localhost

DBPORT=3306

## database name (for ORACLE this is TNS name)

DBNAME=kamailio

## database path used by dbtext, db_berkeley or sqlite

# DB_PATH="/usr/local/etc/kamailio/dbtext"

## database read/write user

DBRWUSER="kamailio"

## password for database read/write user

DBRWPW="kamailiorw"

## database read only user

DBROUSER="kamailioro"

## password for database read only user

DBROPW="kamailioro"

DBROOTUSER="root"

USERCOL="username"

 

    3. Redémarrer le serveur

# service kamailio restart

        4. Faire la résolution de noms dans le fichier suivant :

# vim /etc/hosts

Test de connectivité

Résolution faite avec succès !

    5. Création de la base de données kamailio

Kamailio utilise une base de données pour stocker les informations des abonnés. Pour la générer, on procède comme suit :

# kamdbctl create

  • Vous entrez le mot de passe de root du serveur de base de données

  • Vous choisissez l’encodage Big5

  • Vous répondez par y à toutes les questions qui seront posées

Et ça devrait très bien se passer!

Voici d'ailleurs la preuve montrant que tout s'est bien passé :

Vérifions si la base de données a été générée

Vous pouvez aussi vérifier si les tables ont bien été générées !

Voici quelques infos concernant notre serveur SIP

    6. Création des utilisateurs

# kamctl add numéro mot_de_passe

Nous venons de créer cinq comptes: 500, 501, 502, 503 et 504

Voici d'ailleurs la preuve :

Deux users vont utiliser des softphones Zoiper pour se connecter

    7. Test d'appels 

 

 

 

 

 

 

 

 

 

 

 

 

 

    8. Test de SMS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    9. Test appels vidéos

 

 

 

 

Kamailio est un serveur SIP ultra-puissant, supportant d'innombrables fonctionnalités !

Publié dans Téléphonie

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
A
bravo, excellent travail.
Répondre
B
C’est un plaisir 😊
M
c'est vraiment génial et détaillée et bonne continuation
Répondre
B
Merci !
M
C'est vraiment génial cette publication, merci 🙏 beaucoup pour ton soutien au travers ce support.<br /> Beaucoup de courage et force à toi pour la suite
Répondre
B
Merci MAKENDJI. Le meilleur reste à venir