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]#.
Où 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
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
Mémoire de Fin d'Etudes d'Ingénieur de Conception
en Informatique : ENSP, JUIN 2008 DONFACK Cédric Pérez Page
66
|