Infrastructure IMS Exemple d’une solution à base de composants open source Vers
Infrastructure IMS Exemple d’une solution à base de composants open source Version : Draft Date : 1er Avril 2010 V1.0 Mars 2010 Eric Macioszczyk 1, rue de Comboire 38170 Seyssinet-Pariset 06.88.69.70.10 Email : eric.macioszczyk@catis.fr Infrastructure IMS open source Eric Macioszczyk C@TIS EURL Page 2 sur 18 http://www.catis.fr Copyright © C@TIS 2010 SOMMAIRE Page 1 INTRODUCTION ......................................................................................................... 4 2 DESCRIPTION DES COMPOSANTS ............................................................................... 5 2.1 LE CŒUR DE RESEAU OPEN IMS................................................................................................ 5 2.2 LES TERMINAUX ..................................................................................................................... 5 2.3 LE SERVICE DE PRESENCE .......................................................................................................... 6 2.4 LA PLATEFORME DE DEVELOPPEMENT DE SERVICE ......................................................................... 6 3 ARCHITECTURE .......................................................................................................... 8 3.1 INTRODUCTION ...................................................................................................................... 8 3.2 FONCTIONS ........................................................................................................................... 8 3.3 LES SERVEURS ...................................................................................................................... 10 3.4 LES OPERATING SYSTEM ........................................................................................................ 10 4 LE CŒUR DE RESEAU ............................................................................................... 12 4.1 OPENIMS .......................................................................................................................... 12 4.2 LES ELEMENTS DU CŒUR DE RESEAU ......................................................................................... 12 4.3 LA CONFIGURATION .............................................................................................................. 13 4.4 TRACING ............................................................................................................................ 14 5 LES TERMINAUX ...................................................................................................... 15 5.1 UCTIMSCLIENT ..................................................................................................................... 15 5.2 MERCURO .......................................................................................................................... 15 5.3 MONSTER ........................................................................................................................... 15 6 LE SERVICE DE PRESENCE ......................................................................................... 16 6.1 L’ARCHITECTURE .................................................................................................................. 16 6.2 LE SERVEUR SIP OPENSIPS ..................................................................................................... 16 6.3 LE SERVEUR XDMS OPENXCAP ............................................................................................... 16 6.4 L’INTERFACE OPENSIPS-OPENXCAP .......................................................................................... 16 6.5 L’INTERFACE AVEC UN CLIENT SIP ............................................................................................ 16 6.6 L’INTEGRATION AVEC OPENIMS ............................................................................................. 16 6.7 L’ALTERNATIVE MOBICENTS JAIN ........................................................................................... 16 7 LA PLATEFORME DE DEVELOPPEMENT ..................................................................... 17 7.1 L’ARCHITECTURE DE LA PLATEFORME ........................................................................................ 17 7.2 L’INTEGRATION D’ECLIPSE COMME IDE .................................................................................... 17 7.3 L’ENVIRONNEMENT JAVA EE .................................................................................................. 17 7.4 LE SERVEUR JBOSS .............................................................................................................. 17 7.5 LES SIP SERVLETS MOBICENTS ................................................................................................ 17 7.6 L’INTERFACE DIAMETER MOBICENTS ........................................................................................ 17 7.7 LA PUBLICATION D’UN SERVICE ................................................................................................ 17 7.8 L’INTEGRATION AVEC OPENIMS ............................................................................................. 17 8 LES SCENARIIS ......................................................................................................... 18 8.1 ENREGISTREMENT D’UN CLIENT IMS ........................................................................................ 18 8.2 ETABLISSEMENT D’UNE SESSION ENTRE CLIENTS .......................................................................... 18 8.3 INFORMATIONS DE PRESENCE ................................................................................................. 18 Infrastructure IMS open source Eric Macioszczyk C@TIS EURL Page 3 sur 18 http://www.catis.fr Copyright © C@TIS 2010 8.4 MESSAGERIE INSTANTANEE .................................................................................................... 18 8.5 EXEMPLE DE SERVICE : NOTIFICATION D’APPEL MANQUE............................................................... 18 8.6 UTILISATION DU SERVEUR XDMS ............................................................................................ 18 Infrastructure IMS open source Eric Macioszczyk C@TIS EURL Page 4 sur 18 http://www.catis.fr Copyright © C@TIS 2010 1 Introduction Infrastructure IMS open source Eric Macioszczyk C@TIS EURL Page 5 sur 18 http://www.catis.fr Copyright © C@TIS 2010 2 Description des composants 2.1 Le cœur de réseau Open IMS Open IMS (http://www.openimscore.org/) est un cœur de réseau IMS basé sur la solution open source SIP Express Router (SER). Il a été développé par l’institut Fraunhofer FOKUS en Allemagne et les premières versions sont apparues à partir de 2006 et sont destinées à des plateformes du monde Linux. Cette solution fournit toutes les fonctions élémentaires d’un cœur de réseau IMS, à savoir : P-CSCF, I-CSCF et S-CSCF. Il fournit également la fonction HSS permettant donc de provisionner un certain nombre d’utilisateurs et de leur associer un profil de service permettant la mise en œuvre de l’invocation de services si chers à l’architecture IMS. 2.2 Les terminaux Uctimsclient Le client IMS Uctimsclient (http://uctimsclient.berlios.de/) a été conçu pour être utilisé en conjonction avec Open IMS. C’est donc une solution intéressante pour compléter notre réseau cœur car elle a été de ce fait testée et validée avec ce dernier. Le client Uct a été développé par un groupe de recherche de l'Université du Cap en Afrique du Sud. La dernière version présente encore quelques disfonctionnements, notamment dans la gestion des informations de présence, mais permet une émulation très correcte des caractéristiques principales d’un terminal IMS. Seule une version Linux existe à ma connaissance. Mercuro Mercuro (http://www.mercuro.net/) n’est pas un produit open source mais une des toutes premières solutions commerciales d’un client IMS. Ses caractéristiques sont plutôt riches incluant notamment une gestion de serveurs XDMS (XCAP Document Management server) dès sa version gratuite d’évaluation (version Bronze). Je regrette cependant que cette même version ne supporte les mécanismes de pré-condition (dit QoS) et que par conséquent son interopérabilité avec le client Uct nécessite de désactiver cette fonction. Son usage est toutefois globalement agréable et son support de Windows et Windows mobile permet de mixer les environnements (Windows + Linux). Monster Monster (http://www.monster-the-client.org/) n’est a proprement parler pas un simple client mais plutôt un réel Infrastructure IMS open source Eric Macioszczyk C@TIS EURL Page 6 sur 18 http://www.catis.fr Copyright © C@TIS 2010 framework permettant de développer des applications clientes destinées au monde mobile (IMS en autre). Il a également été développé par l’institut Fraunhofer FOKUS. Je n’ai pour l’instant fais un usage très restreint de cette solution qui adresse un grand nombre d’environnement (Windows, Linux, Android, etc..). 2.3 Le service de présence Le serveur applicatif OpenSIPS OpenSIPS (Open SIP Server, http://www.opensips.org/ ) est une implémentation Open Source d'un serveur SIP. Il s’agit en fait d’une instanciation de la solution OpenSER rebaptisé pour l’occasion. OpenSIPS est plus qu'un simple proxy SIP car il inclut des fonctionnalités de niveau applicatif et c’est justement dans ce cadre que je l’utilise dans ma solution. Grâce à son moteur de routage très souple et à une conception très modulaire (mais de configuration un peu obscure ... on ne peut pas tout avoir), il peut être utilisé comme un vrai serveur de présence. Il remplit donc ce rôle dans mon infrastructure et sera perçu par notre cœur de réseau IMS comme un serveur applicatif dont les caractéristiques (d’invocation et droits d’accès) seront configurées dans le HSS. Le serveur de document XML OpenXCAP OpenXCAP (http://openxcap.org/) est une implémentation open source d’un serveur XCAP. Grâce au protocole XCAP un client IMS peut lire, écrire et modifier des données de configuration de service stockées au format XML sur un serveur (de type XDMS). Un serveur XCAP peut donc être utilisé par des clients IMS pour gérer des listes de contacts et la politique d’autorisation d’accès à des informations de type présence (presence rules). Le serveur OpenXCAP a été développé pour fonctionner de pair avec le serveur OpenSIPS utilisé en tant que serveur de présence (Presence Agent PA). 2.4 La plateforme de développement de service L’IDE Eclipse Le but de notre cette plateforme étant de pouvoir développer et tester des nouveaux services, il est de ce fait nécessaire de pouvoir bénéficier d’un environnement couvrant ces deux fonctionnalités et s’intégrant parfaitement à notre environnement. La plateforme Eclipse remplit parfaitement ce rôle et grâce à ses nombreux plug-ins apporte une réelle valeur ajoutée dans la simplification du processus de développement. Infrastructure IMS open source Eric Macioszczyk C@TIS EURL Page 7 sur 18 http://www.catis.fr Copyright © C@TIS 2010 Serveur Java EE JBoss JBoss est un serveur d’application Java du monde open source permettant d’exécuter des applications développées avec des technologies web de type Servlets, JSP, etc … Il constituera donc le moteur exécutif de notre serveur applicatif. SIP Servlets Mobicents La solution SIP servlets de Mobicents est une plate-forme ouverte permettant de développer et déployer des applications SIP portables et des services Web Java EE convergents . Il s'agit de la première implémentation open source certifiée conforme de la Servlet SIP 1.1 (JSR 289 Spec). La plateforme Mobicents peut utiliser à la fois les conteneurs JBoss et Tomcat. Mobicents Diameter Mobicents propose une stack Diameter permettant de compléter notre environnement afin de permettre à notre AS de pouvoir s’interfacer avec le HSS (Interface Sh). Celle-ci est fournie pré-intégrée avec l’environnement JBoss et SIP Servlets. Cette interface nous permettra de développer des services nécessitant un accès à la base de données HSS. Infrastructure IMS open source Eric Macioszczyk C@TIS EURL Page 8 sur 18 http://www.catis.fr Copyright © C@TIS 2010 3 Architecture 3.1 Introduction L’architecture que je propose ici est évidemment une vue simplifiée d’une architecture IMS telle qu’elle serait vue par un opérateur dans le cadre d’un déploiement car elle ne tient compte ni des problèmes d’interconnexion avec le réseau RTC existant (et de ses services) ni des problématiques d’accès, de QoS ou de facturation. Elle adresse donc principalement les mécanismes de routage de cœur de réseau mais permet cependant d’y intégrer des services et d’adresser les problématiques de plateforme de développement (SDP). Je souhaite m’appuyer sur cette infrastructure afin de mettre en place de façon concrète les nouvelles approches et concepts dans le développement et l’intégration de nouveaux services chez un opérateur. 3.2 Fonctions Le but de cette infrastructure est de reproduire aussi fidèlement que possible une architecture IMS telle que représentée dans le schéma ci-dessous avec ses 4 couches distinctes, accès, média, contrôle et services. L’implémentation proposée reprend donc cette vision en couche en satisfaisant les fonctions suivantes : Infrastructure IMS open source Eric Macioszczyk C@TIS EURL Page 9 sur 18 http://www.catis.fr Copyright © C@TIS 2010 Une fois encore, le but n’est pas ici de faire un cours sur l’architecture IMS mais de présenter une instanciation concrète de celle-ci au travers l’utilisation de composants logiciels open source (ou gratuits). De ce fait j’ai regroupé au sein d’un même bloc (couche de service) des fonctions qui doivent respecter néanmoins une certaine hiérarchie. Par exemple les « services enablers » peuvent être vus comme des ressources vis-à-vis des serveurs applicatifs, de même le bloc SDP (Service Development Platform) n’est uploads/Ingenierie_Lourd/ draft.pdf
Documents similaires










-
35
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 27, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.3228MB