Accueil🇫🇷Chercher

Kamailio

Kamailio est un serveur SIP libre (anciennement OpenSER).

Fonctionnalités

Voici les fonctionnalités implémentées en 3.2.x dans le logiciel selon l'équipe du projet :

Serveur SIP conforme Ă  la RFC3261

  • Serveur d'enregistrement,
  • Serveur de localisation,
  • Serveur proxy,
  • Serveur d'application SIP,
  • Serveur de redirection.

Flexibilité

  • Faible consommation de ressources – idĂ©al pour les applications embarquĂ©es – grâce Ă  des binaires de faible taille,
  • CapacitĂ© de charger des modules sans toucher au cĹ“ur du logiciel,
  • Architecture modulaire,
  • plus de 150 modules.

Configuration

Le fichier kamailio.cfg contient les informations principales de configuration de Kamailio. Les sections présentes sont les suivantes :

  • DĂ©finitions globales (Global Parameters) : Cette section du fichier liste les paramètres d'exĂ©cution du programme. On y trouve principalement le niveau de dĂ©bogage, le type de couche de transport utilisĂ© (UDP ou TCP), l'alias du serveur, les adresses IP et les ports d'Ă©coute. Il faut redĂ©marer kamailio pour recharger ces paramètres.
  • Paramètres locaux (Custom Parameters) : Ces paramètres peuvent ĂŞtre modifiĂ©s en cours d'exĂ©cution grâce au module 'cfg_rpc'.
  • Modules utilisĂ©s (Modules Section) : Cette section du fichier liste les modules chargĂ©s au dĂ©marrage de Kamailio, ainsi que le chemin pour trouver les modules (mpath). Pour dĂ©finir des paramètres Ă  ces modules, la commande modparam est utilisĂ©e. Les paramètres sont aussi listĂ©s dans cette section.
  • Routage et automate (Routing Logic) : Cette section dĂ©finit comment le serveur rĂ©agit Ă  un message SIP ou Ă  un Ă©vĂ©nement. C'est l'automate du serveur SIP. L'algorithme livrĂ© initialement est censĂ© ĂŞtre conforme aux normes SIP, mais il peut ĂŞtre modifiĂ© dans cette section justement. La routine route permet de dĂ©finir cela.

Les paramètres précédents ont été listés pour la version 3.2.x de Kamailio. Ils sont susceptibles d'évoluer.

DĂ©finitions globales (Global Parameters)

  • debug : niveau de log compris entre -3 et 4. Le niveau par dĂ©faut est 2 et les logs sont inscrits dans /var/log/syslog. Les niveaux sont les suivants : -3 (alerte) : erreurs nĂ©cessitant une action immĂ©diate ; -2 (critique) : erreur causant une situation critique ; -1 (erreur) : erreur pendant le traitement des donnĂ©es mais n'engendrant pas de dysfonctionnement ; 1 (warning) : warning ; 2 (notice) : situation non usuelle ; 3 (informatif) : messages d'informations ; 4 (dĂ©bogage) : pour le dĂ©bogage,
  • fork : paramètre indiquant si le processus tournera lors de son lancement en tâche d'arrière-plan,
  • log_stderror : paramètre pour rediriger les messages d'erreur vers la sortie standard,
  • children : dĂ©finit le nombre d'enfants (sous-processus) Ă  crĂ©er par interface pour traiter les requĂŞtes entrantes, il est utilisĂ© uniquement pour les interfaces UDP et n'a pas d'impact sur les processus TCP.
  • tcp_max_connections :
  • alias :
  • listen :

Paramètres locaux (Custom Parameters)

  • pstn.gw_ip :

Modules utilisés (Modules Section)

  • mpath : Le chemin pour trouver les bibliothèques des modules Ă  charger (*.so en gĂ©nĂ©ral). Voici la syntaxe pour ce paramètre : mpath="/tmp/blabla/:/home/ect/:/home/usw/:/home/aso/",
  • loadmodule : La commande loadmodule permet de charger les modules. La syntaxe est la suivante : loadmodule "module.so"
  • modparam : La commande modparam permet de configurer les modules chargĂ©s. La syntaxe est la suivante : modparam("nom_du_module","nom_du_paramètre_du_module","valeur_du_paramètre_du_module");

Chaque module possède un fichier de documentation appelé README, souvent sous le répertoire /usr/share/doc/kamailio/modules*/.

Routage et automate (Routing Logic)

Chaque requête SIP reçue sera traitée dans la boucle commençant par :

route {

elle se termine avec :

}

Lorsqu'un mot clef MotClef est utilisé en paramètre, la fonction

route[MotClef] {
...
}

est exécutée[1]

Voir aussi

Articles connexes

Liens externes

Notes et références

  1. Pour plus de précisions, consulter la page de documentation mise à jour par l'équipe responsable du projet (en anglais): http://www.kamailio.org/wiki
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.