Vous êtes sur la page 1sur 46

RAPPORT SUR l’IMPLEMENTATION

D’OPENIMSCORE ET GESTION DE PROFIILS


ABONNES

ANNEE ACADEMIQUE 2019 -2020


MASTER 2
RESEAUX ET TELECOMS

FAIT PAR : PROFESSEUR ENCADRANT :

ELENGA RABINE MARIEN SAMUEL OUYA


INTROUDUCTION
Projet lancé en 2006 pour promouvoir l’adoption de la technologie IMS dans les réseaux de
télécommunications de prochaine génération, et amener le développement de nouveaux services
basés sur IMS, OpenIMSCore est une implémentation open source des fonctions de contrôle de
session d’un coeur de réseau IMS (serveurs CSCF) et d’un Home Subscriber Server (HSS), qui forment
ensemble les éléments de base d’une architecture IMS/NGN. Tous les composants sont basés sur des
logiciels open source, tels que SER (SIP Express Router) ou MySQL.

Cette implémentation est avant tout conçue pour la recherche et le développement (fournisseurs de
matériel de télécommunications, opérateurs de réseaux, projets de recherche universitaire).

OpenIMSCore a été développé par FOKUS (Institute for Open Communication System), le centre de
recherche et développement en télécommunications de l’institut Fraunhofer, basé à Berlin

En ce sens, IMS devrait donc pouvoir permettre la création et le déploiement de services riches et
innovants par les opérateurs, tels que la communication IP en temps réel (via un simple plugin [1], à
l’aide d’un Framework [2] ou suivant le principe SOA [3]), et autoriser un utilisateur à accéder à des

Services par tous les médias pris en charge

Architecture IMS
IMS propose une architecture très modulaire, que l’on peut diviser en 3 couches

Une couche applicative, composée de serveurs d’application (AS) hébergeant les services gérés par
l’infrastructure IMS, et d’un HSS (Home Subscriber Server) recensant les utilisateurs IMS;

Une couche de contrôle, constituant le cœur du réseau IMS (contrôle de session et de des médias);
Une couche de transport, qui correspond à l’ensemble des composants réseaux permettant l’accès
au réseau IMS par les divers média d’accès.

IMPLEMENTATION
Prérequis

• Accès réseaux
• Ubuntu 14v 64bits
• une adresse IP
• Asterisk 16 pour l’interconnexion
• serveur DNS exemple Bind avec les enregistrements de type SRV

INSTALLATION DES PAQUETS


Nous allons procéder par installer les paquets utiles dans le cadre de notre travail

Compte tenu dans le cadre de notre travail nous allons utiliser une base de donnée hors nous allons
installer un paquet qui va nous permettre de manipuler la base de donnée sur interface
Télécharger le code source et le compiler
NB avant de passer l’étape ci nous devons d’abord mettre la base de donnée
en réseaux pour cela on se déplace sur le dossier de configuration comme
suit

Puis

Maintenant nous pouvons commencer notre travail

Ici nous allons créer un dossier de travail

Puis nous allons créer un dossier comme suit et placer le serveur CSCF

Nous allons Créer le dossier FHoSS et y placer le serveur HSS :


Compilation de Open IMS Core

On va commencer pour le serveur CSCF

Puis le HSS

NOUS ALLONS INSTALLER LE PAQUET POUR LE SERVEUR DNS


Configuration de DNS :
Un échantillon de la zone DNS du fichier peut être trouvé dans ser_ims/cfg/open-ims.dnszone

A cela il faut juste copier le contenu du fichier de zone DNS se trouvant dans le répertoire cfg et
le mettre dans le dossier de configuration du serveur

On va remplacer l’adresse ip local à notre adresse qu’on utilise ainsi que le nom de domaine

Editer le fichier named.conf.default-zones comme ci-dessous :


Renseigner dans le fichier resolv.conf l'adresse IP du serveur DNS comme ci-dessous

Vérification du nom de domaine


Le nom de domaine par défaut dans les fichiers de configuration de OpenIMSCore est open-
ims.test dans ce cas nous allons lancer les scripts pour pouvoir le configurer avec nom de
domaine ainsi que notre adresse ip

Il est possible que vous obteniez une erreur lors du lancement du script; dans ce cas, il est fort
probable que celle-ci soit liée à la variable d’environnement JAVA_HOME. Vérifier que cette variable
a été correctement exportée. Si ce n’est pas le cas, lancer la commande suivante dans un terminal

Puis nous allons importer les base de données

Apres avoir importé les bases de données nous allons maintenant changer les privilèges
Sur les utilisateurs se trouvant sur la base de données comme l’illustre l’image ci-dessous
Pour cela on va prendre notre exploreur Firefox puis taper
@dressiez/phpmyadmin ou bien localhost/phpmyadmin
Fait de même pour le ICSCF
Apres modifier les privileges
L’image doit se présenter comme ci-dessous
Copier tous les fichiers de configuration originaux et les scripts dans un dossier de votre
choix, comme dans notre cas nous avons utilisé le dossier de notre travail démarrer
NB : c’est script ci-dessous nous permet de démarrer la plateforme IMS plateforme

Après on va lister pour voir le contenu de notre dossier de travail

A cela nous allons 4 scripts pour démarrer notre plateforme

A cela pour démarrer un script sur linux il existe plusieurs maniéré soit sous forme d’une
programmation bash ou bien vous mettez juste le point(.) devant le script et un /

./icscf.sh

./pcscf.sh

./scscf.sh

Puis vient le quatrième script se trouvant dans le fichier


Nous allons donc lancer ces scripts

Du serveur sur l’interface réseaux de l’hôte du client

Configuration client par défaut Alice


Pour la configuration de l’utilisateur bob on fait la même procédure comme celui d’Alice

TEST D’APPEL ENTRE ALICE ET BOB


Administration du HSS : ajout d’un nouveau compte d’utilisateur

Pour se connecter à la console d'administration du hSS, il faut saisir dans un navigateur


l'URL suivante : http://ip:8080. Les informations de connexion par défaut sont :

Login : hssAdmin

Mot de passe : hss


CREATION UTILISATEUR IMS

Pour ce faire il faut :

Cliquer sur User Identity pour créer l’IMPU, l’IMPI et l’IMSU.


Etape2

ICI ON VA RENSEIGNER LE FORMULAIRE COMME SUIT AFIN DE :

Associer un réseau visité à l’IMPU

ETAPE 3 création IMPU

Création IMPI : cliquer à nouveau sur User Identities et cliquer sur create comme
ci-dessous :
Cliquer sur Save et sur la page qui apparait associer l’identité publique à l’identité
privée qui vient d’être créée, comme l’indique les flèches sur la captures
ETAPE 4

Dans cette étape nous allons procéder à la création d’un IMSU

Création IMSU : cliquer à nouveau sur User Identities, puis sur Create sous IMS
Subscription :

Création IMSU : associer l’IMPI à l’IMSU

Test d’authentification de l’utilisateur créé sur Boghe


Pour plus de détails et visibilité d’appel nous allons procéder a installer un serveur léger de
supervision pour les appels

INSTALLATION DE SIPPGREP

Prérequis

Puis on va telecharger le dossier avec la commande git

Apres avoir telecharger, il faut se déplacer

Sur le dossier puis commencer à le compiler


Lancer le script comme suit

Apres lancer le configure il faut utiliser le la commande make et make Install


Notre serveur est installé puis passons au test d’appel entre marien et bob
Lancer ensuite notre serveur de supervision pour la visibilité des appels

Pour ce faire il faut respecter cette syntaxe précise

#sipgrep port X -H udp : Y : Z X

1 : parcourt les ports

X: le numéro du port ou écoute le serveur de téléphonie

Y : le numéro d’adresse du serveur de supervision

Z : numéro de port de serveur de supervision qui varie entre 4060 à 4061 4061 : numéro de port en
externe de serveur de supervision 4060 : numéro de port en externe de serveur de supervision udp :
protocole de transport utilisé

Nous avons la présence des requêtes si Ack qui montre le début d’appel

Interconnexion de deux serveurs IMS

Un nouveau serveur IMS a été mis en place. Voici le résumé des configurations des deux
serveurs IMS.
Réseau IMS 1 : laetitia.sn

Adresse IP du serveur : 192.168.1.28

Nom de domaine : laetitia.sn

Serveur DNS : 192.168.1.29

Réseau IMS 2 : rtn.sn

Adresse IP du serveur : 192.168.1.29

Nom de domaine : rtn.sn

Serveur DNS : 192.168.1.28

Configuration particulière au niveau du serveur IMS 1 :

Ici il faut annoter que Le serveur IMS 1 n’a pas besoin d’être configuré en tant
que serveur DNS. Il n’est donc pas nécessaire de faire les déclarations de zone
dans le dossier /etc/bind/

- Le serveur IMS 1 doit utiliser comme serveur DNS, la machine où le serveur IMS
2 est installé. Mettre donc dans le fichier /etc/resolv.conf du serveur IMS 1,
l’adresse IP du serveur DNS qu’il doit utiliser : 192.168.1.29

Configuration particulière au niveau du serveur IMS 2 :

Dans le dossier /etc/bind/, déclarer à la fois la zone rtn.sn et laetitia.sn avec leurs adresses
IP respectives

Puis éditons le fichier zone


Puis celui de l’autre IMS

Puis Modifier le fichier /etc/bind/named.conf.default-zones


A cette étape, un appel peut être fait entre un utilisateur du réseau IMS 1 et un autre du réseau IMS
2

Alors nous avons préféré faire les tests avec l’utilisateur qu’on créer

Comme la montre les figure ci-dessous

Réseau IMS 1 : laetitia.sn

Adresse IP du serveur : 192.168.1.28

Nom de domaine : laetitia.sn


Client : BOGHE

Serveur DNS : 192.168.1.29

Réseau IMS 2 : rtn.sn

Adresse IP du serveur : 192.168.1.29

Nom de domaine : rtn.sn

Client : BOGHE

Serveur DNS : 192.168.1.28

Lançons le serveur pour la visibilité d’appel

Ici nous remarquons la requête ACK qui montre que le destinataire Reich a décroché

Cela demande d’avoir une bonne connaissance sur les méthodes sip

DETAILS d’appels entre marien et reichth

TP2 : Implémentations de quelques services téléphoniques

L’Objectif est de mettre en place de serveurs d’application IMS implémentant des

Puis nous observons la présence de la requête ACK qui montre le début d’appel
Administration du HSS : configuration d’asterisk comme serveur d’application de
IMS

Objectifs
- Coupler Asterisk et OpenIMSCore

- Configurer un serveur d’application

- Passer des appels entre utilisateurs d’asterisk et openimscore

Prérequis
- Serveur Asterisk opérationnel

- Utilisateur Sip

- Reseau IMS opérationnel

Installation et configuration d’Asterisk

Installation des dépendances d’asterisk

#apt-get install g++ bison libcurl4-openssl-dev libcurl4-gnutls-dev libcurl4-openssl-dev libssldev uuid-


dev ncurses-base ncurses-term libncurses5-dev libjansson -dev libxml2- dev sqlite3 libsqlite3-dev
libspandsp-dev lib srtp0-dev libopus-dev libopusfile-dev libopus-dev libvpx-dev opus-tools
libmp3lame-dev libmpg123-dev mpg123 libmpg123-0

Installation d'Asterisk

 Pour se faire rendez-vous dans le dossier /usr/src / et créer un dossier nommé Asterisk
 Puis télécharger le paquet asterisk d’extension en (gz) de votre choix.
 Ensuite on le désarchive tar -xvf asterisk-16.0.0.tar.gz
 - Lors de la configuration d’asterisk, plusieurs erreurs seront signalées du fait du non
installation de certaines dépendances

Avant de compiler Asterisk, il faut s’assurer que le système dispose de toutes les
dépendances. Pour cela, on se déplace sur asterisk et on exécute La commande suivante :
#./configure
- Il faut ensuite choisir les options de compilation
# make menuselect
- Enfin lancer la compilation puis l’installation d’asterisk par :
#make
# make install
#make samples
Puis pour lancer le ctl d’asterisk il faut utiliser la commande comme suit
#make config

Maintenant que tout est installé nous allons vérifier que celui-ci fonctionne bien

Le port d’asterisk par défaut c’est 5060 mais vu que nous allons faire une interconnexion et notre
serveur IMS écoute sur le même port donc pour éviter les conflits nous allons changer le port
d’écoute d’asterisk par défaut et lui attribué le port 5070 pour éviter tout conflit de port
Vérification du port

Création d’un compte au serveur IMS dans le fichier sip.conf


Ici nous avons utilisé des numéros pour faire la création de nos comptes SIP dans l’optique de
reproduire le plan de numérotation des abonnés des opérateurs aux Sénégal

Configuration du plan de numérotation

En cli

Nous allons faire d’abord le test d’appel entre utilisateur asterisk avant de procéder a
l’interconnexion
Maintenant pour que les appels puissent aboutir entre les deux serveurs nous définir un plan de
numérotation pour l’utilisateur de l’IMS

Puis passant a :

Création d’un serveur d’application Un serveur d’application offre des services à valeur ajoutée au
réseau IMS
ETAPE 2

Création d’un tigger point

ETAPE3

Puis Créer un IFC et y associer le Trigger Point et le serveur d’application précédemment créés :

Comme le montre la capture ci-dessous après on clique sur Save afin d’enregistre les modifications
ETAPE 4

Édite le trigger point pour y ajouter des règles a clé on procède comme suit faire une recherche dont
on renseigne le ID ou le nom

Puis cela on clique sur le tigger créé précédemment afin de faire les modifications
Cela montre que tous appels allant commençant par 76 et 76.XXX seront pris en charge par le
serveur d’application asterisk et ici on va utiliser la méthode INVITE

NB : Donc cela explique que le serveur va juste récupérer le contenu de l’entête contenant tout
numéro commençant par 76 et doit être pris en charge

ETAPE 5

Associons l’IFC créé au profil de service par défaut des utilisateurs. Pour cela, cliquons à nouveau sur
Services et sur search au niveau de « Service Profiles »

Puis renseigner ce champ comme suit :


ON CLIQUE SUR

Puis on renseigne le champ notre IFC


ON DONNE LA priorité 1 vu que par défaut était à 0

Puis on l’ajoute

La configuration du serveur d’application est terminée. Asterisk est configuré comme serveur
d’application du serveur IMS Maintenant on va passer au test et voir que les utilisateurs du réseau
IMS peuvent appeler ceux d’asterisk sans problème et vice-versa.

Vu que précédemment nous avons installé un serveur de supervision qui nous donne les détails
d’appels

Nous allons le lancer

A cela nous allons utiliser le compte que nous avons créé sur notre plateforme IMS
Ici nous voyons le numéro asterisk

Que l’utilisateur Asteris vient de décrocher


AFFICHAGE DES DETAILS D’APPEL

Visibilité des détails d’appels sur le serveur de supervision

NOUS LANCER d’abord notre serveur on lui disant qu’il nous retourne tous les appels qui se sont
déroulées dans les réseaux 192.168.1.29 utilisant le port de transport sip 4060-4061

Avec comme port d’application serveur ip 8080 qui est pour l’mis

Nous voyons déjà l’utilisateur marien appeler

Et que nous avons une reponse TRying


Puis nous avons une reponse de confirmation 200 ok

Avec les reponse multimédia

Puis nous avons la requête qui montre que l’appel vient de débuter
Maintenant un des utilisateurs décide de mettre fin à l’appel nous voyons cette requête apparaitre
appeler BYE

Puis vient une confirmation de la requitte émise pour mettre fin à la session

TEST D’APPEL ENTRE un utilisateur par défaut IMS

Nous prenons Bob


VISUALISATION SUR LE SERVEUR DE SUPERVISION

PUIS DEBUT D’APPPEL


FIN D’APPEL
Conclusion

Dans cette partie nous avons pu faire l (interconnexion entre asterisk et openimscore.

Et ce que nous avons retenu dans ce rapport c’est de bien comprendre quelques notions notamment
les IFC, Trigger point, service profile… et d’avoir une vue globale sur l’interface d’administration du
HSS et de nous familiariser avec cette dernière. Nous avons atteint les objectifs fixés au début de
notre travail.

Vue que nous avons utilisé l’IMS et ASTERISK et que nos deux fonctionne sur du SIP

Et que nous avons appris connaissances des requêtes afin de faire la supervision et d’avoir un détail
d’appels en temps réel ainsi que les flux multimédia transporté lors de l’établissement de chaque
appel

Vous aimerez peut-être aussi