Vous êtes sur la page 1sur 21

Utilisation des Enregistrements SRV et NAPTR

en Téléphonie sur IP

Présenté par :
Ibrahima Niang
Fatou Diebakhate Encadrant : M Samuel Ouya
AL Mikhedade Taha Ibrahim
Emiterio Mane
Alassane Fassar Faye
Sommaire
I. Introduction :.....................................................................................................................................1
I.1. Définition SRV :........................................................................................................................1
I.2. Définition NAPTR :..................................................................................................................1
I.3. Objectifs :..................................................................................................................................1
II. Installation de Kamailio et configuration :......................................................................................2
II.1. Installation des pré-requis et de kamailio:...............................................................................2
II.2. Configuration des paramètres de base de données utilisées par kamailio :.............................3
III. Configuration de DNS :..................................................................................................................7
IV. Configuration de type SRV et NAPTR :.........................................................................................8
IV.1. Configuration type SRV :........................................................................................................8
IV.2. Algorithme de mise en place d’un enregistrement de type NAPTR:....................................10
IV.2.a. Déclaration NAPTR :....................................................................................................10
IV.2.b. Chargement du module enum.so :.................................................................................12
IV.2.c. Création de la route :.....................................................................................................12
IV.2.e. Appel de la route dans le plan de numérotation de Kamailio :......................................13
V. Test de connectivité:.......................................................................................................................14
V.1. Configuration des Terminaux :...............................................................................................14
V.1.a. Clients du domaine orange.sn et tigo.sn:........................................................................14
V.1.b. Test de connectivité :......................................................................................................15
Conclusion :........................................................................................................................................18
I. Introduction :
I.1. Définition SRV :
Un enregistrement SRV ou enregistrement de service est une catégorie de données du DNS
d'Internet qui vise à indiquer quels sont les services disponibles.
Ce type d'enregistrement est défini dans la RFC 2782.Les enregistrements SRV sont souvent utilisés
par les clients Microsoft Windows afin de trouver le contrôleur de domaine pour un service donné.
Par ailleurs, les enregistrements SRV sont communément utilisés en association avec les protocoles
standards ci- dessous :
• XMPP (Jabber)
• SIP
• LDAP

I.2. Définition NAPTR :


Un pointeur d'autorité de nom ( NAPTR ) est un type d' enregistrement de ressource dans le système
de noms de domaine d'Internet.
Les enregistrements NAPTR sont le plus souvent utilisés pour des applications de téléphonie
Internet , par exemple, dans le mappage de serveurs et d'adresses d'utilisateur dans le protocole SIP
( Session Initiation Protocol ). La combinaison d'enregistrements NAPTR avec des enregistrements
de service (SRV) permet l'enchaînement de plusieurs enregistrements pour former des règles de
réécriture complexes qui produisent de nouvelles étiquettes de domaine ou des identificateurs de
ressources uniformes (URI).
Les noms de ressources uniformes ( URN ) sont un sous-ensemble d'identificateurs de ressources
uniformes ( URI ) utilisés pour les identificateurs abstraits, tels que le nom d'une personne ou son
numéro de téléphone. Pour que les URN aient un sens, elles doivent être mappées sur une ressource
concrète quelconque. Les URL (Uniform Resource Locator) sont souvent utilisés pour décrire de
telles ressources, telles qu'un nom d'hôte d' ordinateur ou un fichier local.
L’enregistrement NAPTR facilite la normalisation des URN. Les enregistrements NAPTR mappent
entre des ensembles d'URN, d'URL et de noms de domaine simples et suggèrent aux clients les
protocoles disponibles pour la communication avec la ressource mappée.

I.3. Objectifs :
Notre objectif est d’utiliser les enregistrements de type SRV et NAPTR en téléphonie sur IP pour :
• Faciliter le paramétrage des terminaux SIP;
• Permettre aux terminaux, connaissant simplement le nom de domaine, de faire des requêtes
SRV pour avoir l’adresse IP du Serveur et pouvoir se connecter ;

1 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


• Permettre l’interconnexion de deux serveurs de téléphonie ;
• Permettre l’utilisation du TEL/URI au lieu du SIP/URI pour pouvoir joindre les abonnes se
trouvant dans d’autres serveurs SIP.

II. Installation de Kamailio et configuration :


Kamailio est un Serveur SIP open source. Ce fork du projet OpenSER (en 2005) est l'un des PBX
les plus complets. Il supporte des transactions asynchrones TCP, UDP et SCTP, l'encryptage des
communications via TLS, la répartition de charge, un mécanisme natif de fail-over,
l'authentification sur des backend Radius, Mysql, LDAP ou via transport XMLRCP.
Kamailio est utilisé aussi bien par des opérateurs télécoms comme plate-forme de service VoIP que
pour les solutions classiques de téléphonie d'entreprise. C'est une alternative à Freeswitch et
Asterisk les deux autres poids lourds du domaine.

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émarrer 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.

II.1. Installation des pré-requis et de kamailio:

2 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


II.2. Configuration des paramètres de base de données
utilisées par kamailio :

Au niveau du fichier kamctlrc, on de commente les paramètres suivants :

3 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


4 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP
• On génère la base de données kamailio à partir des données fournit précédemment grâce à
la commande :
# kamdbctl create

• On peut vérifier que la base données kamailio est créée en faisant :


# mysql -u root -p
puis :
> show databases ;

5 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


Ensuite nous allons créer des utilisateurs kamailio pour effectuer des appels. La création des
utilisateurs se fait par la commande :
# kamctl add XXX password
ex: kamctl add 2000 passer

Dans notre cas nous avons créé trois utilisateurs 2000, 2001 et 2002.

Remarque :
Par la suite nous allons configurer nos serveur DNS orange.sn et tigo.sn sur la machine contenant le
serveur kamailio du domaine orange.sn.

6 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


III. Configuration de DNS :
Au niveau de notre DNS nous allons configurer deux domaines :
• orange.sn avec les numéros 1XXX
• tigo.sn avec les numéros 2XXX

• Test de fonctionnalité des domaines orange.sn et tigo.sn :

7 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


IV. Configuration de type SRV et NAPTR :
IV.1. Configuration type SRV :
Un enregistrement SRV contient les informations suivantes :
• Service: le nom symbolique (commençant généralement par un symbole de soulignement)
du service concerné (par exemple _sip ).
• Protocole : généralement, c'est soit _tcp pour TCP, soit _udp pour UDP.
• Nom.de.domaine : le domaine de validité de l'enregistrement (pleinement qualifié au
format FQDN ou local à la zone DNS en cours de définition pour la même autorité
d'origine).
• TTL : champ standard DNS indiquant la durée de validité (Time-To-Live, durée de vie) de
la réponse (en secondes).
• Classe : champ standard DNS indiquant la classe d'adressage (c'est toujours IN pour
Internet).
• Type : l'identifiant du type d'enregistrement DNS (toujours SRV ici pour un enregistrement
de service) ;
• Priorité : la priorité du serveur cible (valeur entière non négative, plus elle est faible, plus
ce serveur sera utilisé s'il est disponible) ;
• Poids : poids relatif pour les enregistrements de même priorité ;

8 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


• Port : le numéro de port (TCP ou UDP selon le protocole ci-dessus) où le service est
disponible ;
• Cible : le nom du serveur qui fournit le service concerné (doit être résolu en adresse IPv4 ou
IPv6 par d'autres requêtes DNS sur les enregistrements A ou AAAA du nom de service
cible) avec le protocole et sur le port indiqué.
Orange.sn : # nano orange.sn

tigo.sn : # nano tigo.sn

• Test de fonctionnement des configurations SRV avec la commande dig :


orange.sn : # dig _sip._udp.orange.sn SRV

9 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


tigo.sn : # dig _sip._udp.tigo.sn SRV

la commande est :
# dig _sip._udp.domaine SRV

IV.2. Algorithme de mise en place d’un enregistrement de type


NAPTR:
L’algorithme de mise en place d’un enregistrement de type NAPTR défini les étapes depuis sa mise
en place jusqu’aux tests finaux.

IV.2.a. Déclaration NAPTR :


Orange.sn : # nano orange.sn

tigo.sn : # nano tigo.sn

10 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


• Vérification des configurations :
orange.sn : # dig -t naptr 0.0.0.1.orange.sn

tigo.sn : # dig -t naptr 0.0.0.1.tigo.sn

11 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


IV.2.b. Chargement du module enum.so :
ENUM, est un mécanisme permettant d'utiliser un numéro de téléphone comme clé de recherche
dans le DNS pour trouver la manière de joindre une personne ou une autre entité.
L'objectif d'ENUM est d'utiliser un numéro unique pour accéder à plusieurs identifiants de service
caractérisant un individu : Grâce au numéro ENUM, on pourra atteindre un e-mail, une URL, un
numéro de téléphone (fax, mobile, SIP), etc. Les priorités d'accès à ces différents services seront
définies par l'utilisateur.
La création d’un numéro ENUM passe par les étapes suivantes :
• numéro initial : 1000
• numéro séparé par des points : 1.0.0.0
• numéro inverse : 0.0.0.1
• on y ajoute enfin le domaine : 0.0.0.1.orange.sn

Sur la section des modules du fichier kamailio.cfg, on renseigne le module ‘enum.so’. Avant cela, il
faut vérifier si le module est présent. On copie le chemin suivant sur le terminal et on vérifie :

IV.2.c. Création de la route :


On crée une route qui va faire une requête au niveau de ENUM afin de trouver le SIP/URI associe a
un TEL/URI et transfert d’appel du serveur Kamailio.
Elle se fait au niveau du serveur kamailio, dans le fichier de configuration kamailio.cfg :

12 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


IV.2.e. Appel de la route dans le plan de numérotation de Kamailio :
Si le numéro de l’appelé commence par ‘2’, la recherche se fait au niveau du DNS. Puis on
converti le TEL/URI en SIP/URI avant de router l’appel.
Le script est mis à la fin du fichier kamailio.cfg.
Voici un exemple :

Ici, lorsque les terminaux de orange ( avec des numéros 1XXX) appelle ceux de tigo (avec des
numéros 2XXX), le script redirige l’appel vers le domaine tigo.sn.
On fait la même chose pour le domaine tigo :

Remarque :
Au niveau de chaque serveur kamailio il faut préciser dans le paramètre alias le domaine qu’il gère.

13 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


NB : la modification de l’alias se fait au niveau du fichier /etc/kamailio/kamailio.cfg

V. Test de connectivité:
Au niveau des terminaux, si on veut utiliser le TEL/URI, on utilise les méthodes suivantes :
• ‘+’ suivi du numéro : ex : +1000
• tel : numéro : ex : tel:1000
• ‘00’ suivi du numéro : ex : 001000

V.1. Configuration des Terminaux :


V.1.a. Clients du domaine orange.sn et tigo.sn:
• Dans le menu principale de MicroSIP, sur l’onglet du droit on clique sur ‘Ajouter un compte’
:

14 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


• On y renseigne les informations de connexion de l’utilisateur entre autre son numéro, son
domaine, le nom du compte etc. Après cela on sauvegarde la configuration.

• La prochaine étape consiste à activer le SRV au niveau du client MicroSIP : dans


‘Paramètre’, on coche l’option ‘DNS SRV’ et on précise en même temps l’adresse IP du
serveur DNS:

• On fait la même chose pour le client du domaine tigo.sn, cependant en modifiant les
paramètres suivant le domaine choisi.

V.1.b. Test de connectivité :

• Pour faire les tests, un des clients compose le numéro précédé du signe ‘ + ’ :

Dans l’exemple qui suit le client du domaine orange.sn avec le numéro 1000 appel celui de tigo.sn
avec le numéro 2000.
Exemple d’appel simple :

15 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


• Exemple d’appel vidéo :

16 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


• Appel vidéo en cour avec deux utilisateurs de domaine différents :

17 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


Conclusion :
Ce TP nous a permis d’atteindre les objectifs spécifiés au début à savoir :
• l’interconnexion de deux serveurs de téléphonie ;
• La saisie facile des numéros d’appel aux niveau des terminaux.
Il nous a aussi permis de voir l’intérêt des enregistrements de type SRV et NAPTR, mais aussi de
mieux comprendre les paramètres du fichier de configuration de Kamailio (kamailio.cfg).
Nous avons pu mettre en place un serveur ENUM en nous basant sur le bind9 avec un
enregistrement de type NAPTR.
Dans l’épisode a venir nous allons utiliser les expressions régulière pour les déclarations de type
NAPTR au niveau du DNS, mais aussi de gérer la portabilité.

18 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP


Webographie :
https://en.wikipedia.org/wiki/NAPTR_record

https://fr.wikipedia.org/wiki/Kamailio

Bibliographie :
– SIP Session Initiation Protocole de Francois-Emmanuel GOFFINET, site : https://sip.goffinet.org

– cours Téléphonie sur IP et Services, EC2LT ( École Centrale des Logiciels Libres et de
Télécommunications)

– Rapport sur : Mise en place du protocole pour les routages des appels(cas de UCAD et UGB) de
Mahamat Abderamane Abakar, étudiant à EC2LT

– Rapport sur : Mise en place du protocole ENUM pour le routage des appels de Mahamat
Abderamane Abakar, étudiant à EC2LT

19 Utilisation des Enregistrements SRV et NAPTR en Téléphonie sur IP

Vous aimerez peut-être aussi