WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et mise en oeuvre d'un serveur USSD sur la plateforme OpenSS7

( Télécharger le fichier original )
par Cedric Perez DONFACK
Ecole Nationale Supérieure Polytechnique de Yaoundé I - Ingénieur de Conception en Informatique 2008
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

DEDICACES

DEDICACES

Je dédie ce travail :

À l'Éternel mon Dieu, En qui je trouve toute mon inspiration. Il pourvoit à mes besoins et sans cesse veille
sur moi,

À mon père M. NANGUE Michel pour l'amour et l'affection dont il me comble,

À la mémoire de ma chère maman, feue NANGUE née VOGUE Marie Solange, Qui

n'aura pas vécu assez longtemps pour jouir du résultat de son travail,

À Madame TIADEM Sylvie Clémentine qui m'a sans cesse soutenu dans mes moments de détresse et

de maladie,

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page i

REMERCIEMENTS

Avant tout développement sur ce mémoire de fin d'études, nous rappelons que : « Une seule main ne peut pas attacher un paquet » dit la sagesse africaine. Ainsi, il apparaît opportun de commencer nos propos par des remerciements, à ceux qui nous ont beaucoup appris au cours de ce stage, à ceux qui ont eu la gentillesse de faire de ce stage un moment très profitable. Nous remercions notamment :

Pr John MUCHO NGUNDAM pour l'honneur qu'il me fait en acceptant de présider le jury de soutenance ;

Dr Augustin YEKEL pour son soutien et pour avoir accepté de juger mon travail ; Dr NZALI pour avoir accepté de juger mon travail ;

A mon encadreur académique Ing./DEA Ibrahim MOUKOUOP NGUENA - Enseignant à l'ENSP, pour sa disponibilité, ses remarques et l'encadrement apporté tout au long de ces trois dernières années d'études au sein du département de génie informatique de l'ENSP. Nos échanges ont toujours été très enrichissants.

Ing Serge TAMPOLLA qui en plus d'être mon encadreur professionnel, a été un véritable instructeur civique ;

Pr. Claude TANGHA - Chef de département de Génie Informatique de l'ENSP, pour sa rigoureuse contribution à notre formation.

Dr. Georges Edouard KOUAMOU - Enseignant à l'ENSP, pour le soutien moral émis à notre égard durant ce stage.

Ing./DEA Thomas NDIE DJOTIO - Enseignant à l'ENSP, pour ses encouragements.

A Mon frère M.NANGUE Achille pour le suivi régulier et permanant durant ma formation, À la famille TIADEM pour leur soutien morale, matériel et financier,

À la famille ASSONTSA pour leur suivi durant ma formation,

À la famille NGUENANG pour leur soutien sous toutes les formes durant ma formation, A la famille TSAFACK Apollinaire pour la rigueur qu'elle a toujours prôné

A la famille NGUEPI Armand pour les conseils qu'elle suggérait.

À la famille TATCHOU pour leurs soutien durant ma formation.,

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page ii

A tous les enseignants de l'ENSP pour ces cinq années deformation

L'entreprise SOFT-TECH International pour le soutien qu'elle apporte aux étudiants de l'Ecole Nationale Supérieure Polytechnique de Yaoundé à travers sa politique de stage.

A tout le personnel de SOFT-TECH Int pour leur soutien durant notre stage

M.WAFEU André et M.YAMENNI Alain, pour leurs soutiens et leurs conseils qui m'orientent savamment dans le monde professionnel.

Dr KOUANFACK Charles, KOUANFACK Sylvie, KOUANFACK Emilienne et Ingénieur WOUATSA Georges pour leurs réconforts sur tous les plans.

A M. NANA Marc, M.DJOUOMESSI Rodrigue, et M. FOTSO NOTUE pour leurs apports dans la qualité de rédaction de ce mémoire

A l'Ingénieur NANTIA Justin, M.DJOUFACK Vincent,M. DJOUFACK Jean Richard pour leurs accueils affectueux en ma personne.

Nous ne saurions passer sous silence, ceux-là qui ont de près ou de loin contribués à la réalisation de ce travail. Nous pensons à:

M. NANGUE Michel, Mme NANGUE Emilienne.

Tous mesfrères et soeurs pour leur soutien ineffables pendant les périodes difficiles, et particulièrement Achille, Serges, Médard, Landry, Olivier, Valère, Guileine, Romuald.

Mes camarades des promotions ENSP2008 et ENSP-GI2008 pour toutes ces années passées ensemble. Je pense en particulier à MBO Louis Ages et PENTANG NDENG Michèle Aline, ceux avec qui j'ai effectués ce stage.

Tous mes amis et connaissances.

Tous ceux que nous avons omis de citer ici, et qui ont contribués d'une façon ou d'une autre au bon déroulement de ce mémoire

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page iii

ACRONYMES

Sigle Signification

ATI Array Technologie Incorporation

ATM Asynchronous Transfer Mode.

AuC Authentification Center

BSC Base Station Controller.

BTS Base Transceiver Station

CBC Commercial Bank of Cameroon

CCITT N°7 Comité Consultatif International Télégraphique et Téléphonique.

CLASS Custom Local Area Signaling Service.

CNAM Calling Name.

DCS Data Coding Scheme

DNS Domain Name Server

EIR Equitement Identity Register

EJB Entreprise Java Beans

ENUM TElephone NUmber Mapping.

GSM Global System for Mobile communications

GSMC GSM Center

HLR Home Local Register

HPLMN Home PLMN

HTTP Hypertext Transfer Protocol

IETF Internet Engineering Task Force

IMSI International Mobile Subscriber Identity

IN Intelligent Network

INAP Intelligent Network Application Protocol

IP Internet Protocol

IPBX Integrated PBX

IPSS7 Internet Protocol SS7

ISDN Integrated Services Digital Network

ISUP ISDN User Part

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page iv

ITU International Telecommunication Union

ITU-TS ITU Telecommunications Sector

J2EE Java Platform Enterprise Edition

J2ME Java Platform Micro Edition

J2SE Java Platform Standard Edition

JAIN Java API integrated Network.

JVM Java Virtual Machine

JWS Java Web Services

L.S Location Server

LIDB Line Information Data Base

M2PA MTP2 Peer-to-peer user Adaption layer

M2UA MTP2 User Adaption layer

M3UA MTP3 User Adaption layer

MAP Mobile Application Part.

MG Media Gateway

MGC Media Gateway Controller

MS Mobile Station

MSC Mobile Switching Control.

MSISDN Mobile Subscriber Integrated Services Digital Network

MTP Message Transfert Part

NGN New Generation Network

OMAP Operations Maintenance and Administration Part

OSI Open Systems Interconnection

PABX Private Automatic Branch eXchange

PBX Private Branch eXchange

PC Personal Computer

PCI PC Interface

PINX Private Integrated Network eXchange

PLMN Public Land Mobile Network

PSTN Public Switched Telephone Network

QSIG Q-Signaling

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page v

RFC Request for Comments

RTC Réseau Téléphonique Classique

RTP Real time Transport Protocol

RTPC Réseau Téléphonique Public Commuté

SC Services Code

SCCP Signaling Connection Control Part

SCP Service Control Point

SCTP Stream Control Transmission Protocol

SDP Session Description Protocol

SG Signaling Gateway

SGBC Société Générale des Banques du Cameroun

SGBD Système de Gestion des Bases de Données

SIGTRAN SIGnaling TRANsport

SIM Subscriber Identity Module.

SIP Session Initiation Protocol

SIPT SIP Transport

SMS Short Message Service.

SMSC SMS Center.

SMTP Simple Mail Transfer Protocol

SS7 Signaling System No.7

SSP Service Switching Point

T.RAU Transcoder and Rate Adaptor Unit

TCAP Transaction Capabilities Applications Part

TALI Transport Adaption Layer Interface

TCP Transmission Control Protocol

TUP Telephone User Part

UDP User Datagram Protocol

UM Unified Messaging

USSD Unstructured Supplementary Services Data.

USSDC USSD Center

VLR Visitor Local Register.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page vi

VoIP Voice Internet Protocol

VPLMN Visited PLMN

WAP Wireless Application Protocol

WI-FI Wireless Fidelity

XML eXtended Markup Language

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page vii

RESUME

RESUME

Dès le début des années 1980, l'émergence des réseaux sémaphores numéro °7 (réseaux SS7) a permis le développement d'un grand nombre de services à valeur ajoutée notamment les services USSD. Ces services sont utilisés de nos jours principalement par les opérateurs téléphoniques pour permettre aux utilisateurs finaux de communiquer avec leurs bases de données ; ceci à coût nul. Au vu de leur gratuité et de leur utilisation en temps réel, les services USSD peuvent servir d'outils de communication entre une entreprise et ses fournisseurs et/ou ses clients.

Toutefois, l'implémentation des réseaux SS7 requiert un certain nombre d'équipements dont les coûts ne sont pas à la porté du premier venu. Aussi certains opérateurs téléphoniques n'ayant pas toujours assez de moyens pour se procurer ces infrastructures, ont développé des projets, notamment OpenSS7 afin de transporter l'architecture de ces infrastructures sur des PCs (Personal Computer). Au vu du progrès de la téléphonie au Cameroun, la société SOFT-TECH International a décidé de mettre en oeuvre son propre serveur USSD. Elle penche son intérêt sur la plateforme OpenSS7 encore peu connue et de surcroît, communauté restreinte. Ainsi le travail soumis à notre étude est alors de concevoir et mettre en oeuvre un serveur USSD fonctionnant sur OpenSS7.

Au cours de notre stage, nous avons déployé l'open source sur une distribution Linux (Fedora Core version 6); puis, nous nous sommes intéressés au mode de fonctionnement de la plateforme ainsi que des projets qu'elle intègre. Nous avons ensuite mené une étude sur les cartes d'extensions PCI et les terminaux compatibles avec OpenSS7, ceci nous a permis de présenter l'utilisation optimale de chacune de ces cartes. Nous avons enfin proposé et implémenté une architecture du serveur USSD qui répondait aux préoccupations de l'entreprise.

Mots clés : open source, réseaux sémaphores numéro °7,USSD, OpenSS7, réseau

SS7.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page viii

ABSTRACT

ABSTRACT

At the eve of 1980s, the emergence of semaphores networks number °7 (SS7 networks) allowed added values to the development of a big number of services notably USSD services. These services are presently used in most cases by mobile telephone operators to enable final users to endow communication with their databases; at no expense. In view of their unwarranted nature and in their real-time use. USSD services here by stand as a judicious communication tools between a firm and his purveyors.

Nevertheless, the implementation of SS7 network requires a certain number of equipment expenses making it not available to everybody. Therefore, certain telephone operators do not always have enough financial resources to obtain these facilities, they also have press of plans notably OpenSS7 via the architecture transportation of these PC facilities (PC: Personal Computer). Considering the evolution of telephony in Cameroon, the enterprise SOFT-TECH INTERNATIONAL INCORPORATION decided to set in place a USSD center. By so doing they have tremendously focus their attention on the OpenSS7 platform which is not well known and of a restrained community. Our bone of contention here is to conceive and implement a USSD center working on OpenSS7.

In the case of our field training period, we unfolded the open source on LINUX distribution (Fedora Core version 6); later, we were interested in the mode in which the platform functions as well as its inserts. We finally led a study on the PC extensions cards and terminate compatibility with OpenSS7, allowing us to introduce the optimum use of each of these cards. We have finally offered an architecture of the USSD Center which is a response to the enterprise needs.

Key words: open source, networks semaphores number °7, USSD, OpenSS7, SS7 network.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page ix

LISTE DES FIGURES

Figure 1: Les différents niveaux du code CCITT N°7[SS7/CCSN 2004] 9

Figure 2: Architecture du réseau GSM [Anttalainen 2003] 12

Figure 3: répartition de la signalisation et la communication. 14

Figure 4 Mobile initiated USSD dialogue[WAP 2001] 16

Figure 5: Dialogue initié par l'opérateur.[WAP 2001] 17

Figure 6: Réseau basé sur Asterisk. 27

Figure 7: Gestion des messages WAP.[Kannel 02] 28

Figure 8: Gestion des SMS.[Kannel 02] 28

Figure 9: Architecture de base de la plateforme OpenSS7 [Brian 2007] 29

Figure 10: Architecture étendue de la plateforme OpenSS7 30

Figure 11: Réseau téléphonique via OpenSS7. 34

Figure 12: Carte OpenSS7: Tormenta II [TormentaIII 2008] 36

Figure 13:Carte OpenSS7: [PH-E400P-TOR3 2008] 36

Figure 14: Architecture du Système 38

Figure 15: Architecture du détaillée du système 39

Figure 16: Diagramme des cas d'utilisation 41

Figure 17: Diagramme des classes. 43

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page x

Figure 18: Diagramme de séquence (Réception message) 43

Figure 19: Diagramme de séquence (Envoi message) 44

Figure 20: Serveur d'application USSD 45

Figure 21: Diagramme des cas d'utilisations Serveur d'applications 49

Figure 22: Diagramme des classes du serveur d'applications 50

Figure 23: Diagramme de séquence RéceptionRequete. 51

Figure 24: Diagramme de sequence TraitementRequete 52

Figure 25: Diagramme de sequence EnvoieResultat. 52

Figure 26: Saisie du code service uniquement 56

Figure 27: Liste des banques et compte bancaire 57

Figure 28: Affichage du solde 58

Figure 29: code services intégral 59

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page xi

LISTE DES TABLEAUX

LISTE DES TABLEAUX

Tableau 1: Schéma de codage des données 18

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page xii

SOMMAIRE

DEDICACES i

REMERCIEMENTS ii

ACRONYMES iv

RESUME viii

ABSTRACT ix

LISTE DES FIGURES x

LISTE DES TABLEAUX xii

SOMMAIRE xiii

INTRODUCTION GENERALE 1

PREMIERE PARTIE. CONTEXTE, PROBLEMATIQUE ET CONCEPTS. 3

Chapitre: I. ETAT DES LIEUX ET PROBLEMATIQUE 4

I.1. Présentation de l'entreprise 4

I.1.1. Produits et services offerts 4

I.1.2. Organisation 5

I.2. Contexte 6

I.3. Problématique 6

I.4. Objectif. 6

Conclusion. 7

Chapitre: II. ETAT DE L'ART 8

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page xiii

II.1. Signaling System N°7(SS7) 8

II.1.1. Structure du réseau sémaphore 8

II.1.2. Architecture du protocole ss7 8

II.1.3. Le sous système utilisateur 9

II.1.3.1. Le sous système commande des connexions sémaphores (SSCS) 10

II.1.3.2. Le sous système utilisateur pour le RNIS(ISUP) 10

II.1.3.3. Le sous système applications de gestion des transactions (en anglais TCAP) 10

II.1.3.4. Le Protocole d'Application du Réseau Intelligent (PARI ou en anglais INAP) 11

II.1.3.5. Le protocole d'application du mobile (MAP) 11

II.1.3.6. Le protocole d'exploitation et de maintenance (OMAP) 11

II.2. Global System for Mobile communication 11

II.2.1. Architecture d'un réseau GSM 12

II.2.2. Les équipements nécessaires [Ludovic 1999] 13

II.2.3. La signalisation sémaphore N°7 dans un réseau GSM 14

II.3. Unstructured Supplementary Services Data (USSD) 15

II.3.1. Le standard USSD 15

II.3.2. Les caractéristiques et les paramètres USSD 15

II.3.2.1. Les dialogues USSD dans le réseau GSM 16

II.3.2.2. Initiation du dialogue coté mobile (Mobile Initiated Dialogue) 16

II.3.2.3. Initiation du dialogue coté opérateur (Network Initiated Dialogue) 17

II.3.2.4. Schéma de codage des données. (SCD ou en anglais DCS: Data Coding Scheme) 17

II.3.2.5. Code Service (CS en anglais SC: Services Code) 18

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page xiv

II.3.2.6. Horloge USSD (Timers USSD) 18

II.3.2.7. ProcessUSSDRequest Invoke Timer 18

II.3.2.8. USSDRequest Invoke Timer 18

II.3.2.9. Les dialogues multiples 19

II.3.2.10. Aspects d'adressage 19

II.3.2.11. Longueur d'une chaine USSD 19

II.3.2.12. Exemple de code USSD. 19

II.4. La signalisation sémaphore N°7 et le modèle OSI 20

II.4.1. VoIP stack 20

II.4.2. Les Media Gateway 20

II.4.3. Stream Control Transmission Protocol (SCTP) 21

Conclusion 21

DEUXIEME PARTIE: METHODOLOGIE ET IMPLEMENTATION. 22

Chapitre: III. Etude de la plateforme OpenSS7. 23

III.1. Définition et déploiement de OpenSS7 23

III.1.1. Définition 23

III.1.2. Déploiement de OpenSS7 24

III.1.3. Astérisk IPBX(Integreted Private Branch eXchange).[Fabrice 2002] 26

III.1.4. Kannel. 27

III.2. Plateforme OpenSS7 29

III.2.1. Architecture de base 29

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page xv

III.2.2. Architecture étendue 30

III.2.2.1. Définition des modules. 31

III.2.2.2. Rôles des différents composants dans OpenSS7 32

III.2.3. Exemple de réseau téléphonique sur OpenSS7 34

III.2.4. Cartes d'extensions requises. 35

III.2.4.1. La carte Tormenta III. 36

III.2.4.2. La carte E400P. 36

III.2.5. Lien entre USSD et OpenSS7. 37

Conclusion 37

Chapitre: IV. Mise en oeuvre du serveur USSD 37

IV.1. Description de l'Architecture du système conçue 38

IV.2. Les Composants du serveur USSD. 39

IV.2.1. Passerelle USSD 40

IV.2.1.1. Outil de développement 40

IV.2.1.2. Analyse des besoins 40

IV.2.1.3. Conception de la passerelle. 41

IV.2.2. Serveur d'applications USSD 44

IV.2.2.1. Architecture du serveur 44

IV.2.2.1.1. Java Web Services 45

IV.2.2.1.2. Entreprise Java Bean 45

IV.2.2.1.3. MySQL 46

IV.2.2.2. Les outils de développement 46

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page xvi

IV.2.2.2.1. J2EE. 47

IV.2.2.2.2. J2ME 47

IV.2.2.3. Analyse du serveur d'applications 48

IV.2.2.4. Conception du serveur d'applications 49

IV.2.2.5. Test du serveur d'applications USSD. 53

Conclusion 53

TROISIEME PARTIE: RESULTATS ET DISCUTIONS. 54

Chapitre: V. IMPLEMENTATION ET RESULTATS 55

V.1. Présentation des résultats 55

V.2. Discussion. 59

CONCLUSION GENERALE. 61

Difficultés rencontrées 61

Bilan personnel 62

Perspectives 62

REFERENCES BIBLIOGRAPHIQUES 63

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page xvii

INTRODUCTION GENERALE

Corrélativement à la numérisation du réseau téléphonique commuté, la nécessité d'améliorer la rapidité des échanges de signalisation a été ressentie. Pour ce faire, l'ITU (International Telecommunication Union.) a établi un standard global de télécommunications appelé Signaling System N°7 (SS7). Ce standard définit les procédures et les protocoles nécessaires pour l'établissement de la signalisation et la communication. L'essor de ce dernier a permis d'augmenter la vitesse de communication, la qualité des signaux, la séparation de la voix/données des services de signalisation. Cette séparation a donc favorisé l'émergence d'un grand nombre de services tels que le SMS (Short Message Service) et l'USSD (Unstructured Supplementary Services Data).

La mise en oeuvre de ces services requiert un certain type d'infrastructures notamment Cisco [Cisco 2007], Abrazo [Tango 2007],... qui implémentent la pile SS7 [Léopold 2001]. De plus, ces équipements sont très couteux et très rares sur le marché Camerounais. Considérant ces raisons, l'utilisation des équipements SS7 devient quasi impossible. Ceci oblige donc certain opérateur téléphonique en l'occurrence la Compagnie OpenSS7 [Bidulock, 2007] à développer leur propre architecture notamment la plateforme OpenSS7 [Brian, 2007] qui ne nécessite que des cartes d'extensions PCI (Disponible actuellement en Allemagne.) pour son fonctionnement. Ainsi, le grand intérêt de l'entreprise SOFT-TECH Int oriente notre travail dans l'étude de la plateforme OpenSS7 et l'intégration des services USSD dans ce dernier.

Dans ce mémoire, le travail que nous avons effectué durant notre stage sera présenté d'après le plan suivant :

? Chapitre I : Evoque le contexte, l'environnement de travail, la préoccupation principale de nos travaux, fournissant ainsi les raisons pertinentes de notre travail et les résultats attendus.

? Chapitre II: Présente les différents concepts qui interviennent et qui sont nécessaires

pour la compréhension et la réalisation de ce travail.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 1

? Chapitre III: Présente la plateforme OpenSS7, en insistant sur son architecture de base et les multiples projets qu'elle intègre.

? Chapitre IV : Montre comment peut se faire l'intégration d'un module serveur USSD. Présente ensuite la conception et la mise en oeuvre du prototype du serveur USSD que nous avons conçu.

? Chapitre V : Présente les résultats du prototype réalisé et donne une interprétation.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 2

Première Partie.

Contexte, problématique et

concepts.

Chapitre: I. ETAT DES LIEUX ET

PROBLEMATIQUE

I.1. Présentation de l'entreprise

Fondé en 1987 par des experts du secteur de la finance ayant décelé sur le marché de logiciels et progiciels, le manque de logiciels flexibles dédiés à la gestion de banques, SOFT-TECH International ® est une société qui conçoit et réalise des logiciels à la demande d'autres entreprises, de manière à leur assurer du succès sur le marché. Nous avons identifié le besoin de nous déplacer vers des systèmes centrés sur le client, un peu à l'encontre des développements préexistants et seulement concentrés sur les transactions bancaires.

I.1.1. Produits et services offerts

SOFT-TECH est spécialisé dans les secteurs suivants: banque, audit, manufacture, assurance et communication.

La société SOFT-TECH fournit les services spécifiques suivants :

? Développement des logiciels d'application,

? Implémentation des logiciels et formation des utilisateurs, ? Fournisseur de matériel informatique,

? Evaluation, Design et Implémentation des bases de données, ? Implémentation des Enterprise Ressource Planning (ERP),

? Systèmes d'information,

? Construction des réseaux (Locaux et étendus).

Les produits offerts par SOFT-TECH International ® sont :

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 4

? Logiciels bancaires

? Logiciels d'assurance ? Assistants de voyage ? Système de paye

? Applications mobiles

I.1.2. Organisation

Le personnel technique de SOFT-TECH est constitué de trois grandes catégories de personnes qui sont impliquées dans le développement des applications :

? Les Ingénieurs Logiciels : il s'agit dans l'ensemble d'ingénieurs informaticiens, d'ingénieurs des télécommunications et des ingénieurs systèmes dont la plupart doit, soit contribuer au développent des applications sus citées, soit participer à la mise à jour de celles- ci.

? Les Experts Fonctionnels : Equipe constituée à majorité de comptables, ce sont eux qui effectuent les tests, et procèdent à l'implémentation des applications.

? Les Ingénieurs Assurance - Qualité : Cette équipe effectue un contrôle d'assurance qualité sur tous les produits avant que ceux ne soient implémentés chez le client. Il s'agit pour eux de s'assurer que tous les travaux ont été faits suivant les règles de l'art.

Le personnel technique est encadré par les personnes suivantes classées par ordre hiérarchique:

? Président et exécuteur en chef ? Responsable des opérations

? Responsable des technologies

? Responsable du développement ? Responsable marketing

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 5

I.2. Contexte

Le projet que nous avons réalisé s'inscrit dans le cadre des applications mobiles. Il consiste à mettre en place un serveur USSD (USSDC : USSD Center). Ce serveur devra être déployé sur un PC afin que ce projet soit réalisé à moindre coût car les infrastructures permettant la mise en oeuvre de ces services sont très couteuses. De plus, le service USSD étant un dialogue entre un opérateur téléphonique et un mobile, ce travail devra être intégré dans un réseau GSM (Global System for Mobile communications).

I.3. Problématique

La problématique d'implémentation des services USSD interpelle de nos jours tous les opérateurs téléphoniques désirant offrir à leur clientèle un moyen de consultation et de modification en temps réel des informations les concernant.

Vu l'absence de l'architecture SS7 sur un PC, comment peut-on l'implémenter afin de gérer les canaux de signalisation ? Comment peut s'effectuer l'intégration d'un serveur USSD sur cette architecture ? Ces deux questions constituent la problématique de notre travail.

En effet, la société SOFT-TECH International, pour offrir ces services USSD aux opérateurs téléphoniques, doit réaliser un environnement qui lui permettra de faire des tests. Aussi les services USSD ont émergé grâce à l'avènement du protocole SS7. Considérant cela, nous devons disposer d'une pile SS7 pour leur mise en oeuvre car le PC n'a pas d'architecture SS7 intégrée.

I.4. Objectif.

Il nous incombe donc dans le cadre de notre travail de mettre en place un serveur USSD pour la manipulation des codes USSD. De plus, sachant que l'existance de la plateforme OpenSS7 est basée principalement sur l'architecture SS7, nous avons défini un

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 6

certain nombre d'objectifs nous permettant de solutionner ce problème. D'un point de vue général, le travail que nous allons réaliser consistera à effectuer les tâches suivantes :

? Déploiement et Etude de la plateforme OpenSS7.

? Conception et mise en oeuvre d'une passerelle USSD.

? Conception et mise en oeuvre d'un serveur d'applications USSD.

? Etude des différents protocoles nécessaires pour l'intégration des divers modules.

Conclusion.

Ce chapitre nous a permit de présenter le contexte dans lequel le présent travail a été effectué ; de situer le problème dans son contexte et de présenter les objectifs visés pour palier ce souci. En considérant la problématique suscitée, la résolution de notre problématique nécessite la compréhension des concepts suivants : SS7, GSM et USSD.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 7

Chapitre: II. ETAT DE L'ART

'objectif de ce chapitre est de pouvoir clarifier les différents concepts qui interviennent dans

Lnotre travail, ceci afin de familiariser les lecteurs au jargon de la téléphonie mobile. Pour cela, il est nécessaire de faire une présentation de l'architecture globale de SS7 et GSM, ensuite de mettre un accent particulier sur le couplage GSM et SS7. Enfin de présenter le standard USSD.

II.1. Signaling System N°7(SS7)

La norme SS7 est un moyen d'échanger des informations entre les éléments du réseau téléphonique. Mise en oeuvre pour augmenter la qualité et la vitesse de transmission des informations de services, elle est aujourd'hui très répandue dans le monde.

II.1.1. Structure du réseau sémaphore

Un réseau sémaphore numéro 7 est un ensemble d'éléments interconnectés par des canaux sémaphores. Ces éléments échangent de l'information afin de supporter les fonctions de télécommunications. Le protocole SS7 est destiné à faciliter ces fonctions et à maintenir le réseau à travers lequel elles sont fournies. Comme la plupart des protocoles modernes (IP), le protocole SS7 possède un modèle en niveaux.

II.1.2. Architecture du protocole ss7

L'architecture du modèle SS7 en niveau est influencée par celui du modèle OSI (Open Systems Interconnection). Le code CCITT N°7 (Comité Consultatif International Télégraphique et Téléphonique) est ainsi divisé en quatre (4) niveaux fonctionnels :

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 8

Figure 1: Les différents niveaux du code CCITT N°7[SS7/CCSN 2004]

? Le Niveau 1de la figure 1 correspond à la couche physique ;

? Le Niveau 2 de la figure 1 est équivalent à la couche liaison de données ; ? Le Niveau 3 de la figure 1 correspond à la couche réseau ;

? Le Niveau 4 de la figure 1 représente la partie utilisateur et englobe les couches supérieures du modèle OSI.

Les niveaux 1 à 3 prennent en charge le transfert de messages de signalisation entre noeuds du réseau SS7, et ce, de façon fiable. Ils fournissent par ailleurs l'ensemble des fonctions nécessaires, afin de gérer le réseau. Les trois premiers niveaux sont appelés SousSystèmes de Transfert de Messages (SSTM ou MTP, Message Transfer Part) de SS7. Le niveau 4 concerne les services de signalisation. Plusieurs blocs fonctionnels au niveau 4 représentent des applications spécifiques utilisant les services du SSTM. Puisque ces blocs fonctionnels sont des utilisateurs du SSTM, ils sont référencés comme Sous-Systèmes Utilisateurs (SSU).

II.1.3. Le sous système utilisateur

L'architecture SS7 est multiservice. Elle comporte ainsi plusieurs Sous-Systèmes Utilisateurs (SSU) tels que : SSCS, ISUP, SSAGT, INAP, MAP et OMAP. Ces derniers exploitent les services offerts par les Sous-systèmes Transport de Messages.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 9

II.1.3.1. Le sous système commande des connexions sémaphores

(SSCS)

Le SSCS(en anglais SCCP : Signaling Connection Control Part) fournit des services réseau en mode non connecté ou en mode connecté, et des capacités de traduction de titre global (GTT, Global Title Translation) au dessus de la couche MTP niveau 3. Un titre global est une adresse (par exemple un numéro en 0800, appelant un numéro de carte bancaire ou le numéro d'identification d'un abonné mobile) qui est traduit par SSCS en un code de point de destination et un numéro de sous-système. Un numéro de sous-système identifie uniquement une application au point de signalisation de la destination. SSCS est utilisé comme une couche transport pour les services TCAP (Transaction Capabilities Applications Part).

II.1.3.2. Le sous système utilisateur pour le RNIS(ISUP)

ISUP (ISDN User Part) définit le protocole utilisé pour établir, gérer les appels et libérer les circuits alloués pour transporter la voix et les données entre les commutateurs d'extrémités. ISUP est utilisé pour les appels RNIS (Réseau Numérique à intégration de Services), mais également pour les appels classiques. Cependant, les appels issus d'un commutateur et qui sont à destination du même commutateur n'utilisent pas la signalisation ISUP.

II.1.3.3. Le sous système applications de gestion des transactions (en anglais TCAP)

TCAP assure l'échange d'informations qui ne sont pas relatives aux circuits à travers le réseau SS7, en utilisant les services SSCP en mode non connecté. Les requêtes et les réponses échangées entre les points de signalisation et les points de contrôle du réseau sont transportées dans les messages TCAP. Exemple : un point de signalisation envoi une requête TCAP afin de déterminer le numéro de routage associé à un numéro gratuit (0800) et de vérifier le code PIN du détenteur d'une carte de paiement. Dans les réseaux mobiles (GSM), TCAP transporte les messages de la Couche Application envoyés entre les commutateurs du réseau mobile et les bases de données assurant l'authentification des abonnés, l'identification du terminal et le roaming.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 10

II.1.3.4. Le Protocole d'Application du Réseau Intelligent (PARI ou en anglais INAP)

Le protocole INAP (Intelligent Network Application Protocol) est un protocole d'application utilisé dans le Réseau Intelligent (RI). Il permet le transport des messages entre les entités du RI, notamment entre le Point de Commutation de Service (SSP, Service Switching Point) et le Point de Contrôle de Service (SCP, Service Control Point), pour la fourniture de services du RI.

II.1.3.5. Le protocole d'application du mobile (MAP)

MAP (Mobile Application Part) est un protocole utilisé dans les réseaux mobiles. Les messages MAP envoyés entre les commutateurs et les bases de données (Home Local Regiter(HLR) et Visitor Local Regiter(VLR)) pour supporter l'authentification des usagers, l'identification des équipements et le roaming, sont transportés dans les réseaux mobiles par le TCAP. Lorsqu'un abonné mobile se déplace et pénètre dans une zone couverte par un autre MSC (Mobile Switch Control), le VLR intégré demande des informations sur le profil de l'abonné à son HLR d'origine en utilisant des informations MAP véhiculées dans les messages TCAP.

II.1.3.6. Le protocole d'exploitation et de maintenance (OMAP)

Le protocole OMAP (Operations Maintenance & Administration Part) fournit les procédures de gestion et de supervision du réseau sémaphore. Il définit les protocoles d'application et les procédures de monitoring, test et contrôle des ressources SS7.

Les réseaux sémaphores numéro 7 de nos jours sont de plus en plus implémentés dans les réseaux GSM.

II.2. Global System for Mobile communication

GSM est une technologie de téléphonie cellulaire digitale déployée pour la première fois en 1992. Dès l'année 2000, elle comptait déjà 250 millions d'abonnés à travers le monde et était le système de téléphonie prédominant en Europe. Les téléphones GSM sont dotés

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 11

d'une puce (carte SIM : Subscriber Identity Module) contenant les informations utilisateur. Cette puce peut être transférée rapidement et facilement d'un téléphone à un autre, permettant ainsi à l'utilisateur de changer de téléphone tout en conservant la totalité d'informations lui permettant d'accéder au réseau de l'opérateur.

II.2.1. Architecture d'un réseau GSM

Figure 2: Architecture du réseau GSM [Anttalainen 2003]

De façon globale, un système GSM est composé de trois principaux sous-systèmes :

? Sous-système de communication et de gestion du réseau (Network and Switching Subsystem, Network Management Subsystem) :

Il comprend les équipements et fonctions concernant :

o Les appels bout à bout o La gestion des abonnés o La mobilité

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 12

o Une interface avec le Réseau Téléphonique Publique Commuté ? Sous-système radio (Radio Subsystem) :

Il contient les équipements et fonctions concernant la gestion des connections radio et des transferts. Il comprend les téléphones mobiles, BTS et la BSC.

? Sous-système des opérations (Operation Support Subsystem)

Constitué essentiel de l'OMC (Operation and Maintenance Center), il assure les opérations de maintenance des équipements GSM et prend en charge l'interface réseau de l'opérateur.

II.2.2. Les équipements nécessaires [Ludovic 1999]

? Terminal d'abonné (MS : Mobile Station) : La carte SIM : Cette carte identifie l'abonné sur le réseau. L'accès sera donc refusé si la carte a été déclarée perdue ou volée. Elle assure donc l'authentification de l'abonné ainsi que le cryptage de la voix. Le téléphone mobile : Il ne fonctionne que si la carte SIM y a été insérée et le code secret validé par l'abonné.

? Les stations de base (BTS) : Les relais radio sont l'interface entre le téléphone mobile et le reste du réseau.

? Les contrôleurs de stations de base (BSC : Base Station Controller.) : Ils gèrent la coordination entre les relais radio.

? Les centres de commutations mobiles (MSC : Mobile Switching Control.) : Ces entités sont responsables de l'acheminement des communications dans le réseau et assurent également l'interconnexion entre le réseau de téléphone cellulaire et le réseau fixe traditionnel. Elles génèrent toutes les informations de taxation et gèrent la complexité des connexions due aux déplacements réalisés pendant la communication.

? Les registres de localisation des visiteurs (VLR) : Le VLR est une base de données reliée à un MSC qui stocke temporairement les informations concernant chaque mobile dans la zone de travail du MSC, (identité de l'abonné, sa dernière zone de localisation, les services complémentaires souscrits par celui-ci, les éventuelles restrictions ou interdictions d'établissement de la communication).

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 13

? Le registre de localisation principal (HLR) : Le HLR est la base de données centrale contenant toutes les informations administratives relatives aux abonnés d'un réseau donné utilisant deux clés d'entrée :

o IMSI (International Mobile Subscriber Identity) : c'est un numéro unique alloué à chaque abonné stocké dans la carte SIM et utilisé par le réseau pour la transmission des données de l'abonné.

o MSISDN (Mobile Subscriber Integrated Services Digital Network) : c'est le numéro d'appel de l'abonné lié à l'IMSI dans l'HLR; les appels destinés à l'abonné sont transcrits en numéro d'IMSI. Ceci permet sa recherche et l'établissement de la communication.

II.2.3. La signalisation sémaphore N°7 dans un réseau GSM

Figure 3: répartition de la signalisation et la communication.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 14

La signalisation sémaphore numéro 7 est une couche qui a été ajoutée au réseau GSM pour lui permettre d'améliorer la rapidité des échanges de signalisation. Son implémentation se fait dans un plan autre que celui du GSM appelé réseau sémaphore. Il est constitué des canaux sémaphores et ne véhicule que des informations de signalisation. Les informations de signalisation sont des services émis pour l'établissement d'une connexion (Recherche de l'appelé, ...), l'entretien de la communication (ligne occupée, ...) et la libération d'une connexion (libération du circuit de communication, ...). L'intégration de la signalisation dans les réseaux GSM a permis l'émergence des services USSD.

II.3. Unstructured Supplementary Services Data (USSD)

USSD peut se traduire en Données de Service Supplémentaires Peu Structurées. Il s'agit d'une fonctionnalité des téléphones GSM. Il est généralement associé aux services de la téléphonie de type temps réel ou de messagerie instantanée. Contrairement aux SMS qui sont enregistrés avant d'être redirigés, les services USSD quant à eux sont directement retransmis. Les temps de réponse pour des services USSD sont généralement plus courts que ceux utilisés pour les SMS.

II.3.1. Le standard USSD

? USSD Phase 1: Cette phase est celle durant laquelle seuls les dialogues initiés par le mobile étaient possibles (C'est-à-dire qu'un mobile peut envoyer une demande vers le réseau et recevoir la réponse.).

? USSD Phase 2: C'est le statut actuel du standard USSD. Le dialogue est initié soit par le mobile soit par le réseau. Le dialogue est établit entre le mobile et l'opérateur. Plusieurs transactions peuvent être effectuées au cours du même dialogue.

II.3.2. Les caractéristiques et les paramètres USSD

Cette partie présente les caractéristiques et les paramètres USSD dans sa phase 2.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 15

II.3.2.1. Les dialogues USSD dans le réseau GSM

Un dialogue USSD est l'établissement d'une connexion USSD entre le mobile et le réseau. Il existe deux types de dialogues USSD.

II.3.2.2. Initiation du dialogue coté mobile (Mobile Initiated Dialogue)

Figure 4 Mobile initiated USSD dialogue[WAP 2001]

Le mobile initie le dialogue par invocation de la méthode ProcessUSSDRequest. L'operateur (Network) peut répondre par invocation de la méthode USSDRequest ou bien libère le dialogue en retournant le résultat via la méthode ProcessUSSDRequest. Si l'opérateur décide d'invoquer la méthode USSDRequest, le mobile répond grâce à la méthode USSDRequest et ainsi de suite.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 16

II.3.2.3. Initiation du dialogue coté opérateur (Network Initiated Dialogue)

Figure 5: Dialogue initié par l'opérateur.[WAP 2001]

L'opérateur initie le dialogue par invocation de la méthode USSDRequest. Le mobile répond en retournant le résultat via l'opération USSDRequest. Les deux entités s'échangent des messages jusqu'à ce que l'opérateur décide de mettre un terme au dialogue en retournant un END.

II.3.2.4. Schéma de codage des données. (SCD ou en anglais DCS: Data Coding Scheme)

Une opération USSD a deux paramètres: Le DCS et l'USSD string. Le DCS spécifie le modèle de codage des données dans la chaine USSD.

Opération

 

Specification DCS

Opération mobile

initiée par

le

'Langage non spécifié' et 'alphabet par défaut du SMS'. DCS = 0000 1111

Réponse d'une opération

initiée par le mobile

Non spécifié

Opération réseau

initiée par

le

Non spécifié

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 17

Réponse d'une opération initiée par le réseau

'Langage non spécifié' et 'alphabet par défaut du SMS'. DCS = 0000 1111

Tableau 1: Schéma de codage des données

II.3.2.5. Code Service (CS en anglais SC: Services Code)

Le code service est une partie de la première chaine de caractères USSD envoyée par le mobile. Cette chaine a la syntaxe suivante :

{*, #}SC[ |*données]#.

SC est le code services et données est un nombre.

Il existe deux types de code services : VPLMN (Visited Public Land Mobile Network.) et HPLMN ( Home PLMN.). Le code service HPLMN route les messages USSD vers le HLR et le code services VPLMN route les messages USSD vers le MSC/VLR.

II.3.2.6. Horloge USSD (Timers USSD)

Pour superviser les dialogues USSD et éviter les dialogues interrompus, il a été défini une politique de gestion de la durée des opérations dans le réseau.

II.3.2.7. ProcessUSSDRequest Invoke Timer

L'horloge est démarrée lorsque la méthode ProcessUSSDRequest est reçue par le

réseau (Dialogue initié par le MS). Il est stoppé lorsque le MS reçoit le résultat de sa requête (Libération du dialogue.). Cette horloge limite la durée totale dialogue, sa valeur est comprise entre 1 et 10 minutes.

II.3.2.8. USSDRequest Invoke Timer

L'horloge est démarrée lorsque la méthode USSDRequest est reçue par le réseau (Dialogue initié par le MS). Il est stoppé à la réception du résultat de la routine USSDRequest envoyé au MS(Le dialogue est libéré). Cette horloge met une restriction à

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 18

l'application MS qui traite le temps. Pour certaines applications, cela peut inclure l'obtention d'une réponse de l'utilisateur. Cette horloge limite la durée totale du dialogue, sa valeur est comprise entre 1 et 10 minutes.

II.3.2.9. Les dialogues multiples

Dans les spécifications GSM USSD phase 2, seul un dialogue entre le MS et le réseau est permis. Une fois le dialogue établi entre le MS et un noeud du réseau GSM, un autre dialogue ne peut être établi en parallèle. Cela veut dire qu'un hôte occupé qui ne peut pas être atteint par le noeud de la fin avec lequel le dialogue est établi, ne peut pas être atteint à tous sans avortement du dialogue établi en premier. Ainsi, l'établissement d'un nouveau dialogue vers un noeud différent permettra que le terminal puisse être atteint.

II.3.2.10. Aspects d'adressage

USSD a été conçu pour les dialogues entre le MS et une application USSD dans le MSC, VLR ou HLR. Le MSISDN est transporté dans la partie du dialogue du message TCAP. Par exemple, quand un dialogue initié par le MS est établi vers une application dans le HLR, le MSISDN et l'adresse HLR sont inclus. Pour un mobile initiant un dialogue, l'application USSD dans le HLR n'est pas probablement la dernière. Elle travaillera comme un relais seulement, et laissera passer des opérations USSD entre le réseau GSM et le noeud externe.

II.3.2.11. Longueur d'une chaine USSD

D'après les spécifications GSM USSD, l'Invocation de USSDRequest et de ProcessUSSDRequest peuvent avoir chacune une chaine de caractères USSD ayant une longueur de 160 octets. De plus, la longueur de la chaine de caractères USSD est restreinte aux capacités de signalisation des couches inférieures (par exemples: TCAP) qui peuventt être configurées différemment dans différents réseaux

II.3.2.12. Exemple de code USSD.

? *166*mon_numero#.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 19

? #123*06xxxxxxxx# (Orange: Votre correspondant reçoit un SMS : "Le
06.xx.xx.xx.xx cherche à vous joindre et souhaiterait que vous le rappeliez").

? #125# (Orange: Obtenir un numéro d'accès Wifi)

? #101# (Serveur de Jeu Orange).

II.4. La signalisation sémaphore N°7 et le modèle OSI

L'intégration des services de télécommunications et de ceux liés à l'Internet s'accélère dans un mouvement de convergence et de généralisation des technologies IP dans les réseaux. La venue du protocole SS7 a permis une grande amélioration de la gestion de ces services.

II.4.1. VoIP stack

Le terme générique VoIP [jrepetti 2004] (Voice Over Internet Protocole) est souvent utilisé dans son sens le plus général pour désigner toutes les solutions permettant le transport de la parole sur un réseau IP. On peut distinguer en vrac:

? La voix sur IP : Transport de la parole sur un réseau IP de type privé (intranet/extranet).

? La téléphonie sur IP : en plus de la parole, des fonctions téléphoniques (signalisation, fax, multi appel) sur IP sont rajoutées.

II.4.2. Les Media Gateway

Les Media Gateway jouent un rôle très important. En effet, Ils assurent non seulement l'acheminement du trafic, mais aussi l'inter fonctionnement avec les réseaux externes et avec les divers réseaux d'accès en réalisant la conversion, le codage et la mise en paquets du flux média reçu du Réseau Téléphonique Public Commuté(RTPC) et vice-versa (conversion du trafic TDM/IP). Ils assurent aussi la transmission, suivant les instructions du Média Gateway Controller (MGC) des flux média reçus de part et d'autre et la conversion de la signalisation associée.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 20

II.4.3. Stream Control Transmission Protocol (SCTP)

Le SCTP est connu pour le transport des messages de signalisation RTPC sur les réseaux IP, mais est capable de gérer des applications plus générales. Le SCTP [SCTP 03] est une application au niveau datagramme protocole de transfert d'exploitation au-dessus d'un service peu fiable tel qu'UDP.

Conclusion

Nous avons présenté les différents concepts qui interviennent dans un réseau GSM. Ces outils nous permettent de mieux percevoir le fonctionnement des informations de signalisation dans un réseau GSM notamment les services USSD. Vu le fait qu'on veuille implémenter un serveur USSD sur le PC, comment peut-on intégrer une architecture SS7 dans notre environnement ?

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 21

Deuxième Partie:

Méthodologie et implémentation.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 22

Chapitre: III. Etude de la

plateforme OpenSS7.

'objectif de ce chapitre consiste à proposer une architecture basée sur les services OpenSS7.

LCelle-ci pourra être implémentée comme un réseau téléphonique interne d'une entreprise voire celui de SOFT-TECH International. Ainsi, nous allons commencer par définir OpenSS7 et présenter les différentes étapes de son déploiement; ensuite, il vous sera présenté l'architecture de base et celle élargie de la même plateforme ; et enfin, nous vous

présenterons l'architecture proposée.

III.1. Définition et déploiement de OpenSS7 III.1.1. Définition

OpenSS7 a été réalisé pour être un réseau téléphonique de nouvelle génération qui intègre le système de signalisation numéro 7 ainsi que son protocole de transport (SIGTRAN : Signaling Transport). Mais Concrètement, c'est un open source1 qui implémente la pile SS7 comme spécifiée par la norme ITU-T et d'autres standards.

C'est un projet dont le développement a commencé en 1996. Il a aujourd'hui un très grand niveau d'intérêt avec la plateforme VOIP et l'open source SoftSwitches. Toutefois, il est développé pour le noyau Linux et supporte actuellement les versions 2.4 et 2.6 du noyau Linux. De plus, il inclut des pilotes pour faciliter la communication avec les cartes d'extensions PCI (PC Interface).

1 Open source : Logiciel dont les fichiers sources et l'installeur sont disponibles gratuits.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 23

III.1.2. Déploiement de OpenSS7

Le déploiement de la plateforme nécessite quatre grandes phases notamment : le téléchargement, la configuration, le montage et enfin l'installation.

? Pour télécharger OpenSS7, vous devez consulter le site www.openss7.org/tarballs . A ce niveau, vous pouvez choisir la version qui vous convient (Nous travaillons dans ce cadre avec la version (7-0.9.2.F) qui est la plus récente et stable.

? Pour ce qui est de la configuration il faut des pré-requis: vous devez avoir soit Unix, soit une distribution Linux telles que :

o CentOS Enterprise Linux 5.0 (centos5).

o Fedora Core 6 (FC6).

o Fedora 7 (avec un kernel version 2.6.21).

o Ubuntu 7.04 (ubu7.04).

De plus, vous devez vous assurer que la version de votre noyau est comprise entre Linux 2.4 kernel (2.4.10-2.4.27) ou Linux 2.6 kernel (2.6.3-2.6.21). Ensuite installer le compilateur gcc et ses librairies via la commande:

o Pour un noyau Debian:

· # apt-get install automake1.9 autoconf libtool subversion wx-common sysutils libgtk2.0- dev

o Pour un noyau Redhat

· # yum install automake1.9 autoconf libtool subversion wx-common sysutils libgtk2.0-dev

Tout ceci étant réalisé, la configuration se lance via les commandes : o Pour télécharger le package OpenSS7 en ligne:

· $> wget http://www.openss7.org/tarballs/openss7-0.9.2.F.tar.bz2

o Pour décompresser le package ayant pour destination openss7-0.9.2.F :

· $> tar -xjvf openss7-0.9.2.F.tar.bz2

o Pour créer le dossier nommé build:

· $> mkdir build

o Pour se positionner dans ce dossier:

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 24

· $> cd build

o Pour Lancer la configuration du projet:

· $> ../openss7-0.9.2.F/configure --enable-autotest

? L'installation et la construction nécessitent un certain nombre de packages qui peuvent être installés via les commandes:

· yum install tetex 3.0

· yum install texinfo 4.8

· yum install transfig 3.2.5

· yum install imagemagick 6.2.4

· yum install groff 1.17.2

(Tout au long de cette installation, on supposera que nous avons un << noyau Redhat >> et on rappelle qu'il suffit de remplacer << yum >> par << apt-get >> pour passer sur un << noyau debian >>).

o Monter le projet:

· $> make

o Test si la commande make s'est bien déroulée (Elle est facultative.):

· $> make check

o Demarrage effectif l'installation:

· $> sudo make install

o Tester si la commande << make install >> s'est bien déroulée (Elle est facultative.):

· $> make installcheck

A l'issu de toutes ces procédures, tous les services de la plateforme sont installés. Il suffit de redémarrer la machine pour que tout soit parfait. Cependant, le projet n'installe pas la couche application de sa structure de base (Voir III.2.1). En revanche, de toutes ces applications (Voire III.2.2), seuls les projets Asterisk PBX et Kannel.sont intégrés.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 25

III.1.3. Astérisk IPBX(Integreted Private Branch eXchange).[Fabrice 2002]

Un PABX (Private Automatic Branch eXchange) est un autocommutateur privé, utilisé dans les entreprises, assurant les communications internes et le lien avec le RTC global. Un autocommutateur est un central téléphonique.

Un PABX travaille aussi bien en numérique qu'en analogique, et dispose d'une ou plusieurs interfaces reliées au réseau public pour les communications externes. Plusieurs modèles sont disponibles de quelques dizaines de postes jusqu'à plusieurs milliers. Plusieurs PABX peuvent s'interconnecter entre eux de manière homogène pour former un réseau (noeuds) mais peuvent être également interconnectés entre eux de manière hétérogène (pour les constructeurs différents par exemple). Un PABX peut intégrer plusieurs applications comme la messagerie vocale, le standard automatique, la taxation, l'application hôtel ou hôpital.

Astérisk est un logiciel qui transforme un PC sous Linux en standard téléphonique IP (ou gestionnaire téléphonique). Les termes souvent employés pour le qualifier sont IPBX, IP PBX ou parfois PABX sur IP. Il a été développé par Mark Spencer de la société Digium Inc. Ce logiciel est open source et propose toutes les fonctionnalités d'un PABX classique.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 26

Figure 6: Réseau basé sur Asterisk.

III.1.4. Kannel.

Kannel est une passerelle permettant le transfert de données (WAP (Wireless Application Part) et SMS), entre des réseaux de type TCP/IP et des réseaux GSM. L'architecture actuelle de kannel comprend notamment deux modules:

? WAPBox : gère les requêtes WAP, et formate les informations présentes sur un serveur web traditionnel pour les clients WAP.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 27

Figure 7: Gestion des messages WAP.[Kannel 02]

? SMSBox : gère le transfert des messages SMS.

Figure 8: Gestion des SMS.[Kannel 02]

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 28

III.2. Plateforme OpenSS7 III.2.1. Architecture de base

Figure 9: Architecture de base de la plateforme OpenSS7 [Brian 2007]

? La pile SS7: C'est la responsable de la signalisation sur la plateforme OpenSS7. Elle est constituée de plusieurs protocoles (MTP niveau 1, MTP niveau 2, MTP niveau 3, SCCP, TCAP, ISUP, ...) ce qui fait d'elle le Coeur du projet OpenSS7.

? La pile ISDN: Cette pile fournit une variété de niveaux de protocoles pour l'intégration de nouveau services.

? La pile SIGTRAN ou SS7 sur IP: Les composants de la pile SIGTRAN fournissent des modules (IPSS7, M2PA, M2UA, M3UA, SUA, TUA et TALI) nécessaires pour la signalisation sur IP.

? La pile VoIP: Les composants de la pile VoIP fournissent des modules (BICC, H.225.0 et SIPT) nécessaires pour la gestion de la voix sur IP.

? Media Gateway: Les composants de la pile Media Gateway récemment introduit dans le projet OpenSS7 lui donnent la possibilité de gérer la signalisation comme les commutateurs Media Gateway.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 29

? IP Transport : OpenSS7 offre via ce module des supports pour la manipulation des interfaces LINUX natives telles que : TCP, UDP et SCTP.

? Embedded Systems : Ce projet grâce aux piles SIGTRAN et IP Transport embarque les modules MG, IP Transport et SS7/ISDN Device Driver dans la carte d'extension.

? Operating Systems : Ce module définit le support du projet OpenSS7.

III.2.2. Architecture étendue

Figure 10: Architecture étendue de la plateforme OpenSS7

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 30

III.2.2.1. Définition des modules.

En plus des applications déjà définies plus haut telles que : HLR, Asterisk PBX, Kannel Gateway, on peut aussi intégrer les projets suivants :

SMSC (Short Message Service Center) :

C'est le centre de services des messages courts. Tous les messages courts (SMS) sont tout d'abord transmis au centre des messages courts (SMSC). Le message est ensuite transmis au destinataire depuis ce centre. Le SMSC stocke temporairement les messages lorsque le destinataire n'est pas disponible. Dès que le destinataire est à nouveau disponible sur le réseau (par exemple en allumant son appareil), les messages en attente lui sont transmis. Certains services, du type informations météo et de trafic, ou encore les messages contenus dans les boîtes vocales sont transmis directement par ligne de données dans le SMSC et, de là, retransmis au destinataire.

OpenSwitch :

En téléphonie, c'est un logiciel qui remplace les commutateurs électromagnétiques, pour assurer la commutation entre les différents points. On les trouve dans les infrastructures des opérateurs, dans les éléments des systèmes VoIP (IPBX), le GSM, ... [OpenSwitch 03]

ENUM/NAPTR :

ENUM (Telephone Number Mapping) est un protocole qui permet à un abonné d'être joignable n'importe où dans le monde sur le même numéro de téléphone et ce via la route la mieux adaptée et la moins chère. ENUM prend un numéro de téléphone et le lie à une adresse Internet qui est publiée sur le système DNS. Le propriétaire d'un numéro ENUM peut ainsi publier la destination de l'appel via une entrée DNS. De plus, les différentes routes peuvent être définies en fonction des appels. Par exemple, vous pouvez définir une route particulière si l'appelant est un télécopieur. L'ENUM a besoin de connaître le numéro de l'appelant pour le faire passer. Des enregistrements NAPTR peuvent être utilisés

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 31

CS/AIN Call Model :

Son objectif est de permettre l'abstraction des réseaux sous jacents, qu'il s'agisse de réseaux sans fils, d'Internet, du réseau téléphonique commuté public, ou d'ATM (Asynchronous Transfer Mode).

III.2.2.2. Rôles des différents composants dans OpenSS7

HLR :

Ce projet est développé à travers le projet GSM/MAP HLR GPRS. Celui-ci étend la pile OpenSS7 en lui ajoutant un HLR supportant le GPRS. De plus, il utilise OpenSS7 pour souscrire dans le HLR. Ce module dépend des capacités des protocoles SCCP et TCAP de l'open source.

Short Message Service Center (SMSC):

Ce projet est un module produisant un SMSC de base supportant le projet GSM/MAP HLR de la pile OpenSS7 et d'autre projet tel que Kannel. Il fournira d'un coté un client SMSC (c'est-à-dire MSC) et de l'autre un serveur SMSC (c'est-à-dire HLR). De plus, il contient des librairies qui permettent une extension vers les SMSC en utilisant le Webservices.

IN (800/CMS/CLASS/CNAM/LIDB):

Ce projet offre une librairie d'interfaces IN (Intelligent Network) qui fournissent un Framework et des applications pour les services 800, CMS, CLASS, Calling Name(CNAM) et Line Information DataBase (LIDB).

ENUM/NAPTR :

ENUM (Telephone Number Mapping) : Capability Set/Advanced Intelligent Network (CS/AIN): Ce projet fournit un modèle d'appel AIN/CS INAP complet pour le projet OpenSwitch. Il est développé via le framework JAIN (Java API Interface Network), ce qui

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 32

permet à OpenSwitch d'être un standard et de pourvoir s'interconnecter avec le PSTN network-based AIN/INAP services.

OpenSwitch:

Ce projet a été développé entièrement via l'open source SoftSwitch. Softswitch est un logiciel qui fournit d'un coté le contrôle des appels traditionnels et de l'autre des appels de nouvelle génération (NGN : New Generation Network).

Asterisk PBX: Ce projet est intégré dans OpenSS7 pour lui permettre la gestion de la téléphonie sur IP. De même, OpenSS7 offre à Asterisk la possibilité d'utiliser le standard SS7; ce qui confère à Asterisk les nouvelles fonctionnalités qu'offre le protocole.

Kannel: Ce projet offre à OpenSS7 la possibilité de gérer les SMS. De plus, le projet SMSC développé par la compagnie OpenSS7 est lié à Kannel. Ceci confère à la plateforme OpenSS7 un gestionnaire de SMS du type GSM.

L'architecture précédemment citée, montre que OpenSS7 peut être implémenté en tant que module de base du réseau téléphonique d'une entreprise.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 33

III.2.3. Exemple de réseau téléphonique sur OpenSS7

Figure 11: Réseau téléphonique via OpenSS7.

Cette architecture montre que la plateforme OpenSS7 qui est par ailleurs un réseau téléphonique offre actuellement les avantages suivants :

? Réduction des coûts d'appel.

Dans le cas d'une communication via IP, il n'est facturé en termes de téléphonie que la transition sur les réseaux téléphoniques classiques (RTC). Ainsi, l'appel d'un voisin ou d'un client d'une autre ville ne vous en coûtera que le prix d'une communication locale (PC A appelle Téléphone classique A). Ces solutions s'avèrent donc beaucoup plus avantageuses si vos appels téléphoniques se font sur longue distance (appels internationaux.).

? Mutualisation des réseaux, simplification de l'architecture.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 34

Le réseau téléphonique d'une entreprise qui a choisi la Voix sur IP est dorénavant géré comme un réseau informatique. Il n'existe plus un réseau téléphonique et un réseau informatique mais, un système d'information dans sa globalité qui s'avère bien plus facile à gérer.

? Convergence voix données.

Les solutions de Messageries Unifiées (UM) facilitent l'interactivité avec l'usager. Les téléphones peuvent maintenant appeler les Ordinateur et les ordinateurs appeler des téléphones. Les communications (surtout nomades) s'en trouveront facilitées. La messagerie comportera en plus des emails des messages enregistrés, la vidéo conférence se généralisera également.

Le principal apport d'OpenSS7 est l'intégration de l'architecture SS7 sur IP car celleci permet la séparation de la signalisation de la voix /données. Ainsi, le réseau téléphonique présenté ci-dessus peut intégrer de nouveaux services (USSD par exemple) : C'est donc un réseau intelligent. Cependant, l'implémentation d'OpenSS7 sur un PC nécessite certains types de cartes d'extensions.

III.2.4. Cartes d'extensions requises.

Pour implémenter le projet OpenSS7 sur PC, il faut une carte de type OpenSS7. Plusieurs cartes de ce type existent, mais nous avons recensé deux cartes pour notre étude.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 35

III.2.4.1. La carte Tormenta III.

Figure 12: Carte OpenSS7: Tormenta II [TormentaIII 2008]

Cette carte est de type OpenSS7, elle a 4 Ports T1 ou E1. Elle est similaire aux cartes TE410P et TE405P. Le slot (Support de la carte d'extension.) PCI doit avoir les caractéristiques suivantes : 3.3v ou 5v 32bit ou 64bit. La carte Tormenta III (V401P) est disponible sous la configuration T1 ou E1 et est supporté par le serveur Asterisk PBX. De plus, elle intègre Zaptel pour la communication entre OpenSS7 et Asterisk PBX.

III.2.4.2. La carte E400P.

Figure 13:Carte OpenSS7: [PH-E400P-TOR3 2008]

Cette carte est de type OpenSS7. Elle contient 4 interfaces E1/PRI, intègre astérisk PBX via Zaptel.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 36

III.2.5. Lien entre USSD et OpenSS7.

La mise en oeuvre de la pile du protocole SS7 dans OpenSS7 lui offre la possibilité d'envoyer et de recevoir les informations de signalisation. Ces informations sont transportées sous formes de messages MAP dans le réseau sémaphore. De ce fait, les services USSD, ne fonctionnant que sur des canaux sémaphores, requièrent le standard SS7 pour une implémentation sur une unité centrale. Cela nécessite l'installation de projet, notamment OpenSS7, implémentant cette norme régulée par le CCITT #7.

Conclusion

L'analyse ci-dessus nous a permis de comprendre le fonctionnement de la plateforme OpenSS7, son utilisation et le rôle de certains projets qu'il donne la possibilité d'intégrer. De plus, cela nous montre qu'OpenSS7 n'intègre pas les services USSD. Ainsi, comment se fera son implémentation sur l'open source OpenSS7 ?

Chapitre: IV. Mise en oeuvre du

serveur USSD

'objectif de ce chapitre est de présenter sous un plan plus réel (C'est-à-dire en

L

fonctionnement dans un réseau GSM) l'architecture du serveur USSD que nous avons conçue. Cette réalisation passera par la présentation du système global que nous avons conçu, ensuite viendra une description détaillée du serveur USSD et nous achèverons par le serveur d'applications USSD. Avant de continuer nous rappelons qu'il existe une passerelle entre le

réseau GSM et le serveur d'applications dont la conception sera également détaillée.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 37

IV.1. Description de l'Architecture du système conçue

Figure 14: Architecture du Système

Ce système comporte quatre parties :

? La zone MS : Elle représente l'ensemble des utilisateurs du réseau. Lorsqu'un utilisateur compose un code USSD par exemple *150*6# ok, ce code est transmis directement dans le réseau GSM.

? La zone des transmissions radio : Elle est constituée du BTS et du BSC et achemine les messages vers le MSC. Lorsque le code USSD saisi par le terminal arrive au niveau du MSC, ce dernier détermine son orientation en fonction des informations contenues dans le message (Il est à noter que nous devons avoir une adresse chez l'opérateur.).

? La zone des serveurs. Elle est constituée du MSC, HLR, VLR, USSDC et SMSC. Elle
offre à travers le MSC une interface de connexion à notre serveur USSD (USSD center).

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 38

? La zone du serveur USSD que nous avons intégrée : Elle est constituée d'un seul équipement (ordinateur) qui contient la plateforme OpenSS7, la passerelle USSD et le serveur d'applications USSD. A ce niveau de l'architecture, le message acheminé contient des informateurs qui spécifient clairement les opérations qui doivent être effectuées. Après traitement des opérations, un message sera renvoyé au mobile initiateur du code USSD.

IV.2. Les Composants du serveur USSD.

Figure 15: Architecture du détaillée du système

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 39

Le serveur USSD est constitué de trois composants : la plateforme OpenSS7, la passerelle USSD et le serveur d'applications USSD. La plateforme OpenSS7 ayant déjà été étudiée, nous allons nous intéresser aux deux autres projets.

IV.2.1. Passerelle USSD

IV.2.1.1. Outil de développement

La réalisation de la passerelle USSD s'appuie essentiellement sur le Framework propriétaire JAIN qui est le plus utilisé pour la gestion de la signalisation et de la voix/données.

JAIN est un Framework java qui permet la portabilité des services, leur convergence et la sécurité du réseau par la restriction de l'accès aux téléphones mobiles. Grâce à la production du nouveau niveau d'abstraction et association d'interfaces java pour la création des services traversant le PSTN, le protocole Internet et le réseau Wireless; la technologie JAIN autorise l'intégration d'Internet et des réseaux intelligents. Toutefois, il est constitué de plusieurs modules notamment JAIN MAP. Ce dernier fait l'objet de notre intérêt pour le projet JAIN car nous manipulerons des messages MAP.

JAIN MAP APIs définit des interfaces qui permettent d'obtenir la position du mobile, le SMS, l'USSD, chaque fois qu'on interroge l'ATI (Array Technologie Incorporation) via le réseau SS7.

IV.2.1.2. Analyse des besoins

? Acteurs

o La station mobile

Elle est l'initiateur du message USSD et peut échanger plusieurs messages pendant un dialogue. Tout message envoyé et déclenché par le MS doit d'abord traverser le réseau GSM.

o Application Serveur

Elle est chargée de renvoyer une réponse à l'initiateur.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 40

? Fonctionnalités

o Envoi Message

o Réception Message.

? Diagramme des cas d'utilisation.

Figure 16: Diagramme des cas d'utilisation

IV.2.1.3. Conception de la passerelle.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 41

? Description des classes.

o ClientMobileStation

C'est le représentant de la partie GSM (ou encore MS car le réseau GSM est un support transparent) directement liée à la passerelle via le protocole SS7/MAP obtenu de la plateforme OpenSS7. Il est chargé d'envoyer des requêtes du MS et de lui retourner les réponses.

o InterfaceMessageXML. Il joue le rôle de générateur de services.

o MessageXML

Permet la manipulation des messages XML c'est-à-dire : la réception, l'envoi et la conversion de ceux-ci. De plus, il correspond à un service donné.

o MessageMAP.

Permet la manipulation des messages MAP c'est-à-dire : la réception, l'envoi et la conversion de ceux-ci.

o ApplicationServeur.

C'est le représentant de la partie serveur d'application directement liée à la passerelle via le protocole TCP/IP. Il est chargé de réceptionner les requêtes et de retourner les réponses.

? Diagramme des classes

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 42

Figure 17: Diagramme des classes.

? Diagramme de séquences o Réception Message

Figure 18: Diagramme de séquence (Réception message)

o Envoi Message

Figure 19: Diagramme de séquence (Envoi message)

IV.2.2. Serveur d'applications USSD
IV.2.2.1. Architecture du serveur

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 44

Figure 20: Serveur d'application USSD

IV.2.2.1.1. Java Web Services

Les services web permettent l'appel d'une méthode d'un objet distant en utilisant un protocole web pour le transport (http en général) et XML pour formater les échanges. Les services web fonctionnent sur le principe du client serveur c'est-à-dire qu'un client appelle les services web, le serveur traite la demande et renvoie le résultat au client, le client utilise le résultat. L'appel des méthodes distantes n'est pas une nouveauté mais la grande force des services web est d'utiliser des standards ouverts et reconnus : HTTP et XML. L'utilisation de ces standards permet d'écrire des services web dans plusieurs langages et de les utiliser sur des systèmes d'exploitation différents.

IV.2.2.1.2. Entreprise Java Bean

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 45

Les Entreprise Java Bean ou EJB sont des composants serveurs donc non visuels qui respectent les spécifications d'un modèle édité par Sun. Ces spécifications définissent une architecture, un environnement d'exécution et un ensemble d'API. Le respect de ces spécifications permet d'utiliser les EJB de façon indépendante du serveur d'applications J2EE dans lequel ils s'exécutent, du moment où le code de mise en oeuvre des EJB n'utilise pas d'extensions proposées par un serveur d'applications particulier. Le but des EJB est de faciliter la création d'applications distribuées pour les entreprises.

IV.2.2.1.3. MySQL

Le Système de Gestion de Bases de Données utilisé pour la gestion et le stockage des données dans le cadre de la mise en oeuvre du prototype final est MySQL dans sa version 5.1. Le logiciel MySQL est un serveur de base de données SQL très rapide, multi-thread, multi utilisateurs et robuste. Il est destiné aux missions stratégiques, aux systèmes de production à forte charge, et à l'intégration dans des logiciels déployés à grande échelle. MySQL est une marque déposée de MySQL AB.

Les principaux concurrents de MySQL sont : PostgreSQL, Microsoft SQL Server, et Oracle. Ainsi, le choix de ce Serveur de Bases de Données a été particulièrement orienté par un certain nombre d'avantages qu'il offre aux développeurs. En effet, par rapport aux autres SGBD cités, MySQL est un logiciel intégrant un haut degré de portabilité, de sécurité et constitue un système de sauvegarde assez évolué avec utilisation optimale de ressources.

IV.2.2.2. Les outils de développement

La mise en oeuvre du serveur d'applications USSD a nécessité un certain nombre de plateformes. Ces derniers garantissent au serveur un haut niveau de sécurité, une couche d'accès au données, une bonne qualité des services et rendent ce module maintenable et réutilisable. Ces plateformes sont les suivantes :

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 46

IV.2.2.2.1. J2EE.

J2EE (Java Platform Enterprise Edition) est une plateforme fortement orientée serveur pour le développement et l'exécution d'applications distribuées. Elle est composée de deux parties essentielles :

? un ensemble de spécifications pour une infrastructure dans laquelle s'exécutent les

composants écrits en java : un tel environnement se nomme serveur d'application.

? un ensemble d'API qui peuvent être obtenues et utilisées séparément. Pour être utilisées,

certaines nécessitent une implémentation de la part d'un fournisseur tiers.

J2EE permet une grande flexibilité dans le choix de l'architecture de l'application en combinant les différents composants. Ce choix dépend des besoins auxquels doit répondre l'application mais aussi des compétences dans les différentes API de J2EE. L'architecture d'une application se découpe idéalement en au moins trois tiers :

? la partie cliente : c'est la partie qui permet le dialogue avec l'utilisateur. Elle peut être composée d'une application standalone, d'une application web ou d'applets.

? La partie métier : c'est la partie qui encapsule les traitements (dans des EJB ou des JavaBeans).L

? a partie donnée : c'est la partie qui stocke les données.

IV.2.2.2.2. J2ME

Historiquement, Sun a proposé plusieurs plateformes pour le développement d'applications sur des machines possédant des ressources réduites, typiquement celles ne pouvant exécuter une JVM (Java Virtual Machine) répondant aux spécifications complètes de la plateforme J2SE (Java Platform Standard Edition).

? JavaCard : pour le développement sur des cartes à puces

? EmbeddedJava :

? PersonnalJava : pour le développement sur des machines possédant au moins 2mo de mémoire

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 47

J2ME (Java Platform Micro Edition) est utilisé essentiellement dans le cadre de notre travail pour réaliser les tests.

IV.2.2.3. Analyse du serveur d'applications

? Les acteurs du système o La passerelle :

Elle est responsable du déclenchement des processus. Elle envoie la requête sous forme de fichier XML (eXtended Markup Language.) au serveur d'applications et attend une réponse .

o Le SGBD

C'est le gestionnaire des données de notre serveur.

? Les fonctionnalités du système.
o ReceptionRequete.

o TraitementRequete.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 48

o EnvoieResultat.

? Le diagramme des cas d'utilisation

Figure 21: Diagramme des cas d'utilisations Serveur d'applications

IV.2.2.4. Conception du serveur d'applications

? Description des classes. o ReceptionCode

Cette classe, responsable de la réception de la requête sous forme de message XML, récupère l'information nécessaire et l'envoie pour traitement

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 49

o LesServicesOfferts

Cette classe ne peut pas être instanciée (IL n'existe pas d'objets qui lui est directement lié.). Aussi, elle contient les informations liées à tous les services notamment le codeServices ; ainsi que les méthodes.

o EnvoieCode

Cette classe, responsable de l'envoie du résultat, converti d'abord en MessageXML. o ServicesA

Cette classe représente un service bien défini dans le système. Elle contient toutes les informations relatives à ce service donné.

? Le diagramme de classes.

Figure 22: Diagramme des classes du serveur d'applications

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 50

? Les diagrammes de séquences.
o ReceptionRequete

Figure 23: Diagramme de séquence RéceptionRequete.

o TraitementRequete

Figure 24: Diagramme de sequence TraitementRequete

o EnvoieResultat.

Figure 25: Diagramme de sequence EnvoieResultat.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 52

IV.2.2.5. Test du serveur d'applications USSD.

Ce travail n'a pas pu être testé dans sa totalité à cause de certains manquements notamment la carte d'extension. Qu'à cela ne tienne, un projet de déploiement de notre travail est prévu pour le mois d'Août. Cela garantit l'existence du matériel nécessaire. Toutefois, ce projet a eu deux grands points d'énormes difficultés à savoir le déploiement d'OpenSS7 et la mise en oeuvre du server USSD. La plateforme ayant été installée correctement, notre prototype consistera à montrer que notre serveur d'applications USSD fonctionne normalement.

Conclusion

Dans ce chapitre nous avons présenté l'architecture de notre serveur USSD et sa mise en oeuvre. Cette solution nous offre une démarche logique permettant d'alléger la gestion des habilitations et la sécurisation. Dans la suite nous présenterons un prototype qui illustre le fonctionnement des services USSD.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 53

Troisième Partie:

Résultats et Discutions.

Chapitre: V. IMPLEMENTATION ET

RESULTATS

ans ce chapitre, nous allons présenter dans un premier temps les résultats du prototype que

Dnous avons réalisé en y ajoutant des commentaires. Ensuite viendront une discussion qui ferra ressortir l'état d'avancement du travail et la manière avec laquelle nous nous sommes organisés pour mener à bien ce projet. V.1. Présentation des résultats

Notre prototype ne considère que les banques suivantes : CBC (Commercial Bank of Cameroon), SGBC (Société Général des Banques du Cameroun), AfriLand Bank et First Trust, offrent à leur clientèle la possibilité de consulter leur solde via leur mobile. Après accord des partenaires, cela nécessite une vue des différentes bases de données vers le serveur d'applications USSD.

Ainsi, en considérant que le code service soit le 198 et que ces banques soient numérotées de 1 à 4 dans l'ordre précédemment énuméré, les opérations qu'un client (Par exemple d'AfriLand BanK.) doit effectuer pour consulter son solde sont les suivantes:

? Initiation du dialogue

L'initiation du dialogue USSD se fait via la saisie du code USSD suivie d'une validation.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 55

Figure 26: Saisie du code service uniquement

? Réaction du serveur USSD

Si le terminal dudit utilisateur a les droits d'accès à ce service, le réseau lui retourne la liste des banques afin qu'il sélectionne sa compagnie et précise son numéro de compte bancaire.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 56

Figure 27: Liste des banques et compte bancaire

? Renvoi du solde du client

Lorsque le numéro du compte bancaire est valide, le réseau retourne le solde du bénéficiaire.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 57

Figure 28: Affichage du solde ? Saisie intégrale du code USSD

L'utilisateur peut saisir un code USSD comprenant le code service, l'indice représentant la banque et le numéro de compte bancaire c'est-à-dire :

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 58

Figure 29: code services intégral

Le résultat obtenu est identique à celui de la figure 28.

V.2. Discussion.

Le système mis en oeuvre dans sa version actuelle est constitué de trois modules, en l'occurrence l'open source OpenSS7, la passerelle USSD et le serveur d'applications. Actuellement, nous avons déployé la plateforme OpenSS7 mais la non disponibilité de la carte d'extension nous a empêché d'exploiter la couche application de la pile du protocole SS7 (Les services OpenSS7 requièrent une carte d'extension pour démarrer..). De plus, la passerelle USSD a été conçue mais ne peut pas être testée à cause de l'absence d'une architecture (OpenSS7 étant non fonctionnelle.) fournissant les informations de signalisation.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 59

Cependant, le serveur d'application USSD responsable des traitements et utilisant le TCP/IP a été implémenté et testé. Les tests de performances ont été réalisés à l'aide de la bibliothèque JUnit. Le traitement d'une requête USSD dure en moyenne 0.016 secondes (0.016 sec) et les 99% de ce temps sont consommés au niveau du sous-système de récupération des données dans le SGBD. Ce résultat est suffisamment satisfaisant car il confirme que le dialogue s'effectue en temps réel.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 60

CONCLUSION GENERALE.

Ce travail s'inscrivait dans l'optique de la gestion des services USSD sur la plateforme OpenSS7. Il visait plus précisément à proposer une solution de services USSD fonctionnant sur un PC car les équipements offrant ces services sont très coûteux.

L'intérêt de ce travail est capital car il permet une communication en temps réel et à coût nul entre une entreprise et ses fournisseurs/clientèles améliorant ainsi la relation qui existe entre ces derniers.

Pour y parvenir nous avons procédé en plusieurs étapes. Dans un premier temps, il a fallu s'imprégner des mécanismes et procédures d'un réseau de télécommunication afin de comprendre le fonctionnement d'un service USSD et celui de la plateforme OpenSS7. Ensuite, il a fallu appréhender les concepts inhérents à la problématique soulevée. Ainsi, les concepts tels que SS7, GSM, USSD ont permis de se familiariser à ce nouveau domaine. Enfin, par l'entremise d'une modélisation objet, nous avons concrétisé le couplage SS7+Modèle OSI. Un prototype de l'application simulant un dialogue USSD a été implémenté.

Difficultés rencontrées

Nous avons rencontré plusieurs difficultés dans la mise en oeuvre du système notamment :

? Le déploiement de la plateforme OpenSS7 sur Fedora Core 6 (Distribution Linux) qui nécessitait un certain nombre de packages dont les versions existantes étaient obsolètes dans le noyau du système d'exploitation.

? La maîtrise de la plateforme était un lourd travail car sa communauté était très restreinte.

? La récupération et la conversion des informations de signalisation nous ont amenés à faire un nouveau projet sur le plan maitrise des informations.

L'un des éléments qui nous ont permis de surmonter certaines difficultés est la littérature.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 61

Bilan personnel

La mise en oeuvre de ce système nous a permis d'acquérir de l'expérience dans le domaine du Génie Logiciel. En effet elle nous a permis de découvrir et de mettre en oeuvre certains designs patterns tels que la Fabrique. Nous avons également gagné en expériences dans l'étude des concepts de télécommunication tels que SS7, GSM, USSD ..., avec lesquels nous n'étions pas très familiers par le passé.

Sur le plan professionnel, nous avons développé des qualités dans la communication en entreprise, notamment par la préparation de plusieurs questionnaires visant à s'imprégner des concepts et enjeux du domaine d'étude.

Perspectives

Nous avons mis sur pied une application qui permet la manipulation des services USSD. Cependant, il serait plus optimal de faire communiquer ce système avec plusieurs RTPC car le déploiement dans un seul RTCP entraine une contrainte sur le choix de l'opérateur téléphonique. De plus, il serait plus intéressant d'utiliser toutes les fonctionnalités de la plateforme OpenSS7 notamment la téléphonie sur IP, l'envoie des SMS afin de faire de OpenSS7 (Comme par définition) un réseau téléphonique de nouvelle génération.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 62

REFERENCES BIBLIOGRAPHIQUES

LIVRES, COURS, ARTICLES

[02, codeUlb]

Etude des Spécifications de protocole de signalisation relatif à la téléphonie sur Internet. code.ulb.ac.be. [En ligne] [Citation : 03 Juin 2008.] http://code.ulb.ac.be/dbfiles/Can2001mastersthesis.pdf.

[Anttalainen, 2003]

Anttalainen, Tarmo. Introduction to Telecommunications Network Engineering. Boston et London: Artech House, 2003.

[SS7/CCSN, 2004]

SS7/CCSN. <<The SS7 Common Channel Signaling Network.>> 23 Août 2004. (accès le Mai 22, 2008).

[Fabrice, 2002]

Fabrice. <<Commenter la définition "Asterisk".>> dico du net. 2002. http://www.dicodunet.com/definitions/commenter-667.htm (accès le Mars 25, 2008).

[HENRY, 1999]

HENRY, Malika HAMMOUDI & Sylvie. <<SS7/IP.>> Définition générale. 1999. http://wapiti.telecom

ille1.eu/commun/ens/peda/options/ST/RIO/pub/exposes/exposesrio1998/S S7&IP/page1.html (accès le Mars 12, 2008).

[Léopold, 2001]

Léopold, DIOUF. Signalisation Sémaphore numéro 7. 2001.
http://www.membres.lycos.fr/delpolo/chap2.htm (accès le Juin 11, 2008).

REFERENCES EN LIGNE

[Tango. 2007]

Tango, la convergence fixe mobile et l'IMS . strategiestm. [En ligne] 10 Septembre 2007. [Citation : 28 Fevrier 2008.] http://www.strategiestm.com/spip.php?page=print&id_article=1231.

[Cisco. 2007]

SS7 et signalisation IP. squire-technologies. [En ligne] 10 Septembre 2007. [Citation : 20 Mars 2008.] http://www.squiretechnologies.co.uk/.

[TormentaIII. 2008]

Tormenta III 4 Port T1/E1 Interface Card. govarion. [En ligne] 2008. [Citation : 20 Mai 2008.]

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 63

 

http://www.govarion.com/index.php?main_page=product_info&products_i d=1&zenid=e6d180948942373afd0ebee70696e114.

[Agner Krarup]

Agner Krarup, Erlang. Erlang (unité). http://fr.wikipedia.org/wiki/Erlang_%28unit%C3%A9%29 (accès le Mai 22, 2008).

[Bettstetter, 1999]

Bettstetter, Jörg Eberspächer & Hans-Jörg Vögel & Christian. GSM: Switching, Services and Protocols. Ouvrage scientifique., Toronto: WILEY, 1999.

[Bidulock, 2007]

Bidulock, Brian F. G. OpenSS7. 23 Juin 2007. www.OpenSS7.org (accès le février 20, 2008).

[Brian, 2007]

--. <<programs .>> openss7. 25 Juin 2007. http://www.openss7.org/programs.html (accès le Février 29, 2008).

[ENUM, 2001]

ENUM. <<Principes et conditions de mise en oeuvre du protocole ENUM en France.>> 12 juin 2001.

http://www.telecom.gouv.fr/fonds_documentaire/consultations/consultation _enum_finale.pdf (accès le Juin 04, 2008).

[HJAIEJ, 2005]

HJAIEJ, Kamel. <<Signalisation dans le réseau NGN.>> ituarabic. 02 Novembre 2005. http://www.ituarabic.org/PreviousEvents/2005/SFMCARB/1st%20Day/Session%201.3b/Doc17b-1.3.12b.pdf (accès le Juin 04, 2008).

[jrepetti, 2004]

jrepetti. erasme. 27 Mai 2004. http://www.erasme.org/Introductiona-la-voix-sur-IP-VoIP (accès le Avril 21, 2008).

[Kannel, 02]

Kannel. <<Institut Innovation Informatique Entreprise.>> Kannel. 02. http://www.3ie.fr/nos_references/projet_MMSBox.htm (accès le Mars 21, 2008).

[Kropf]

Kropf, Pierre Brisson & Peter. <<Global System for Mobile Communication.>> iro.umontreal. http://www.iro.umontreal.ca/~kropf/ift6052/notes/gsm.pdf (accès le Mars 26, 2008).

[Les, 08]

<<Les réseaux GSM ,3G,U M TS,4G,GPRS. L a télé sur mobile.>> univ-reims. http://cosy.univ-

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 64

 

reims.fr/~fnolot/Download/Cours/reseaux/m2pro/RMHD0708/gsm_3g.pdf (accès le Mai 02, 2008).

[Ludovic, 1999]

Ludovic, AERNOUTS. <<Le réseau GSM.>> 1999. http___mediatools.iict.ch_document_url=Le_systeme_de_signalisation_SS _7_Rapport.pdf (accès le Avril 30, 2008)

[Mahi, 2003]

Mahi, Abdelkader El. <<Étude et conception d'une passerelle entre un réseau SIP et un PSTN.>> iro.umontreal. Octobre 2003. http://www.iro.umontreal.ca/~jaumard/Research_Projects/Mitacs_Project2/ Publications/definition1.pdf (accès le Mars 2, 2008).

[Martins]

Martins, Philippe. <<Du GSM à la 4G.>> infres.enst. http://www.infres.enst.fr/~ram/IMG/pdf/GSM_4G-2.pdf (accès le Juin 03, 2008).

[OpenSwitch, 03]

OpenSwitch. <<Le dictionnaire de Guide-Informatique.>> GuideInformatique.com. 03. http://www.guideinformatique.com/definitionsoftswitch-1469.htm (accès le Juin 04, 2008).

[Scrimitore, 2002]

Scrimitore, David. <<Signalisation Sémaphorme #7.>> bretagne.enscachan. 2002. http://www.dit.bretagne.enscachan.fr/People/Claude.Jard/MIT2_Reseaux_Cours7.pdf (accès le Fevrier 28, 2008).

[SS7/IP, 03]

SS7/IP. <<2° Partie : SS7, ENTRE LE RTC ET LE MONDE IP.>> SS7IP. 03. http://wapiti.telecom-

lille1.eu/commun/ens/peda/options/ST/RIO/pub/exposes/exposesrio1998/S S7&IP/page2_II.html (accès le Mai 02, 2008).

[Tolj, 1998]

Tolj, Andreas Fink & Bruno Rodrigues & Stipe. <<Kannel 1.3.2 User's Guide.>> kannel. 1998.

http://www.kannel.org/download/1.3.2/userguide-1.3.2/userguide.html (accès le Mai 12, 2008).

[WAP, 2001]

WAP. <<WAP Over GSM USSD.>> wAP@Club. 21 Juillet 2001. http://www.wmlclub.com/docs/especwap2.0/WAP-204- WAPOverGSMUSSD-20010730-a.pdf (accès le Mai 10, 2008).

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 65

[PH-E400P-TOR3, PhonicEQ. 2008.]

PhonicEQ PH-E400P-TOR3. asteriskcards. [En ligne] 2008. [Citation : 20 Mai 2008.]

http://www.asteriskcards.eu/webstore/phoniceq_voicedatacards.php.

openss7. 1996

openss7 Corporation. openss7. [En ligne] 1996. [Citation : 19

Février 2008.] http://www.openss7.com/.

Mémoire de Fin d'Etudes d'Ingénieur de Conception en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page 66






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry