REMERCIEMENTS - EC2LT
REMERCIEMENTS - EC2LT
REMERCIEMENTS - EC2LT
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
<strong>REMERCIEMENTS</strong><br />
Avant toutes choses je tiens à rendre grâce à ALLAH Dieu le Tout Puissant, le Tout<br />
Miséricordieux, le Très Miséricordieux de nous avoir donné patience et courage durant ces<br />
longues années d’études.<br />
J’adresse mes sincères remerciements à :<br />
Tous les enseignants de l’<strong>EC2LT</strong> qui ont su nous donné une formation didactique et<br />
appréciable durant toute notre formation.<br />
Notre professeur Encadreur Docteur Samuel OUYA qui nous a ouvert les portes de<br />
l’<strong>EC2LT</strong> et accueillis. Pour sa disponibilité, rigueur et recommandations, ce travail est<br />
pour nous l’occasion de témoigner notre profonde gratitude.<br />
Mr Tariq DJIBALENE pour son aide, et ses conseils durant l’élaboration du travail<br />
Mr Boussougo Wilner Junior pour sa disponibilité et ses conseils<br />
Mr James Gaglo pour son appui et ses conseils<br />
Mr Jean DIOKH<br />
Mr GOUDIABY Lamine, un père pour moi<br />
Tonton Moussa ALI Moussa<br />
Mes amies Mariam Djamila SABIT Philipe, Hadjé Atimé Mahamat SANDA<br />
Mon frère Khalid Hussein Ali et toute sa famille<br />
Arafa MAHAYADINE SALAH et toute sa famille<br />
Mme Aicha Kounta, son mari et ses enfants<br />
A la promotion 2011-2012<br />
Toutes les personnes qui de près ou de loin ont contribué à la réalisation de ce<br />
mémoire<br />
Etude et Conception d’une solution de SMS Banking<br />
1
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
AVANT-PROPOS<br />
L’Ecole Centrale des Logiciels Libres et des Télécommunications (<strong>EC2LT</strong>) de Dakar<br />
propose un diplôme de Licence de niveau BAC+3 adapté aux secteurs des<br />
Télécommunications et des technologies en réseaux permettant d’acquérir une double<br />
compétence en réseaux et en télécommunications : le Diplôme de Licence en Réseaux et<br />
Télécommunications<br />
La formation s’étale sur trois ans. L’enseignement comporte des cours théoriques et pratiques<br />
ainsi qu’un stage de fin de formation de trois(3) à quatre(4) mois en entreprise ou dans un<br />
laboratoire. A la fin de ce stage, l’étudiant est tenu présenter devant un membre du jury un<br />
projet de mémoire. C’est dans cette optique que ce présent travail dont le sujet s’intitule<br />
« Etude et Conception d’une solution SMS Banking » a été réalisé au sein du département<br />
Etude de l’Entreprise RTN (Réseaux et Techniques Numériques)<br />
Cette société œuvre principalement dans les domaines de la gestion des projets de<br />
Télécommunications Réseaux et Informatiques basé sur les logiciels libres ayant trait aux<br />
études, conception, réalisations et planifications.<br />
Je tiens au terme de ce travail exprimer l’honneur qui m’est fait par les membres du jury en<br />
acceptant de juger mon travail.<br />
Etude et Conception d’une solution de SMS Banking<br />
2
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Résumé<br />
Le SMS Banking est une solution de services à valeurs ajoutées permettant aux clients<br />
d’une banque de pouvoir effectuer certaines opérations bancaires concernant son compte tel<br />
que consulter le solde, virement … via le Service de Message Court SMS d’un opérateur de<br />
réseau mobile et grâce à un simple téléphone mobile.<br />
Les plateformes intégrantes de ces services à valeurs ajoutées ont une partie connectée au<br />
réseau mobile via une pile de protocole(SS7) et l’autre partie au réseau IP. Le développement<br />
d’applications mobiles basées sur le SMS nécessite la mise en place d’une passerelle SMS<br />
permettant l’interconnexion des deux réseaux (Télécommunications et Informatique).<br />
Kannel est un logiciel Open Source. C’est une passerelle SMS qui peut recevoir les SMS du<br />
réseau GSM et les transmettre à un autre réseau (informatique). Elle supporte plusieurs types<br />
permettant d’interconnecter les SMSC entre eux ou le réseau GSM avec un autre réseau (IP par<br />
exemple). La passerelle Kannel permet donc de mettre en place des services à valeurs ajoutées.<br />
Abstract<br />
SMS Banking is a solution of value added services enables bank customers to perform<br />
some banking on his account as check your balance, transfer ... via the Short Message Service<br />
SMS from a mobile network operator and with a simple mobile phone.<br />
These platforms integral value added services are part connected to the mobile network<br />
via a protocol stack (SS7) and the other party to the IP network. The development of mobile<br />
applications based on SMS requires the implementation of an SMS gateway enabling<br />
interconnection of the two networks (telecommunications and IT).<br />
Kannel is open source software. This is an SMS gateway that can receive SMS GSM<br />
network and send them to another network (computer). It supports several types to interconnect<br />
them the SMSC or GSM network with another network (e.g. IP). Kannel gateway makes it<br />
possible to develop value-added services.<br />
Etude et Conception d’une solution de SMS Banking<br />
3
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
TABLES DES MATIERES<br />
SIGLES ET ABREVIATIONS ............................................................................................8<br />
TABLES ET FIGURES...................................................................................................... 10<br />
INTRODUCTION .............................................................................................................. 12<br />
1.CONTEXTE GENERAL DU PROJET ............................................................................ 14<br />
1.1. Présentation de l’Entreprise Réseaux et Techniques Numériques ............................ 14<br />
1.1.1. Mission de RTN .............................................................................................. 14<br />
1.1.2. Domaine d’activité .......................................................................................... 14<br />
1.2.1. Problématique ................................................................................................. 15<br />
1.2.2. Objectifs .......................................................................................................... 16<br />
1.3. GENERALITES SUR LE MOBILE BANKING .................................................... 16<br />
1.3.1. La banque à distance ....................................................................................... 16<br />
1.4. Le mobile Banking ................................................................................................. 17<br />
1.4.1. Définition ........................................................................................................ 17<br />
1.4.2. Quelques technologies autour du mobile Banking............................................ 18<br />
1.4.2.1. Le STK Banking ...................................................................................... 18<br />
1.4.2.2. Le WAP Banking ..................................................................................... 19<br />
1.4.2.3. L’USSD Banking : ................................................................................... 20<br />
1.4.2.4. Le SMS Banking :.................................................................................... 20<br />
2. LE RESEAU GSM ........................................................................................................... 22<br />
2.1 Présentation ............................................................................................................ 22<br />
2.2 Architecture physique ............................................................................................. 22<br />
2.3 Les interfaces de communications .......................................................................... 24<br />
2.4 Architecture logique ............................................................................................... 25<br />
2.5 Architecture des protocoles au sein du réseau GSM :.............................................. 26<br />
2.6 Le Réseau de signalisation SS7 .............................................................................. 28<br />
Etude et Conception d’une solution de SMS Banking<br />
4
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
3. LE CENTRE DE SERVICE DE MESSAGERIE COURT : SMSC................................. 30<br />
3.1 Présentation ............................................................................................................ 30<br />
3.2 Architecture............................................................................................................ 30<br />
3.2.1 Les interfaces .................................................................................................. 31<br />
3.2.1.1 L’interface de l’unité de signalisation (SIU)................................................. 31<br />
3.2.1.2 Le système OAM ......................................................................................... 31<br />
3.2.1.3 Le système de facturation............................................................................. 31<br />
3.3 Les entités externes de message court : ESME ........................................................ 32<br />
3.4 Qualité de service d’un SMSC ................................................................................ 33<br />
3.4.1 La gestion des messages :................................................................................ 33<br />
3.4.1.1 Les messages MO ........................................................................................ 33<br />
3.4.1.2 Les messages MT ........................................................................................ 34<br />
3.4.2 Mécanisme d’acquittements ............................................................................ 34<br />
3.4.3 Mécanisme de contrôle de surcharge : quelques concepts ................................ 35<br />
3.4.3.1 Anti-spamming ............................................................................................ 35<br />
3.4.3.2 Regulation de la sortie ................................................................................. 35<br />
3.4.3.3 La protection de l’entrée .............................................................................. 35<br />
3.4.4 Mécanisme de transaction :.............................................................................. 35<br />
3.5 Mise en œuvre du simulateur SMSC : SMPPsim .................................................... 38<br />
3.5.1 Présentation ..................................................................................................... 38<br />
3.5.2 Installation et configuration :........................................................................... 38<br />
3.5.3 Démarrage de SMPPsim :................................................................................ 39<br />
3.5.4 L’interface utilisateur : .................................................................................... 39<br />
4 . LE SMS AU SEIN DU RESEAU GSM .......................................................................... 41<br />
4.1 Présentation ............................................................................................................ 41<br />
4.2 Les entités de base du service SMS......................................................................... 41<br />
4.3 Les différents types de SMS : ................................................................................. 42<br />
4.3.1 Service SM-MO (Short Message Mobile Originated) ...................................... 42<br />
4.3.2 Service SM-MT (Short Message Mobile Terminated)...................................... 43<br />
4.4 Les principaux protocoles de communication ......................................................... 45<br />
4.4.1 Le protocole MAP ........................................................................................... 45<br />
4.4.2 Le protocole SMPP ......................................................................................... 46<br />
Etude et Conception d’une solution de SMS Banking<br />
5
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
4.4.2.1 Presentation du protocol SMPP .................................................................... 47<br />
4.4.2.2 Description d'une session SMPP : ................................................................ 48<br />
5. LA PASSERELLE SMS : KANNEL................................................................................ 50<br />
5.1 C’est quoi une passerelle ?...................................................................................... 50<br />
5.2 Présentation de kannel ............................................................................................ 50<br />
5.3 Architecture de kannel ............................................................................................ 51<br />
5.4 La passerelle SMS .................................................................................................. 52<br />
5.5 La passerelle WAP ................................................................................................. 53<br />
5.6 Sécurité .................................................................................................................. 55<br />
5.7 Installation et configuration de kannel] ................................................................... 55<br />
5.7.1 Installation de kannel ....................................................................................... 55<br />
5.7.2 Configuration de kannel .................................................................................. 56<br />
1.4.3. Démarrage de la passerelle : ............................................................................ 61<br />
ANALYSE ET CONCEPTION DE LA SOLUTION SMS BANKING ................................ 63<br />
6.1 Architecture et fonctionnement ............................................................................... 63<br />
6.2 Exposé du problème ............................................................................................... 64<br />
6.3 Fonctionnalités du système SMS Banking .............................................................. 65<br />
6.3.1 Services d’informations à la demande .............................................................. 65<br />
6.3.2 Services de notification événementielle ........................................................... 65<br />
6.3.3 Services de notification périodiques ................................................................ 66<br />
6.3.4 Gestion des clients ........................................................................................... 66<br />
6.3.5 Gestion de la facturation .................................................................................. 66<br />
6.3.6 Gestion des SMS ............................................................................................. 66<br />
6.3.7 Etats et statisques ............................................................................................ 67<br />
6.3.8 Sécurité ........................................................................................................... 67<br />
6.4 Choix des techniques et outils utilisés ..................................................................... 67<br />
6.4.1 Le langage UML ............................................................................................. 67<br />
6.4.2 Le langage SQL .............................................................................................. 68<br />
6.4.3 Le langage PHP ............................................................................................... 69<br />
6.4.4 Merise ............................................................................................................. 69<br />
6.4.5 MySQL ........................................................................................................... 69<br />
Etude et Conception d’une solution de SMS Banking<br />
6
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
6.5 Conception du Système .......................................................................................... 70<br />
6.5.1 Modélisation du système ................................................................................. 70<br />
6.5.2 Conception de la base de données .................................................................... 80<br />
6.6 Perspectives............................................................................................................ 84<br />
CONCLUSION ................................................................................................................... 85<br />
REFERENCES BIBLIOGRAPHIQUES .......................................................................... 87<br />
ANNEXES .......................................................................................................................... 89<br />
Etude et Conception d’une solution de SMS Banking<br />
7
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
SIGLES ET ABREVIATIONS<br />
Nous Présentons ici certains sigles et abréviations utilisés dans le mémoire<br />
Abréviations Description<br />
SMS Short Message Service<br />
SGBD Système de Gestion de Base de Données<br />
GSM Global System for Mobile Communication<br />
SVA Services à Valeurs Ajoutées<br />
WAP Wireless Application Protocol<br />
STK Sim Toolkit<br />
HTTP HyperText Transfert Protocol<br />
BSS Base Station Sub-system<br />
NSS Network and Switching Sub-system<br />
OSS Opération Support Sub-system<br />
BTS Base Transceiver Station<br />
MS Mobile Station<br />
HLR Home Location Register<br />
VLR Visitor Location Register<br />
AUC Authentication Center<br />
OMC Opération and Maintenance Center<br />
OMC/R Opération and Maintenance Center/ Radio<br />
OMC/S Opération and Maintenance Center/ System<br />
OSI Open System Interconnexion<br />
LAPDm Link Access Protocol on D Mobile Channel<br />
SS7 System Signaling 7<br />
TCH Trafic Channel<br />
LAPD Link Access Protocol on D Channel<br />
MTP Message Transfert Part<br />
RR Radio Ressources<br />
MM Mobility Management<br />
CM Connection Management<br />
CC Call Control<br />
SS<br />
Supplementary Service<br />
SCCP Signaling Connection Control Part<br />
BSSAP BSS Application Part<br />
CSS Common Channel Signaling<br />
SMSC Short Message Service Center<br />
SMPP Short Message Peer to Peer<br />
ESME External Short Messaging Entity<br />
EMI External Machine Interface<br />
SUI Signaling Interface Unit<br />
STP Signaling Transfert Points<br />
Etude et Conception d’une solution de SMS Banking<br />
8
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
SM MO Short Message Mobile Originated<br />
SM MT Short Message Mobile Transmit<br />
MAP Mobile Application Part<br />
PDU Protocol Data Unit<br />
UML Unified Modeling Langage<br />
SQL Structured Query Langage<br />
MCD Modèle Conceptuel de Données<br />
MLD Modèle Logique de Données<br />
<strong>EC2LT</strong> Ecole Centrale des Logiciels Libres et Télécommunications<br />
RTN Réseaux et Techniques Numériques<br />
Etude et Conception d’une solution de SMS Banking<br />
9
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
TABLES ET FIGURES<br />
Liste des figures<br />
Figure 1.1 : Architecture D’une application WAP ............................................................ 19<br />
Figure 1.2 : Architecture d’une application USSD............................................................ 20<br />
Figure 1.3 : Architecture d’une application SMS ............................................................. 21<br />
Figure 2.1 : Architecture Générale d’un réseau GSM ...................................................... 22<br />
Figure 2.2 : Architecture des protocoles GSM .................................................................. 27<br />
Figure 3.1 : Le SMSC et GSM ........................................................................................... 31<br />
Figure 3.2 : Interfaces récepteur ESME ............................................................................ 32<br />
Figure 3.3 : Interface émetteur ESME .............................................................................. 32<br />
Figure 3.4 : Envoi d’un Message Court d’origine Mobile vers le SMSC ......................... 34<br />
Figure 3.5 : Envoi d’un message court du SMSC vers le mobile destinataire .................. 34<br />
Figure 3.6 : Processus d’envoi du message court d’un MO vers MT ............................... 37<br />
Figure 3.7 : Interface utilisateur SMPPSim ...................................................................... 40<br />
Figure 3.8 : Interface d’envoi d’un message de type MO ................................................. 40<br />
Figure 4.1 : Entités de bases du SMS ................................................................................. 41<br />
Figure 4.2 : Schéma détaillé de l’envoi d’un Message de type MO .................................. 43<br />
Figure 4.3 : Schéma détaillé d’envoi d’un message de type MT ....................................... 45<br />
Figure 4.4 : Le protocole SMPP ......................................................................................... 47<br />
Figure 4.5 : Types de messages SMPP .............................................................................. 48<br />
Figure 5.1 : Architecture de kannel ................................................................................... 51<br />
Figure 5.2 : Les modules de kannel .................................................................................... 52<br />
Figure 5.3 : Position logique de la passerelle SMS entre un mobile et un serveur de<br />
contenu. ............................................................................................................................... 53<br />
Figure5.4 : Position logique de la passerelle WAP entre un téléphone et un serveur de<br />
contenus. ............................................................................................................................. 54<br />
Figure 5.6 : Configuration du group core de kannel ......................................................... 56<br />
Figure 5.7 : Configuration du groupe SMSC pour le protocole SMPP ............................ 57<br />
Figure 5.8 : Configuration du groupe SMSC pour un modem GSM ............................... 57<br />
Etude et Conception d’une solution de SMS Banking<br />
10
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 5.9 : Configuration du groupe smsbox ................................................................... 57<br />
Figure 5.10 : Configuration du group sendsms-user ......................................................... 57<br />
Figure 5.11 : Configuration du groupe sms-service .......................................................... 58<br />
Figure 5.12 : Configuration du group modem ................................................................... 59<br />
Figure 6.1 : Architecture de la solution SMS Banking ...................................................... 63<br />
Figure 6.3 :Diagramme des cas d’utilisations préliminaires des services à la demande de<br />
l’utilisateur .......................................................................................................................... 73<br />
Figure 6.4: Diagramme des cas d’utilisations préliminaires d’envoi de messages sous<br />
forme d’alertes .................................................................................................................... 73<br />
Figure 6.5 : Diagramme de cas d’utilisation pour une demande de solde ........................ 74<br />
Figure 6.6 : Diagramme de séquence système du scenario nominal de consultation de<br />
solde..................................................................................................................................... 77<br />
Figure 6.7 : Diagramme de cas d’activité de la demande de la consultation de solde ...... 77<br />
Figure 6.8 : Diagramme de cas d’utilisation de notification de crédit sur un compte ..... 78<br />
Figure 6.9 : Diagramme de séquence du scenario nominal de notification de crédit sur<br />
un compte ............................................................................................................................ 80<br />
Figure 6.10 : Diagramme de cas d’activité de notification de crédit sur un compte ........ 80<br />
Figure 6.11 : Le modèle Conceptuel de Données ............................................................... 81<br />
Figure 6.12 : le modèle Logique de données ...................................................................... 82<br />
Figure 6.13 : Le dictionnaire de données ........................................................................... 83<br />
Liste des tables<br />
Tableau 2.1 : Les principales interfaces de communications GSM .................................. 25<br />
Tableau 5.1 : Paramètres pour les services dans kannel ................................................... 58<br />
Etude et Conception d’une solution de SMS Banking<br />
11
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
INTRODUCTION<br />
La révolution en matière des Nouvelles Technologies de l’information et de la<br />
communication donne lieu à la fusion de deux domaines qui autrefois étaient totalement<br />
séparés : l’informatique et la télécommunication. Cette fusion a permis la mise en place de ce<br />
que l’on appelle les services à valeurs ajoutées. Cependant les plateformes intégrant des<br />
services à valeurs ajoutées sont d’un côté connectées au réseau télécom via les protocoles de<br />
la pile SS7 et d’un autre coté au réseau IP permettant le développement et déploiement<br />
rapides d’applications.<br />
Le SMS Banking est une solution de services à valeurs ajoutées permettant aux utilisateurs<br />
d’effectuer certaines opérations bancaires via leur téléphone mobile en utilisant le service<br />
SMS du réseau d’opérateur.<br />
Dans de nombreux pays en Afrique où l’accès à l’internet est hors de prix et guère fiable, le<br />
SMS est devenu le moyen de communication le plus simple et accessible à tous même dans<br />
les zones les plus reculées. C’est ainsi les services bancaires via le téléphone mobile<br />
connaissent un véritable succès dans ce continent. Grace à la croissance massive de<br />
l’utilisation du téléphone portable, ce système se multiplie un peu partout en Afrique. C’est<br />
ainsi que la mise en place d’une telle application est très importante pour les opérateurs des<br />
réseaux mobiles, les fournisseurs de services et également aux institutions telles que les<br />
banques…<br />
Le présent mémoire dont le thème s’intitule « Etude et Conception d’une Solution de SMS<br />
Banking » comporte six(6) chapitres dont le 1 er Chapitre «Contexte Générale du projet » met<br />
le projet dans son contexte par la présentation de la structure d’accueil, des objectifs , de la<br />
problématique à résoudre et des différents technologies s’articulant autour du sujet » ; le<br />
second chapitre « Le réseau GSM » présente les différents éléments techniques d’un réseau<br />
d’opérateur mobile ;le troisième « Le centre de service de messagerie court : SMSC »<br />
présente les principaux composants d’un SMSC et son fonctionnement ,le quatrième « Le<br />
Etude et Conception d’une solution de SMS Banking<br />
12
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
SMS au sein du Réseau GSM »,situe la place d’un SMSC dans l’architecture d’un réseau<br />
mobile , le cinquième « La passerelle SMS : KANNEL » fait une étude détaillée sur un<br />
serveur SMS kannel chargé de l’envoi et la réception des SMS du réseau GSM vers le réseau<br />
IP et vice versa. Enfin le dernier chapitre(6) «Analyse et Conception de la solution SMS<br />
Banking » présente la méthodologie suivie pour réaliser le projet, la spécification des besoins<br />
et des fonctionnalités du système.<br />
Notre travail sera achevé par une conclusion générale qui va résumer nos objectifs et les<br />
limites de notre réalisation tout en évoquant les améliorations envisageables.<br />
Etude et Conception d’une solution de SMS Banking<br />
13
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Chapitre 1<br />
CONTEXTE GENERAL DU PROJET<br />
Ce chapitre fera l’objet dans un premier temps de la présentation de la structure<br />
Réseaux et Techniques Numériques et définit également le contexte de notre sujet, sa<br />
problématique ainsi que ses objectifs et en second lieu présenter quelques technologies autour<br />
du mobile Banking.<br />
1.1. Présentation de l’Entreprise Réseaux et Techniques Numériques<br />
Réseaux et Techniques Numériques (R.T.N) est une société dirigée par une équipe de<br />
professionnels qualifiés, spécialisée en logiciels libres et centrée sur les services<br />
informatiques, techniques numériques et télécommunications.<br />
La société offre une large gamme de formations se basant sur des supports de cours,<br />
fruits de recherches approfondies. Ces supports testés et avérés permettent aux apprenants<br />
d’être aussitôt opérationnels.<br />
1.1.1. Mission de RTN<br />
La mission de RTN vise à accroître la compétitivité de ses clients par la valorisation<br />
des composantes informatiques, logicielles et réseaux constituants le système d'information de<br />
ces derniers. Cela leur confère des gains importants en produisant plus et mieux à budget<br />
réduit, grâce à l’exploitation de la puissance des logiciels libres existants et ceci, sans rupture<br />
des cycles d'exploitation de service de ces entreprises et sans remise en cause<br />
organisationnelle. Leur principal objectif est de conseiller et de former le personnel des<br />
entreprises qui veulent disposer des logiciels libres et adaptés à leurs besoins minimisant ainsi<br />
les coûts d' investissements en réseaux informatiques tout en leur apportant une sécurité<br />
avancée.<br />
1.1.2. Domaine d’activité<br />
Etude et Conception d’une solution de SMS Banking<br />
14
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
La société RTN offre une palette de services dans le domaine de la technologie de<br />
l’information et de la communication. Les services de RTN sont orientées Open Source et<br />
réalisées selon les besoins et l'exploration des opportunités d'entreprise. Elles répondent par<br />
conséquent aux problèmes réels.<br />
RTN met également un accent sur le développement des services à valeurs ajoutées, et<br />
l’interconnexion des réseaux Linux et Windows, participant ainsi à la cohabitation et<br />
l’harmonisation des réseaux hétérogènes Linux-Windows.<br />
RTN intervient également dans les domaines suivants :<br />
<br />
Conseils et orientations professionnelles pour la gestion d’un réseau d’entreprise<br />
dynamique;<br />
<br />
<br />
Encadrement et accompagnement des personnels des entreprises;<br />
Mise à niveau du personnel des entreprises sur les technologies de l’information et de<br />
la communication ;<br />
RTN dispense aussi un éventail de formations dont la liste non exhaustive est la suivante :<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Certification Linux Professional Institute (LPI)<br />
Téléphonie sur IP avec le protocole SIP<br />
Téléphonie sur IP avec le protocole H323<br />
Mise en place de la ToIP avec l’IPBX open source Asterisk (SIP, SCCP, UNISTIM)<br />
Mise en place de la ToIP avec le Call Manager de Cisco<br />
Messagerie collaborative<br />
Les services réseaux<br />
1.2.Le sujet<br />
1.2.1. Problématique<br />
Consulter ses comptes à tout moment, effectuer un virement sans se déplacer,<br />
consulter à temps réel l’état de son compte, voilà qui confère un confort et un gain de temps<br />
des plus appréciables. La banque à distance est un service bancaire récent et une réalité. Elle<br />
tend à se développer de plus en plus, dans la mesure où elle répond à certaines attentes : celle<br />
de ne pas se déplacer et celle de ne pas faire la queue au guichet d’une banque dont les heures<br />
d’ouverture s’accordent généralement mal avec les disponibilités des clients.<br />
Etude et Conception d’une solution de SMS Banking<br />
15
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Avant il y avait les services bancaires via internet permettant aussi l’accès aux services<br />
bancaires à distance mais la plus grande limite de cette technique est l’exigence d’un PC et<br />
d’une connexion internet. C’est ainsi que la solution SMS Banking réduit tout le besoin du<br />
client à un téléphone mobile.<br />
La solution SMS Banking est une solution de service à valeurs ajoutées innovante des réseaux<br />
GSM permettant une bonne communication avec les clients (institutions financières ou<br />
coopérative bancaires) désirant accéder aux services bancaires sans qu’il ne soient obligés de<br />
se déplacer jusqu’à l’agence bancaire. Cependant, les NTIC en tant qu’outils de<br />
développement offre des moyens et techniques pour la mise en œuvre d’une telle application.<br />
Quels sont ces moyens et comment exploiter pour la mise en œuvre d’une telle solution ?<br />
Ce projet nous permettra de toucher le monde des télécommunications, les réseaux<br />
informatiques, les protocoles de transport, les langages de programmations.<br />
1.2.2. Objectifs<br />
Les objectifs du présent mémoire sont les suivants:<br />
‣ Etude et fonctionnement du SMS au sein du réseau GSM ;<br />
‣ Montrer la grande place qu’occupent les logiciels libres dans la mise en place des<br />
services à valeurs ajoutées en télécommunications;<br />
‣ Etude détaillée du réseau cœur d’un opérateur pour le développement des services à<br />
valeurs ajoutés;<br />
‣ Etude détaillée d’une passerelle SMS pour la mise en œuvre des services au sein d’un<br />
réseau d’opérateur téléphonique;<br />
‣ Développer des compétences en applications mobiles.<br />
1.3.GENERALITES SUR LE MOBILE BANKING<br />
1.3.1. La banque à distance<br />
Etude et Conception d’une solution de SMS Banking<br />
16
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
La révolution technologique en matière d’information et de communication a permis<br />
de nouvelles formes de distribution de services bancaires tel que la banque à distance et a<br />
poussé les établissements financiers à une stratégie de distribution multi canal.<br />
-Le guichet automatique<br />
- L’Internet Banking<br />
-Le Fax Banking<br />
-Le WAP Banking<br />
-Le SMS Banking<br />
La banque à distance ou encore le E-Banking (banque électronique) peut être défini<br />
comme toute activité bancaire destinée à un client se déroulant à partir d’un point de service<br />
électronique tel qu’un téléphone, un ordinateur, un distributeur automatique de billet (DAP),<br />
un distributeur automatique de banque(GAB) en utilisant un système de télécommunication<br />
tel que le réseau téléphonique ,l’internet…[W1]<br />
1.4.Le mobile Banking<br />
1.4.1. Définition<br />
Le Mobile Banking Comme défini par Pousttchi & Schuring 2004 est la réalisation des<br />
opérations de gestion d’un compte bancaire via les réseaux de téléphonie mobile avec<br />
des outils mobiles (Téléphone portable, PDA). [B1]<br />
Les différents services bancaires offerts par une banque peuvent être classées selon la nature<br />
PULL ou PUSH.<br />
«Push» c'est quand la banque envoie des informations au client par exemple vos banques<br />
envoie une alerte lorsque votre solde du compte passe en dessous d'un seuil.<br />
«Pull» est lorsque le client demande explicitement un service ou information à la banque, par<br />
exemple demande des cinq dernières déclarations.<br />
Les banques offrent via le mobile pour la plupart des services bancaires suivant :<br />
informations sur le compte :<br />
- Mini-déclarations et la vérification de l'histoire compte<br />
- Alertes sur l'activité du compte ou le passage des seuils fixés<br />
Etude et Conception d’une solution de SMS Banking<br />
17
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
- L'accès à vos relevés de carte<br />
les paiements et transfert :<br />
-transfert de fonds d’un compte à un autre<br />
-transfert de fonds nationaux et internationaux<br />
-rechargement par mobile<br />
-le traitement des paiements commerciaux<br />
<br />
alertes et notifications<br />
<br />
informations générales tels que les mises à jours, les nouvelles…<br />
1.4.2. Quelques technologies autour du mobile Banking<br />
1.4.2.1. Le STK Banking<br />
Le STK-BANKING se définit comme étant un service permettant aux clients d`un<br />
opérateur de téléphonie mobile d'accéder aux informations de leurs comptes bancaires via une<br />
application logée sur la carte SIM. La mise sur pied d'un tel service nécessite que l'opérateur<br />
de téléphonie signe des contrats avec diverses banques et travaille en étroite collaboration<br />
avec celles afin de mettre sur pied les différents composants de la plateforme. [W2]<br />
Les principaux composants du STK-BANKING sont :<br />
- Un terminal mobile GSM, doté d'une carte SIM Toolkit dans laquelle est installée<br />
l'application cliente. Cette application propose les différents services (demande de<br />
soldes, demande d'historique, demande de chéquier, etc.) aux clients via une IHM et<br />
sous forme de menu. Mais avant d'y accéder, l'utilisateur doit au préalable<br />
s'authentifier. En général, les paramètres d'authentification sont attribuer au client lors<br />
de son abonnement au service Toutes les communications entre le terminal mobile et<br />
les systèmes d'information de la banque se font via des messages courts cryptés.<br />
- L'application serveur assurant la fonction de passerelle entre le terminal mobile et les<br />
sources d'information (base de données des différentes banques). Cette application<br />
effectue tous les traitements sur la base de données de la banque et renvoie les<br />
résultats au client. Elle peut être hébergée soit chez les sources d'informations<br />
(banques) qui souhaitent protéger leurs données clientèles (numéros de comptes<br />
bancaires...) ou parce qu'elles sont reliées à plusieurs opérateurs de téléphonie mobile;<br />
soit chez les opérateurs qui souhaitent offrir des services spécifiques à leurs abonnés<br />
Etude et Conception d’une solution de SMS Banking<br />
18
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
dans des domaines applicatifs trop variés pour placer une plate-forme chez chaque<br />
fournisseur d'information ; soit chez un tiers hébergeur de l'opérateur.<br />
1.4.2.2. Le WAP Banking<br />
Le WAP-BANKING se définit comme étant un service permettant aux clients d`un opérateur<br />
de téléphonie mobile d'accéder aux informations de leurs comptes bancaires via une<br />
application logée sur un serveur web. [W3]<br />
Tout comme pour le Web, les applications WAP sont conçues dans une approche client -<br />
serveur. Le terminal mobile incorpore un navigateur léger qui communique avec un serveur<br />
WAP. Les ressources des terminaux mobiles actuels étant limitées, le traitement des données<br />
est principalement assuré côté serveur. Ainsi pour la mise en œuvre d'un service WAP-<br />
BANKING, nous avons besoin de :<br />
- Un serveur Web disposant de contenu au format WAP. Ce serveur héberge<br />
l'application permettant au client de faire ses différentes demandes (demande de solde,<br />
demande d'historique, etc.) en direction de la banque ;<br />
- la passerelle ou serveur WAP : elle est chargée de convertir les données reçues en<br />
paquets conformes au protocole HTTP pour pouvoir dialoguer avec des serveurs Web<br />
et vice-versa ;<br />
- Le réseau de l'opérateur ;<br />
- L’utilisation par le client d'un terminal WAP c'est à dire qui héberge un navigateur<br />
WAP. Le terminal n'a d'utilité, vis à vis du WAP, que par l'existence de son navigateur<br />
WAP. Le navigateur se charge en effet de décoder les informations transmises par la<br />
passerelle WAP.<br />
Figure 1.1 : Architecture D’une application WAP<br />
Etude et Conception d’une solution de SMS Banking<br />
19
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
1.4.2.3. L’USSD Banking :<br />
L’USSD pour Unstructured Supplementary Data Service qui peut se traduire par «<br />
Service supplémentaire pour données non structurées » est une fonctionnalité des téléphones<br />
GSM ou 3G. Il est généralement associé aux services de téléphonie de type temps réel ou de<br />
messagerie instantanée. Il n'y a aucune possibilité d'enregistrement et de transfert qui sont une<br />
caractéristique des messages courts SMS (autrement dit, un SMSC n'est pas présent sur le<br />
circuit de traitement). Les temps de réponse pour des services interactifs basés USSD sont<br />
généralement plus rapides que ceux utilisés pour SMS. [W4]<br />
Ce protocole de communication peut être utilisé pour de nombreux processus bancaires<br />
mobiles tels que les demande de solde, transfert d'argent, paiement de factures…<br />
Figure 1.2 : Architecture d’une application USSD<br />
1.4.2.4. Le SMS Banking :<br />
SMS (Short Messaging Service) permet aux utilisateurs d'envoyer et de recevoir des<br />
messages textes sur un téléphone mobile. Chaque message peut comporter jusqu'à 160<br />
caractères et est envoyé à des utilisateurs de réseaux d'opérateurs différents. Tous les<br />
téléphones portables aujourd’hui supportent le SMS. En effet, le SMS est devenu un<br />
phénomène mondial, avec des milliards de messages textes envoyés dans le monde chaque<br />
semaine. Le SMS Banking est une application bancaire permettant aux clients d’une banque<br />
ou coopérative bancaire d’avoir l’état de leur compte via leur téléphone portable en utilisant le<br />
service SMS de l’opérateur d’un réseau mobile.<br />
Etude et Conception d’une solution de SMS Banking<br />
20
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 1.3 : Architecture d’une application SMS<br />
Pour développer des applications SMS, il est nécessaire de connaitre les différents<br />
éléments techniques d’un réseau d’opérateur mobile afin de mettre en place les services<br />
bancaires. Ceci fera l’objet de notre étude en ce qui concerne le fonctionnement d’un réseau<br />
GSM dans le prochain chapitre.<br />
Etude et Conception d’une solution de SMS Banking<br />
21
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Chapitre 2<br />
2. LE RESEAU GSM<br />
2.1 Présentation<br />
Le GSM (Global System for Mobile Communication), est un système cellulaire et<br />
numérique de télécommunication mobile. Il a été accepté et a vite gagné des parts de marché<br />
telles qu’aujourd’hui plus de 180 pays ont adopté cette norme et plus d’un milliard<br />
d’utilisateurs sont équipés d’une solution GSM. [B2]<br />
2.2 Architecture physique<br />
Un réseau GSM est constitué de trois principaux sous-systèmes:<br />
-le sous-système Radio BSS (Base Station Sub-system)<br />
-le sous-système Réseau NSS (Network and Switching Sub-system)<br />
-le sous-système d’exploitation OSS (Opération Support Sub-system)<br />
Figure 2.1 : Architecture Générale d’un réseau GSM<br />
Le sous-système radio BSS (Base Station Sub-system)<br />
Sa fonction principale est la gestion de l'attribution des ressources radio, indépendamment des<br />
abonnés, de leur identité ou de leur communication. On distingue dans le BSS :<br />
Etude et Conception d’une solution de SMS Banking<br />
22
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
-La station de base BTS (Base Transceiver Station)<br />
Elle permet le dialogue avec le mobile sur l'interface Air (aussi appelée interface Radio ou<br />
interface Um). Ses principales fonctions sont :<br />
-Contrôle de la couche physique (couche 1 de l'interface radio) : transmission de la parole et<br />
des données…<br />
-Mesure des interférences sur les canaux non alloués à des communications (idle channels).<br />
-Mesure sur la liaison montante (uplink), servant à l'algorithme de décision du handover.<br />
-Calcul du Timing Advance (avance de temps) pour la synchronisation temporelle, selon la<br />
distance qui sépare la BTS du mobile.<br />
-Détection des demandes d'accès des mobiles reçus sur le canal de contrôle commun<br />
(RACH).<br />
-Détection des messages de handover access (HO ACCESS).<br />
-Le contrôleur de station de base BSC (Base Station Controller)<br />
Il assure le contrôle d'une ou de plusieurs BTS. La plupart des fonctions intelligentes de BSS<br />
sont implantées à son niveau, notamment les fonctions de gestion des ressources<br />
radioélectriques : l'allocation des canaux, la gestion de la configuration des canaux, le<br />
traitement des mesures et la décision de handover intra BSC.<br />
Le sous-système réseau NSS (Network Station Sub-system)<br />
Il assure principalement les fonctions de commutation et de routage. C'est donc lui qui permet<br />
l'accès au réseau public RTCP ou RNIS. En plus des fonctions indispensables de<br />
commutation, on y retrouve les fonctions de gestion de la mobilité, de la sécurité et de la<br />
confidentialité qui sont implantées dans la norme GSM. Il comprend :<br />
-Le MSC (Mobile Services Switching Center)<br />
C'est la partie centrale du NSS. Il prend en charge l'établissement des communications de et<br />
vers les abonnés GSM. Du fait de la mobilité, l'implantation de la seule fonction de<br />
commutation n'est pas suffisante. Le MSC gère la mobilité et les fréquences et enregistre la<br />
localisation des abonnés visiteurs (base de données VLR).<br />
Etude et Conception d’une solution de SMS Banking<br />
23
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
-Le HLR (Home Location Register) est une base de données contenant :les informations<br />
relatives aux abonnés (données statiques : numéro d’appel, type abonnement, données<br />
dynamiques : état du terminal, localisation, …<br />
Un HLR est une référence pour tout le réseau. Il dialogue en permanence avec tous les VLR.<br />
Elle contient toutes les informations relatives à l'abonnement et aux droits d'accès. D'autre<br />
part, le HLR est une base de données de localisation. Il mémorise pour chaque abonné le VLR<br />
où il est enregistré.<br />
-Le VLR (Visitor Location Register) est une base de données locale.<br />
En général il y a un VLR par commutateur mobile MSC. Il Contient les informations relatives<br />
aux abonnés présents dans la zone associée. Il est mis à jour à chaque changement de cellule<br />
d’un abonné. C'est la base de données qui gère les abonnés présents dans une certaine zone<br />
géographique. Ces informations sont une copie de l'original conservé dans le HLR.<br />
-L'AuC (Authentication Center)<br />
Il mémorise pour chaque abonné une clé secrète utilisée pour authentifier les demandes de<br />
services et pour le chiffrement des communications. Un AuC est en général associé à chaque<br />
HLR.<br />
Le sous-système opérationnel OSS (Operating Sub-System)<br />
Il assure la gestion et la supervision du réseau. C'est la fonction dont l'implémentation est<br />
laissée avec le plus de liberté dans la norme GSM. La supervision du réseau intervient à de<br />
nombreux niveaux tels que la détection de pannes, la mise en service de sites, modification de<br />
paramétrage, réalisation de statistiques.<br />
Dans les OMC (Opération and Maintenance Center), on distingue l'OMC/R (Radio)<br />
qui est relié à toutes les entités du BSS, à travers les BSC, l'OMC/S (System) qui est relié au<br />
sous-système NSS à travers les MSC. Enfin l'OMC/M (Maintenance) contrôle l'OMC/R et<br />
l'OMC/S.<br />
2.3 Les interfaces de communications<br />
particulières.<br />
Une interface est le lien entre 2 entités du réseau, sur lequel transitent des informations<br />
Etude et Conception d’une solution de SMS Banking<br />
24
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Les interfaces au sein du réseau GSM sont désignées par des lettres de A à H. Ils sont<br />
utilisés pour la transmission du trafic (parole ou données) et pour les informations de<br />
signalisation. Dans le réseau GSM, les données de signalisation sont séparées des données de<br />
trafic. Toutes les liaisons entre les équipements sont des liaisons numériques sauf la liaison<br />
entre BTS et MS qui est une liaison audionumérique.<br />
Tableau 2.1 : Les principales interfaces de communications GSM<br />
Interface<br />
Description<br />
UM<br />
interface Air ou radio assure la communication entre BTS et MS et s’appuie<br />
sur le protocole LAPDm (Link Access Protocol on the D mobile Channel).<br />
Abis<br />
s’occupe de la communication entre BTS et BSC et s’appuie sur le<br />
protocole LAPD.<br />
A Entre BSC et MSC, il s’appuie sur le protocole sémaphore N°7<br />
B<br />
Entre MSC et VLR<br />
C<br />
Entre MSC et HLR<br />
D<br />
ente VLR et HLR/AuC<br />
E<br />
Entre MSC et MSC<br />
F<br />
Entre MSC et EIR<br />
G<br />
Entre VLR et VLR<br />
2.4 Architecture logique<br />
Le réseau GSM dispose de plusieurs types de canaux de transmission:<br />
- le canal de la voix : la voix est encodée et transmise numériquement par le réseau GSM :<br />
c'est le canal de téléphonie classique;<br />
-le canal des données: les données (issues d'un PC relié au téléphone mobile) sont encodées<br />
de manière différente de la voix et transmises par le réseau GSM. Les données et la voix sont<br />
transmises sur les mêmes canaux logiques de trafic (TCH, pour Trafic Channel) ;<br />
- le canal de signalisation (canal sémaphore SS7) : les messages courts transitent sur ce canal.<br />
Un tel canal est désigné par SDCCH, pour Stand-alone Dedicated Control Channel ;<br />
Les canaux logiques de trafic (TCH) permettent de transmettre la parole à 5,6 ou 13 kbit/s ou<br />
des données jusqu'à 12 kbit/s. Par contre les canaux logiques de signalisation (SDCCH)<br />
n'autorisent qu'un débit de 800 bits/s.<br />
De plus, à ces 2 types de canaux logiques, il est nécessaire d'associer un canal logique de<br />
contrôle des paramètres physiques de la liaison (SACCH, pour Slow Associated Control<br />
Etude et Conception d’une solution de SMS Banking<br />
25
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Channel). Ces 3 types de canaux logiques (et bien d'autres encore…) sont ensuite multiplexés<br />
dans des canaux physiques.<br />
Un canal physique est constitué de l'association d'une fréquence porteuse et d'un intervalle de<br />
temps dans une trame multiplexée dans le temps (TDMA, pour Time Division Multiple<br />
Access). Un canal physique peut supporter soit un TCH et le SACCH associé, soit huit canaux<br />
de signalisation SDCCH et leurs SACCH associés.<br />
Le réseau GSM reste conçu à la base pour transmettre le trafic vocal ainsi l'un des facteurs<br />
limite d'un réseau GSM est par conséquent son incapacité à transmettre des données avec une<br />
qualité de service acceptable.<br />
2.5 Architecture des protocoles au sein du réseau GSM :<br />
Le réseau GSM est défini à partir de couches de protocoles utilisées au niveau de différentes<br />
interfaces :<br />
-interface UM (entre le MSC et la BTS)<br />
-interface Abis (entre la BTS et le BSC)<br />
-interface A (entre le BSC et le MSC)<br />
Les interfaces ainsi que les protocoles qu’elles utilisent sont normalisés.<br />
Etude et Conception d’une solution de SMS Banking<br />
26
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 2.2 : Architecture des protocoles GSM<br />
La structuration en couche suit le modèle OSI pour les trois premières couches :<br />
-la couche physique : comprend toutes les procédures nécessaires pour le transport des<br />
informations sur le support physique (codage, modulation…)<br />
-la couche liaison de données : fiabilise la transmission entre deux entités du réseau<br />
directement connectés entre elles (trame…)<br />
-la couche réseau : assure le dialogue entre toutes les entités du réseau via les messages de<br />
signalisation<br />
Couche 1: physique<br />
-définit l’ensemble des moyens de transmission et de réception physiques de l’information<br />
-sur l’interface Abis (BTS-BSC), la transmission est numérique, le plus souvent sur des voies<br />
64 kbps<br />
-sur l’interface radio Um (MS-BTS), elle est plus complexe du fait des opérations à effectuer :<br />
codage correcteur d’erreurs, multiplexage des canaux logiques, mesures radio…<br />
Couche 2: liaison de données<br />
-il a pour objectif de fiabiliser la transmission entre deux équipement par un protocole<br />
-les protocoles adoptés comportent un mécanisme d’acquittement et de retransmission (ARQ,<br />
Automatic Repeat Request)<br />
-la liaison entre la BTS et le BSC est gérée par le LAPD (Link Access Protocol on the D<br />
Channel) utilisé dans le réseau de données RNIS<br />
-entre la MS et la BTS, une version modifiée du LAPD est utilisée : le LAPDm<br />
Sur les interfaces UM et A, on utilise respectivement le LAPDm spécifique au GSM (Link<br />
Acces Protocol for D Channel modified) et le MTP niveau 2 du système de signalisation ss7<br />
Couche 3 : réseau<br />
Etude et Conception d’une solution de SMS Banking<br />
27
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Cette couche établit, maintient et libère les circuits de parole ou de données impliqués dans<br />
une communication. Elle comporte trois sous couches<br />
<br />
<br />
RR (Radio Ressources) : gère l’ensemble des aspects purement radio<br />
MM (Mobility Management) : prend en charge la localisation, l’authentification et<br />
l’allocation du TIMSI (Tempory Mobile Subscriber Identity : identité temporaire<br />
utilisée pour identifier le mobile dans le réseau auprès du MSC)<br />
CM (Connection Management) :<br />
Cette dernière est divisée en 3 sous couches<br />
- CC (Call Control) : traite la gestion des connexions de circuits avec le destinataire<br />
-SMS (Short Message Service) : assure la transmission et la réception de message courts<br />
-SS (Suplementary Services) : gère les services supplémentaires (renvoi d’appel, facturation<br />
(indication du montant), restriction d’appel (interdiction des appels sortants,<br />
internationaux…)…)<br />
Les messages des sous couches CM et MM transitent dans le BSS sans être pris en compte par<br />
la BTS et le BSC.<br />
L’interface A utilise les protocoles suivants :<br />
-le protocole MTP (Message Transfert Part) qui est divisé en trois niveau (MTP1, MTP2,<br />
MTP3) proches des trois premières couches du modèle OSI (couche physique, couche liaison<br />
de données, couche réseau). Son but est de permettre le transport et la distribution fiable des<br />
informations de signalisation à travers le réseau et aussi de régir aux pannes afin d’assurer<br />
continuellement la transmission<br />
Le protocole SCCP (Signaling Connection Control Part) permet de transporter les<br />
informations de signalisation avec ou sans connexion<br />
Le BSSAP (BSS Application Part) comprend deux types de protocole : le BSSMAP et le<br />
DTAP<br />
2.6 Le Réseau de signalisation SS7<br />
Etude et Conception d’une solution de SMS Banking<br />
28
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Les réseaux téléphoniques plus particulièrement le réseau GSM utilise des techniques<br />
numériques pour la transmission et l’échange de la voix et données. Cependant les nouveaux<br />
services offerts tel que le SMS nécessite un échange de signalisation sans établissement réelle<br />
d’un circuit de communication. C’est ainsi qu’il a fallu séparer la signalisation de la<br />
transmission et faire passer les messages de signalisation sur des liaisons spécifiques :<br />
« signalisation par canal sémaphore » (CSS Common Channel Signaling). [W5]<br />
Il est composé de :<br />
- Routeurs de paquets appelés points de transfert sémaphores (STP, Signaling Transfert<br />
Point) ;<br />
- Equipements terminaux appelé Point sémaphore (SP, Signaling Point)<br />
- Des bases de données.<br />
Le réseau sémaphore n°7(SS7) a pour but d’acheminer des informations de contrôle entre<br />
les éléments d’un réseau de télécommunication, tels que les centraux téléphoniques, les bases<br />
de données et les serveurs. Le réseau sémaphore SS7 est la clé pour l’introduction de services<br />
à valeur ajoutée.<br />
Pour mettre en place ce service de messages courts, l'opérateur doit prévoir un ou<br />
plusieurs serveurs dédiés et reliés au réseau. On appelle ce serveur le Short Message Service<br />
Centre (SMSC). Son rôle est de récupérer les messages envoyés afin de les redistribuer aux<br />
destinataires lorsque ceux-ci sont connectés au réseau. Dans le cas contraire, il stocke ces<br />
messages. Lorsque le mobile du destinataire peut être de nouveau localisé, le réseau notifie le<br />
SMSC qui est alors en mesure de relayer le message. Pour transmettre un message à un<br />
mobile, le SMSC utilise les services du MSC ou SGSN auquel est rattaché le destinataire. La<br />
livraison du message court est donc garantie même lorsque le terminal mobile est indisponible<br />
(lorsqu’il est éteint ou hors d’une zone de couverture radio) grâce à la fonction store-andforward<br />
du SMSC. Le chapitre suivant fera l’objet de l’étude d’un SMSC pour les services à<br />
valeurs ajoutés.<br />
Etude et Conception d’une solution de SMS Banking<br />
29
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Chapitre 3<br />
3. LE CENTRE DE SERVICE DE MESSAGERIE COURT : SMSC<br />
3.1 Présentation<br />
Le SMSC pour Short Message service Center ou Centre de service des messages court permet<br />
de gérer le transfert de message(SMS) entre téléphones mobiles. En effet, quand un abonné<br />
envoie un SMS vers un autre, le téléphone transmet en réalité le SMS vers le SMSC. Le<br />
SMSC stocke le message puis le transmet au destinataire lorsque celui-ci est présent sur le<br />
réseau (mobile allumé). Le SMSC fonctionne sur le mode « Store et Forward ». Il existe<br />
cependant un SMSC par réseau GSM. Les protocoles les plus utilisés pour la communication<br />
entre serveurs et SMSC en TCP/IP sont : sont SMPP (Short Message Peer to Peer) et CMG<br />
EMI (il y a aussi Nokia CIMD, Sema, CMPP). [B3]<br />
3.2 Architecture<br />
Le SMSC peut être relié à différentes entités externes. Il est relié au réseau mobile à travers<br />
l’interface de l’unité de signalisation (Signaling Interface Unit, SIU) où est implémenté le<br />
GMSC. Les protocoles les plus utilisés pour se connecter à l’entité externe des messages<br />
courts (External Short Messaging Entity – ESME):<br />
- SMPP (Short Message Peer to Peer)<br />
-EMI (External Machine Interface)<br />
Le SMSC se relie également aux systèmes suivants:<br />
- Système de facturation.<br />
- Systèmes d’opération, d’administration et de maintenance (OAM).<br />
- Système prépayé.<br />
Etude et Conception d’une solution de SMS Banking<br />
30
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 3.1 : Le SMSC et GSM<br />
Le SMSC est composé de :<br />
-d’un système d’opération : Solaris ou linux<br />
-d’une base de donnée spécifique avec son serveur : il peut être par exemple de type MySQL<br />
-l’application SMSC<br />
3.2.1 Les interfaces<br />
3.2.1.1 L’interface de l’unité de signalisation (SIU)<br />
Le SMSC communique avec le reste du réseau mobile en utilisant le protocole GSM «<br />
Mobile Application Part » (MAP) à travers le SS7. Il peut communiquer directement<br />
avec les centres de commutation mobile (MSC) et le « Home Location Register »<br />
(HLR) afin d'envoyer et de recevoir les messages courts aux appareils mobiles.<br />
Il peut également communiquer avec ces éléments par le « Signaling Transfer Points »<br />
(STP).<br />
3.2.1.2 Le système OAM<br />
Il est formé d’un certain nombre d’interfaces qui fonctionnent le système d'opération,<br />
d'administration, et de maintenance (OAM). Elles permettent à un opérateur de lancer,<br />
configurer, et surveiller le SMSC en service dans un réseau réel.<br />
3.2.1.3 Le système de facturation<br />
Le SMSC fournit une interface de facturation qui aide l'opérateur à charger ses abonnés<br />
pour l'utilisation du service de message court.<br />
Etude et Conception d’une solution de SMS Banking<br />
31
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
3.3 Les entités externes de message court : ESME<br />
Les interfaces ESME permettent à des applications externes non-mobiles de se connecter avec<br />
le SMSC. Les opérateurs et les fournisseurs de service utilisent les connections de l’entité<br />
externe des messages courts pour fournir aux abonnés mobiles une variété de services,<br />
tels qu'envoyer des mises à jour de nouvelles, des e-mails de notification, des logos, des<br />
sonneries, etc.…<br />
Chaque interface utilise un émetteur pour transmettre des messages et un récepteur pour<br />
recevoir des messages du SMSC. Tous les deux peuvent être sur la même connexion<br />
(transceiver) ou chacun utilise une connexion différente (émetteur et/ou récepteur).<br />
‣ Le récepteur<br />
Le récepteur manipule tout le trafic des messages venant du SMSC vers le ESME.<br />
Figure 3.2 : Interfaces récepteur ESME<br />
‣ L’émetteur<br />
Le serveur émetteur ESME reçoit tous les messages à diffuser du client ESME et les<br />
envoie au SMSC.<br />
‣ Les files d’attente de l’ESME<br />
Figure 3.3 : Interface émetteur ESME<br />
Le SMSC peut supporter 2 méthodes pour faire passer les messages au récepteur ESME :<br />
-La base de données<br />
Etude et Conception d’une solution de SMS Banking<br />
32
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Cette méthode assure qu'aucun message n'est perdu en cas de problèmes : les messages sont<br />
stockés dans la base de données pour être délivrés au récepteur ESME correspondant.<br />
Ceci est convenable dans le cas des applications à bas trafic.<br />
-Les Files d’attente<br />
Cette méthode s’est avérée utile pour des applications en temps réel (comme les<br />
applications vote), où un nombre énorme de messages devraient être manipulés dans une<br />
période très courte. Elle est rapide et elle allège le système de la charge inutile sur la base de<br />
données.<br />
3.4 Qualité de service d’un SMSC<br />
La qualité de service désigne la capacité d’un service à répondre par ses caractéristiques aux<br />
différents besoins de ses utilisateurs.<br />
3.4.1 La gestion des messages :<br />
Le réseau GSM définit plusieurs types de messages mais seulement 2 d’entre eux nous<br />
intéresse :<br />
- Message court d’origine mobile, envoyé vers le SMSC(MO)<br />
- Message court, envoyé par le SMSC, vers un destinataire mobile(MT)<br />
3.4.1.1 Les messages MO<br />
Le mobile d’origine écrit le SMS et l’envoie vers le mobile destinataire. Le GMSC reçoit le<br />
message envoyé et le transmet au SMSC. Celui-ci enregistre le SMS dans sa base de<br />
données pour l’envoyer après au mobile destinataire. Un acquittement sera créé pour<br />
informer le mobile d’origine que le message est reçu par le SMSC. Si le MO ne reçoit<br />
l’acquittement avant six secondes, le mobile affiche une erreur de transmission par<br />
défaut.<br />
Etude et Conception d’une solution de SMS Banking<br />
33
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 3.4 : Envoi d’un Message Court d’origine Mobile vers le SMSC<br />
3.4.1.2 Les messages MT<br />
Le SMSC, ayant stocké le message reçu dans sa base de données, commence l’opération de<br />
transmission vers le destinataire. L’émetteur envoie le message vers le GMSC, qui, à son<br />
tour, l’envoie vers le mobile destinataire à travers les canaux de signalisation. Alors le<br />
mobile récepteur envoie un acquittement vers le SMSC pour confirmer qu’il a bien<br />
reçu le message. Ayant reçu l’acquittement, le SMSC efface le message de sa base de<br />
données pour laisser la place aux autres SMS.<br />
Figure 3.5 : Envoi d’un message court du SMSC vers le mobile destinataire<br />
3.4.2 Mécanisme d’acquittements<br />
Il est possible de demander à être informé de la remise correcte ou de la non-remise d’un SMS<br />
par un mécanisme d’acquittements.<br />
Le réseau peut ainsi délivrer des acquittements permettant de suivre le cheminement du SMS<br />
expédié :<br />
Etude et Conception d’une solution de SMS Banking<br />
34
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
- Acquittement de réception par le réseau : message en transit.<br />
- Acquittement de remise au destinataire : message reçu par le mobile destinataire.<br />
- Avis d’erreur lorsque le SMS n’a pu être transmis au destinataire lors d’un essai du réseau :<br />
message en erreur, sera réexpédié.<br />
- Avis de non remise définitif à la fin du cycle de tentatives d’expédition ou à l’expiration de<br />
la durée de vie du SMS : message non remis.<br />
3.4.3 Mécanisme de contrôle de surcharge :<br />
quelques concepts<br />
3.4.3.1 Anti-spamming<br />
Pour diminuer la charge du trafic, le SMSC est muni d’un système « anti-spamming ». Ce<br />
système connu dans le monde des courriers électroniques, limite le nombre des<br />
messages envoyés à un seul destinataire et bloque ainsi tous les messages qui excèdent cette<br />
limite.<br />
3.4.3.2 Regulation de la sortie<br />
Le SMSC est muni d’un régulateur de sortie qui empêche de surcharger les liens de<br />
signalisation. Cette régulation dépend du type de message envoyé : les acquittements<br />
auront une priorité sur d’autres types de messages.<br />
3.4.3.3 La protection de l’entrée<br />
S'il y a un trafic de MO que le SMSC ne peut pas manipuler, les messages sont stockés dans<br />
une file d’attente jusqu'à une certaine limite. Quand la file d'attente se remplit, les<br />
messages supplémentaires entrants sont rejetés. Ceci assure que le SMSC fonctionne à sa<br />
capacité maximale.<br />
3.4.4 Mécanisme de transaction :<br />
Le SMSC contient plusieurs processus et des dizaines de files d’attente qui entrent en jeu lors<br />
de transmission de chaque message destinataire. Lorsqu’on envoie un message vers le mobile<br />
destinataire, le message subit l’une des transactions suivantes :<br />
- MO – MT<br />
- MO – MO-ack<br />
Etude et Conception d’une solution de SMS Banking<br />
35
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
- MT – MT-ack<br />
MO-MT<br />
Le message envoyé du MO vers MT subit consécutivement les actions suivantes:<br />
1. Le mobile envoie le message court vers le GMSC.<br />
2. Le GMSC capte le message et l’envoie vers le SMSC.<br />
3. Le « SMSC RX Process » reçoit le SMS et le stocke dans la première file d’attente « RX<br />
MO Queue ».<br />
4. Le message attend son tour dans la queue des messages reçus. La discipline de<br />
service de cette file d’attente est FIFO, c'est-à-dire les messages accèdent au service<br />
dans l’ordre de leurs arrivées.<br />
5. Le « SMSC RX MO Process » lit le SM de sa queue, l’analyse et le remet dans une<br />
deuxième file d’attente « Messages Queue »<br />
6. Il attend son tour de nouveau dans cette dernière file où la discipline est toujours FIFO.<br />
7. Le processus principal « SMSC Main Process » lit le SM, le décompose de nouveau<br />
pour le mettre après dans une dernière file d’attente « TX Queue».<br />
8. Stocké dans la dernière file d’attente, le message subit une attente finale dans la queue<br />
d’émetteur.<br />
9. L’émetteur prend le message de sa queue et l’envoie vers le GMSC. L’émetteur est<br />
muni d’un régulateur configurable de trafic qui peut régler le nombre des messages<br />
envoyés vers le GMSC.<br />
10. Ce dernier utilise les canaux de signalisation de nouveau pour délivrer le message au<br />
destinataire.<br />
Durant tout son trajet, le SMS subit 3 attentes consécutives dans 3 types de files d’attente dans<br />
le SMSC :<br />
1. « RX MO Queue »<br />
Etude et Conception d’une solution de SMS Banking<br />
36
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
2. « Messages Queue »<br />
3. « TX Queue »<br />
Figure 3.6 : Processus d’envoi du message court d’un MO vers MT<br />
MO – MO-ack<br />
Comme déjà expliqué, le mobile d’origine doit obligatoirement recevoir un acquittement de<br />
son message durant un temps bien déterminé pour ne pas afficher une erreur de<br />
transmission. Les actions suivantes seront concernées par ce type de transaction.<br />
1. Le mobile envoie le message court vers le GMSC.<br />
2. Le GMSC capte le message et l’envoie vers le SMSC.<br />
3. Le « SMSC RX Process » reçoit le SM et le stocke dans la première file d’attente « RX<br />
MO Queue ».<br />
4. Le message attend son tour dans la queue des messages reçus. La discipline de<br />
service de cette file d’attente est FIFO, c'est-à-dire les messages accèdent au service<br />
dans l’ordre de leurs arrivées.<br />
5. Le « SMSC RX MO Process » lit le SM de sa queue, l’analyse et le remet dans une<br />
deuxième file d’attente spécifique pour les acquittements« MO Ack Queue »<br />
6. L’acquittement attend son tour dans cette dernière file où la discipline est toujours FIFO.<br />
7. L’émetteur prend le message de sa queue et l’envoie vers le GMSC.<br />
8. Le GMSC, à son tour, l’envoie vers le mobile d’origine.<br />
Etude et Conception d’une solution de SMS Banking<br />
37
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Dans ce cas, le message passe par 2 files d’attente :<br />
1. « RX MO Queue »<br />
2. « MO Ack Queue »<br />
MT – MT-ack<br />
Le SMSC doit recevoir un acquittement de la part du mobile destinataire pour pouvoir<br />
effacer le message de sa base de données et laisser par suite de la place pour d’autres<br />
messages. Les actions suivantes seront le sujet ce type de messages.<br />
1. Ayant reçu le message, le destinataire crée l’acquittement MT-ack et l’envoie vers le<br />
GMSC.<br />
2. Le GMSC capte le message et l’envoie vers le SMSC.<br />
3. Le « SMSC RX Process » reçoit le SM et le stocke dans la seule file d’attente pour<br />
ce type de message « RX MT Queue ».<br />
4. L’acquittement attend son tour dans cette file où la discipline de service est FIFO.<br />
5. Et Finalement, le « SMSC RX MT Process » le prend, le vérifie et efface le SMS<br />
correspondant de sa base de données.<br />
L’acquittement MT-ACK passe par une seule file d’attente qui est la « RX MT Queue ».<br />
L’analyse de ce type de message est très important afin d’améliorer la performance du<br />
SMSC, car le SMS ne sera jamais effacé de la base de données avant la réception du MT-ack.<br />
Par suite le système ne peut pas le remplacer par un nouveau message.<br />
3.5 Mise en œuvre du simulateur SMSC : SMPPsim<br />
3.5.1 Présentation<br />
SMPPsim est un outil de test destiné à être utilisé par les développeurs d'applications SMS. Il<br />
simule un SMSC (Short Message Service Centre), qui dispose d'une interface SMPP qui peut<br />
être utilisé par des applications logicielles pour envoyer et recevoir des messages texte SMS.<br />
SMPPsim est gratuit, open source et utilisé par des milliers d'utilisateurs partout dans le<br />
monde.<br />
3.5.2 Installation et configuration :<br />
Etude et Conception d’une solution de SMS Banking<br />
38
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
-Télécharger le paquet SMPPsim.tar.gz : http://www.seleniumsoftware.com<br />
-Décompressez-le dans un répertoire. La racine contient le fichier startsmppsim.sh qui permet<br />
de lancer le simulateur. Le répertoire conf contient le fichier smppsim.props qui permet de<br />
configurer le simulateur. Il y a de nombreuses options, les principales étant :<br />
#Le port d’ecoute SMPP<br />
SMPP_PORT=2775<br />
#login et mot de passe pour les accès SMPP<br />
SYSTEM_ID=smppclient<br />
PASSWORD=password<br />
#le port d’écoute du serveur web pour l’administration et la simulation<br />
#d’envoi à partir d’un terminal<br />
HTTP_PORT=88<br />
Pour démarrer le SMSC on tape la commande comme suit :<br />
3.5.3 Démarrage de SMPPsim :<br />
./startsmppsim.sh (Voir Annexe 5)<br />
3.5.4 L’interface utilisateur :<br />
SMPPsim possède une interface utilisateur basée sur le Web qui fournit des informations<br />
détaillées sur les PDU envoyés et reçus. Pour l’accès à l'interface utilisateur, on spécifie<br />
d’abord le port dans le fichier de configuration via le paramètre HTTP_PORT.<br />
L'adresse suivante permet d’accéder à l'interface utilisateur SMPPsim : http://localhost:88<br />
Les captures d’interfaces utilisateurs :<br />
La page d’accueil :<br />
Etude et Conception d’une solution de SMS Banking<br />
39
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
MO Injection page :<br />
Figure 3.7 : Interface utilisateur SMPPSim<br />
Figure 3.8 : Interface d’envoi d’un message de type MO<br />
Dans ce chapitre nous avons exposé les principaux éléments d’un Centre de Service de<br />
Messagerie Court et étudier son fonctionnement. Ce composant technique nécessaire au<br />
traitement des messages courts est très important dans la mise en place des services à valeurs<br />
ajoutée au sein d’un réseau mobile. Dans le prochain chapitre, nous allons voir quels sont les<br />
différents types de SMS gérés par le SMSC, étudier le fonctionnement du service de message<br />
court et les principaux protocoles pour la mise en œuvre du service SMS.<br />
Etude et Conception d’une solution de SMS Banking<br />
40
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Chapitre 4<br />
4 . LE SMS AU SEIN DU RESEAU GSM<br />
4.1 Présentation<br />
Le SMS pour Short Message Service est le service de message court offert par le réseau GSM<br />
permettant de composer un message textuel d’au plus de 160 caractères à partir de son<br />
téléphone mobile. Ces messages émis et reçus sont véhiculés par le réseau de signalisation<br />
sémaphore n°7 (SS7). Ils sont soit transmis directement au terminal destinataire du message<br />
(si celui-ci est allumé), soient stockés dans le serveur de message courts (SMSC, pour SMS<br />
Center) par lequel ils transitent.<br />
Les messages courts ne circulent pas dans les mêmes canaux logiques que la voix ou les<br />
données si bien qu'il est possible pour un utilisateur en communication téléphonique (avec un<br />
autre correspondant) de recevoir des messages courts simultanément. [W7]<br />
4.2 Les entités de base du service SMS<br />
Figure 4.1 : Entités de bases du SMS<br />
• Gateway MSC For Short Message Service (SMS-GMSC) : Il s’agit d’une fonction capable<br />
d’une part de recevoir un message court d’une entité SMSC et d’interroger le HLR afin de<br />
déterminer la localisation de la station mobile destinataire et d’autre part de délivrer le<br />
message court au MSC auquel est rattachée cette station mobile destinataire. Ce MSC de<br />
rattachement est aussi appelé VMSC (Visited MSC).<br />
Etude et Conception d’une solution de SMS Banking<br />
41
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
• Interworking MSC For Short Message Service (SMS-IWMSC) : Il s’agit d’une fonction<br />
capable de recevoir un message court d’un MSC et de le soumettre à un SMSC.<br />
• Short Message Service Centre (SMSC) : Cette fonction est responsable du stockage<br />
/relayage d’un message court.<br />
• Short Message Entity (SME) est une entité extérieure au réseau GSM pouvant émettre/<br />
recevoir des messages courts. Il s‘agit d’un serveur spécialisé ou d’un micro-ordinateur.<br />
Le SMSC comporte une interface coté réseau GSM reposant sur le protocole de signalisation<br />
MAP et une interface coté ESME utilisant le protocole SMPP. Les messages MAP sont<br />
transportés par le réseau SS7.<br />
4.3 Les différents types de SMS :<br />
Le service message consiste en deux types de services de base :<br />
SM MO (Short Message Mobile Originated): c’est le type de sms envoyé par un<br />
utilisateur mobile vers le SMSC<br />
SM MT (Short Message Mobile Terminated): c’est le type de sms envoyé par le smsc<br />
vers l’utilisateur mobile<br />
4.3.1 Service SM-MO (Short Message<br />
Mobile Originated)<br />
Avec le service SM-MO, la station mobile envoie un message court au SMSC<br />
Lorsque l'utilisateur mobile souhaite envoyer un message court, il doit indiquer l’adresse du<br />
destinataire et l’adresse du SMSC.<br />
1. L’émetteur remet le message court à son MSC/VLR de rattachement (VMSC/VLR, Visited<br />
MSC/VLR) à travers la demande SMS-SUBMIT.<br />
2. Le MSC émet un message MAP-SEND-INFO-FOR-MO-SMS à son VLR pour lui<br />
demander le numéro de téléphone (MSISDN, Mobile Station ISDN Number) de l’émetteur et<br />
pour vérifier qu’aucune restriction n’est imposée à cet émetteur.<br />
3. Le VLR retourne alors une réponse MAP-SEND-INFO-FOR-SMS-ack.<br />
Etude et Conception d’une solution de SMS Banking<br />
42
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
4. Si la réponse est positive, le MSC émet le message MAP-MO-FORWARD-SHORT-<br />
MESSAGE à la fonction SMS-IWMSC à travers le réseau SS7. Ce message contient l’adresse<br />
du SMSC, les numéros MSISDN de l’émetteur et du destinataire, et le message court. Le<br />
message court est donc véhiculé dans une transaction MAP.<br />
5. La fonction SMS-IWMSC le retransmet à son tour au SMSC. Le SMSC stocke le message<br />
et les adresses dans sa mémoire.<br />
6. Le SMSC retourne une réponse (rapport de livraison) au SMS-IWMSC.<br />
7. Ce rapport est inclus dans le message MAP-MO-FORWARD-SHORT-MESSAGE-ack<br />
retourné par le SMS-IWMSC au MSC.<br />
8. Le MSC retourne à l’émetteur un message SMS-STATUS-REPORT.<br />
Figure 4.2 : Schéma détaillé de l’envoi d’un Message de type MO<br />
4.3.2 Service SM-MT (Short Message<br />
Mobile Terminated)<br />
Avec le service SM MT, une station mobile reçoit un message court du SMSC. L’émetteur du<br />
message peut être une autre station mobile ou toute entité externe au réseau (ex :ESME).<br />
1. La fonction SMS-GMSC reçoit un message court du SMSC.<br />
2. Cette fonction demande des informations de routage du message au HLR à travers la<br />
requête MAP-SEND-ROUTING-INFO-FOR-SM, informations qui lui permettent de relayer<br />
le message au MSC approprié (MSC auquel est rattachée la station mobile destinataire). Cette<br />
requête contient notamment le numéro MSISDN du destinataire.<br />
Etude et Conception d’une solution de SMS Banking<br />
43
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
3. Le HLR utilise ce numéro pour rechercher les informations de routage qu’il retourne au<br />
SMS-GMSC à travers la réponse MAP-SEND-ROUTING-INFO-FOR-SM-ack. Cette réponse<br />
contient l’IMSI du destinataire et l’adresse du MSC de rattachement.<br />
4. Le SMS-GMSC délivre le message court au MSC à travers une requête MAP-MT-<br />
FORWARD-SHORT-MESSAGE.<br />
5. Le MSC émet la requête MAP-SEND-INFO-FOR-MT-SMS à son VLR en vue d’obtenir<br />
des informations relatives au destinataire. Le paramètre passé dans cette requête est l’IMSI du<br />
destinataire.<br />
6. A partir de l’IMSI fourni par le MSC, le VLR identifie la zone de localisation (LA,<br />
Location Area) du mobile destinataire. Le VLR lance alors une procédure de<br />
paging(MAP_PAGE), technique consistant à effectuer une recherche sur l’ensemble de la<br />
zone où est susceptible de se trouver le mobile demandé. Si le VLR ne connaît pas l’identité<br />
du destinataire, un message MAP-SEARCH-FOR-SUBSCRIBER est alors émis afin de<br />
lancer la procédure de paging sur toutes les LA dépendant du MSC. Dans l’exemple de la<br />
figure , l’identification du mobile destinataire est supposée connue. La procédure de paging<br />
est initiée par le VLR mais effectuée par le MSC.<br />
7. Le MSC effectue la procédure de paging sur la zone de localisation du destinataire.<br />
8. La station mobile destinataire répond positivement.<br />
9. Le VLR retourne une réponse MAP-SEND-INFO-FOR-MT-SMS-ack au MSC, autorisant<br />
ce dernier à relayer le message court à la station mobile destinataire.<br />
10. Le MSC achemine le message court au destinataire via le message SMS-DELIVER et<br />
reçoit un acquittement SMS-STATUS-REPORT.<br />
11. Le MSC inclut ce rapport dans la réponse MAP-MT-FORWARD-SHORT-MESSAGEack<br />
retourné au SMS-GMSC.<br />
12. Le SMS-GMSC passe le rapport au SMSC.<br />
Etude et Conception d’une solution de SMS Banking<br />
44
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 4.3 : Schéma détaillé d’envoi d’un message de type MT<br />
Si la station mobile destinataire est hors tension, la réponse retournée par le HLR (3) indique<br />
cette cause. Par ailleurs le HLR introduit le numéro MSISDN du destinataire dans un fichier<br />
de données des messages en attente (MWD File, Message Waiting Data File). MWD consiste<br />
en une liste d’adresses de SMSC ayant des messages en attente de livraison à la station mobile<br />
destinataire.<br />
Lorsque la station mobile destinataire est mise sous tension, elle se rattache (IMSI Attach)<br />
auprès d'un MSC/VLR visité. Ce dernier en informe à son tour le HLR correspondant. Si le<br />
numéro MSISDN de la station mobile qui s’est rattaché est présent dans le fichier de données<br />
des messages en attente, le HLR envoie une notification MAP-ALERT-SERVICE-CENTER<br />
au SMS-GMSC pour lui demander d’informer le SMSC de la présence du destinataire ; le<br />
SMSC relance alors complètement la procédure SM-MT (Figure 4.3).<br />
4.4 Les principaux protocoles de communication<br />
4.4.1 Le protocole MAP<br />
Le protocole MAP (Mobile Application Part) régit l’ensemble des échanges entre<br />
équipements du réseau mobile (NSS, Network Subsystem). Il offre les fonctions de<br />
signalisation nécessaires à un service de communication voix ou données dans un réseau<br />
mobile. Il s’appuie sur la pile de protocole SS7 qui garantit un transport fiable. Le protocole<br />
MAP concerne les dialogues entre différentes entités du réseau mobile notamment,<br />
MSC/VLR, MSC Server, SGSN, HLR, EIR, SMSC, etc. Le service SMS s'appuie sur le<br />
protocole MAP. MAP permet le transport du SMS du MSC de l'émetteur au SMSC,<br />
Etude et Conception d’une solution de SMS Banking<br />
45
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
l'interrogation du SMSC au HLR pour identifier le MSC du destinataire, puis le transport du<br />
SMS du SMSC au MSC du destinataire. [W7]<br />
Les messages MAP relatifs au service SMS sont :<br />
MAP-SEND-ROUTING-INFO-FOR-SMS: Ce service est utilisé entre le SMSC et le HLR<br />
afin que le SMSC obtienne l’information de routage lui permettant d’acheminer le message<br />
court au MSC, MSC Server ou SGSN auquel est rattaché le destinataire.<br />
MAP-MT-FORWARD-SHORT-MESSAGE : Ce service est utilisé entre le SMSC et le<br />
MSC, MSC Server ou SGSN afin de délivrer le message court.<br />
MAP-REPORT-SM-DELIVERY-STATUS : Ce service est utilisé entre le SMSC et le<br />
HLR. Il permet de positionner les données MWD (Message Waiting Data) dans le HLR<br />
lorsque le message n’a pas pu être délivré au destinataire ou d’informer le HLR du transfert<br />
avec succès du SMS. Ce service est invoqué par le SMSC.<br />
MAP-READY-FOR-SM : Ce service est utilisé entre le VLR et le HLR ou entre le SGSN et<br />
le HLR. Le VLR ou le SGSN utilise le service soit parce que le mobile a de nouveau une<br />
mémoire disponible pour recevoir des SMS soit parce que le mobile a de nouveau un contact<br />
radio avec le MSC ou SGSN alors que le fanion Message Waiting est positionné au niveau du<br />
VLR ou du SGSN.<br />
MAP-ALERT-SERVICE-CENTRE : Ce service est utilisé entre le HLR et le SMSC. Le<br />
HLR initie ce service si le HLR détecte qu’un usager, dont le MSISDN est dans le fichier<br />
Message Waiting Data, est de nouveau joignable ou si le mobile a de nouveau de la mémoire<br />
disponible pour recevoir le SMS.<br />
MAP-INFORM-SERVICE-CENTRE : Ce service est utilisé entre le HLR et le SMSC afin<br />
que le HLR informe le SMSC que son adresse SS7 (titre global) est stockée dans le fichier<br />
Message Waiting Data.<br />
4.4.2 Le protocole SMPP<br />
Les protocoles les plus utilisés pour la communication entre les serveurs et les SMSC dans un<br />
réseau TCP/IP sont : SMPP et EMI. On peut trouver d’autre protocoles utilisées par un SMSC<br />
mais nous ne rentrerons pas en détails, nous allons nous limité sur le protocole SMPP qui est<br />
le plus utilisé par les opérateurs téléphoniques.<br />
Etude et Conception d’une solution de SMS Banking<br />
46
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
4.4.2.1 Presentation du protocol SMPP<br />
Le protocole « Short Message Peer to Peer » (SMPP) est un protocole binaire de niveau 7<br />
conçu pour fournir une interface flexible de transmissions des messages courts SMS entre le<br />
SMSC (Centre de service de message courts) et un système SMS d'application comme<br />
un serveur WAP Proxy Server, Email Gateway ou autre type de Message Gateway. En<br />
employant le protocole SMPP, un système d'application SMS appelé « External Short<br />
Message Entity » ou ESME, peut amorcer une connexion sur la couche application avec un<br />
SMSC sur une connexion TCP/IP ou X.25 et peut permettre l'envoi et la réception de SMS<br />
depuis et vers un SMSC. [W8]<br />
Figure 4.4 : Le protocole SMPP<br />
Le protocole SMPP est basé sur l'échange de requêtes et réponses PDU (Protocol Data Unit)<br />
entre l’ESME et le SMSC sur un réseau TCP/IP sous-jacent ou une connexion réseau X.25.<br />
Les messages échangés entre un ESME et un SMSC via SMPP sont de 3 types :<br />
· ESME Transceiver : Message envoyé de l'ESME (Emission) au SMSC et du SMSC à<br />
l'ESME (Réception).<br />
· ESME Transmitter : Message envoyé de l'ESME (Emission) au SMSC.<br />
· ESME Receiver : Message envoyé du SMSC à l'ESME (Réception). [B4]<br />
Etude et Conception d’une solution de SMS Banking<br />
47
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 4.5: Types de messages SMPP<br />
Le schéma de fonctionnement typique d’une application est le suivant : l’application se<br />
connecte sur le SMSC et les échanges de paquets SMPP (Packet Data Unit) peuvent<br />
commencer dans un sens comme dans l’autre.<br />
Les paquets TCP entre le ESME et le SMSC sont appelés PDU (Protocol Data Unit). Les<br />
types suivant de PDU sont utilisés dans les connexions SMPP<br />
-Session Management PDU : s’occupe de la connexion, du maintien et de la déconnexion<br />
d’une session<br />
-Message Submission PDU : envoi des messages vers un téléphone mobile<br />
-Message Deliver PDU : s’occupe de la livraison des messages au client SMPP(ESME)<br />
-Ancillary Operation PDU : requête d’annulation et de remplacement des messages.<br />
Lors des échanges SMPP, un système ID pour l’authentification et l’identification est utilisé<br />
pour la connexion entre un client ESME et SMSC :<br />
Submit_sm: utiliser pour l’envoi des messages à partir du client vers le SMSC(MT). Ce<br />
paquet contient les informations concernant l’expéditeur, le destinataire et le corps du<br />
message.<br />
Deliver_sm : ce paquet est utilisé lors de la livraison d’un message au client(MO). Il contient<br />
les informations sur l’expéditeur du message et le corps du message.<br />
Query_sm : ce paquet est utile pour les rapports de livraisons<br />
Enquire_link : vérifie l’état de la connexion d’une session<br />
Unbind : utilisé pour mettre fin à une session et déconnecter la connexion TCP/IP<br />
4.4.2.2 Description d'une session SMPP :<br />
Une session SMPP entre un SMSC et un ESME est initiée par l'ESME qui établit en premier<br />
une connexion réseau avec le SMSC et ensuite édite une requête de connexion SMPP pour<br />
ouvrir une session SMPP.<br />
La session SMPP peut être définie par ces différents états :<br />
Etude et Conception d’une solution de SMS Banking<br />
48
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
OPEN : Un ESME a établi une connexion avec le SMSC mais n'a pas encore publié sa<br />
requête.<br />
BOUND_TX : Un ESME connecté a fait une demande de connexion (ESME Transmitter) en<br />
publiant un bind_transmitter et reçoit une réponse de la part du SMSC qui autorise sa requête<br />
de connexion. Un ESME relié comme un Transmitter peut envoyer des SMS à un SMSC qui<br />
ensuite vont être envoyés à un portable ou un autre ESME.<br />
BOUND_RX : Un ESME connecté fait une demande de connexion (ESME Receiver) en<br />
publiant un bind_receiver et reçoit une réponse de la part du SMSC qui autorise sa requête de<br />
connexion. Un ESME relié comme un Receiver peut recevoir des SMS d'un SMSC (l'origine<br />
d'envoi de message peut être un portable, un autre ESME ou SMSC).<br />
BOUND_TRX : Un ESME connecté fait une demande de connexion comme un ESME<br />
Transceiver en publiant un bind_transceiver et reçoit une réponse de la part du SMSC qui<br />
autorise sa requête de connexion. Un ESME relié comme un Transceiver supporte toutes les<br />
opérations supportées par un ESME Transmitter et un ESME Receiver.<br />
ESME connecté comme transceiver peut envoyer les SMS vers un SMSC. Les SMS sont<br />
ensuite envoyés vers un portable ou vers un autre ESME. Egalement, dans ce cas, l'ESME<br />
peut recevoir un SMS provenant d'un portable, d'un autre ESME ou de SMSC lui-même.<br />
CLOSED : L'ESME est déconnecté du SMSC et la connexion réseau est fermée. Le SMSC<br />
est alors déconnecté de l'ESME.<br />
Pour mettre en place des services basés sur le SMS il est nécessaire d’avoir une<br />
passerelle sms capable de relayer les messages du réseau GSM vers le réseau IP .Ceci fera<br />
l’objet de notre étude sur la passerelle SMS Kannel dans le chapitre suivant<br />
Etude et Conception d’une solution de SMS Banking<br />
49
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Chapitre 5<br />
5. LA PASSERELLE SMS : KANNEL<br />
5.1 C’est quoi une passerelle ?<br />
Une passerelle est un outil qui permet de passer d’un système à un autre. Elle permet<br />
d’interconnecter des systèmes informatiques ayant des architectures différents ou des<br />
protocoles différents.<br />
L'une des difficultés de la messagerie SMS est que les SMSCs sont gérés par des<br />
protocoles de communication propriétaires. En d'autres termes, il n'a pas existé de<br />
normalisation à proprement parlé, par exemple, un SMSC de type NOKIA qui a une interface<br />
géré par le protocole CIMD ne saurait échanger directement avec un SMSC d'un autre réseau<br />
opérateur dont l'interface est géré par le protocole EMI. Pour pallier à ce problème, une<br />
passerelle SMS est placée entre ces deux SMSCs.<br />
En effet, la passerelle SMS agit comme un convertisseur de protocoles entre non<br />
seulement des SMSCs, mais aussi avec des dispositifs du protocole TCP/IP. Il en existe une<br />
multitude dont certaines sont propriétaires (Alligata, Ozeki SMS, Wapme, Jataayu SMS<br />
gateway.), tandis que d'autres sont libres (Kannel, Gammu, ...). La multitude de protocoles de<br />
communication avec les SMSCs, que la solution « Kannel » prend en compte, en même temps<br />
que sa fonction de serveur SMS, sans oublier la qualité et la stabilité des solutions libres en<br />
général, pour ne citer que ceux-là, sont quelques-unes des raisons qui nous ont conduites à<br />
porter notre choix sur elle.<br />
5.2 Présentation de kannel<br />
Kannel est une passerelle SMS et WAP open source et gratuit. Kannel est<br />
actuellement disponible pour les systèmes Linux (Redhat et Debian). Lancé en mars 1999,<br />
le projet est à l’initiative de la compagnie Finlandaise WAPIT. Kannel a été reconnue en<br />
mars 2001 lorsqu’il a été certifié par WAP Forum en tant que première passerelle WAP 1.1<br />
Etude et Conception d’une solution de SMS Banking<br />
50
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
dans le monde. C'est un outil très intéressant pour développer des applications en<br />
collaboration avec le serveur Apache. [W9]<br />
5.3 Architecture de kannel<br />
La passerelle possède trois interfaces chacune ne pouvant communiquer qu’avec un<br />
type d’équipement spécifique :<br />
- Les centres SMS (SMSC), utilisant divers protocoles.<br />
- Les serveurs HTTP, pour les contenus WAP et SMS.<br />
- Les terminaux WAP, implémentant la pile de protocole WAP.<br />
Figure 5.1 : Architecture de kannel<br />
Kannel est conçu pour pouvoir communiquer avec plusieurs SMSC utilisant des<br />
protocoles différents.<br />
Chaque compte SMSC est acheté auprès d’un opérateur mobile. A chaque compte correspond<br />
aussi un numéro vers lequel sont acheminés les messages destinés au compte et<br />
apparaît comme le numéro expéditeur lorsqu’un message est envoyé à partir de ce compte<br />
(n’empêche que certaines connections permettent à l’usager de spécifier lui-même le numéro<br />
de l’expéditeur).<br />
Kannel divise ses différentes fonctions selon trois processus appelés « boxes » basé<br />
essentiellement sur le type d’équipement externe avec lequel il veut dialoguer. :<br />
- Le bearerbox implémentant le niveau porteur du WAP (couche WDP).Il permet entre autre<br />
la connexion aux différents SMSC.<br />
Etude et Conception d’une solution de SMS Banking<br />
51
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
- Le smsbox implémentant l’essentiel des fonctionnalités de la passerelle SMS. Il reçoit<br />
les messages texte depuis le bearerbox et les interprètes comme des requêtes vers des services<br />
et y répond en utilisant le chemin approprié.<br />
- Le wapbox qui implémente la pile de protocole WAP et le WAP Push (protocole de<br />
niveau applicatif).Quand<br />
le wapbox est utilisé pour le « pushing », il est appelé PPG<br />
(Push Proxy Gateway). L’autre moyen d’envoi de donnée étant le « pulling » [B5]<br />
Figure 5.2 : Les modules de kannel<br />
Notons qu’il n’est possible de mettre en place qu’un seul bearerbox tandis qu’il est<br />
possible de disposer de plusieurs wapbox et de smsbox. Disposer de plusieurs wapbox et<br />
smsbox peut s’avérer bénéfique surtout lorsque la charge est très importante.<br />
5.4 La passerelle SMS<br />
Le SMS (Short Messaging Service) est un moyen d’envoi de messages courts (160<br />
caractères) à partir d’un mobile GSM vers un autre. Il permet, en plus de l’envoi de texte<br />
simple, d’envoyer des contenus avancés comme<br />
les logos d’opérateurs, les sonneries<br />
d’appels, les cartes d’affaires et les configurations de mobiles.<br />
Les services SMS sont des services<br />
initiés par des messages SMS envoyés à partir d’un<br />
mobile GSM vers un numéro de téléphone (le plus souvent court) et ses services<br />
répondent<br />
souvent aux requêtes qui leurs sont adressées en retournant un contenu.<br />
Pour solliciter un service, un mobile GSM envoie un message SMS à un numéro court, cette<br />
dernière pointe vers un centre SMS précis. Le centre SMS envoie le message à son<br />
destinataire en utilisant un protocole spécifique. Par exemple un centre SMS Nokia utilise le<br />
protocole CIMD.<br />
Etude et Conception d’une solution de SMS Banking<br />
52
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
En pratique chaque SMSC utilise un protocole qui lui est propre, une passerelle SMS est<br />
utilisée pour rendre possible la connexion entre différents SMSCs. Le grand apport de Kannel<br />
est de translater chaque protocole SMSC vers le protocole HTTP, ce qui simplifie le<br />
déploiement des services.<br />
Figure 5.3 : Position logique de la passerelle SMS entre un mobile et un serveur<br />
de contenu.<br />
Une passerelle SMS peut aussi être utilisée pour relayer les messages SMS du réseau<br />
GSM vers un autre type de réseau. Kannel fonctionne comme une passerelle SMS,<br />
pouvant communiquer avec plusieurs types de SMSC et routant les messages qu’il reçoit<br />
vers des fournisseurs de contenus, sous forme de requêtes HTTP. Ces<br />
fournisseurs de<br />
contenus répondent à la requête et la réponse est retournée au mobile avec la connexion<br />
au SMSC requis et le protocole requis.<br />
En plus du fait de servir les SMS-MO (provenant du mobile), Kannel fonctionne aussi<br />
comme une passerelle « push », les fournisseurs de contenus peuvent demander à<br />
Kannel d’envoyer des messages aux terminaux. Kannel va alors déterminer le bon SMSC<br />
vers lequel transiter le message en utilisant<br />
encore le protocole requis. De ce fait les<br />
fournisseurs de contenus n’auront pas à connaître un protocole SMSC mais juste<br />
l’interface de Kannel vers laquelle ils enverront le message.<br />
5.5 La passerelle WAP<br />
Le WAP (Wireless Application Protocol) est une collection de divers langages,<br />
outils et une infrastructure pour mettre en application des services pour des téléphones<br />
portables. Le WAP permet de mettre en application des services semblables au World Wide<br />
Web. Cependant, le WAP n'apporte pas la teneur existante de l'Internet directement au<br />
téléphone. Il y a trop de problèmes techniques et autres pour que ceci ne se fasse<br />
correctement. Le problème principal est que le contenu d'Internet est principalement sous<br />
forme de pages de HTML, et ils sont écrits de telle façon qu'ils exigent les raccordements<br />
Etude et Conception d’une solution de SMS Banking<br />
53
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
rapides, les unités de traitement rapides, les grandes mémoires, les grands écrans, la<br />
sortie audio et souvent également les mécanismes assez efficaces d'entrée.<br />
En plus, les téléphones portables ont des processeurs très lents, la mémoire très petite,<br />
la largeur de bande insondable et intermittente, et les mécanismes extrêmement maladroits<br />
d'entrée. La plupart des pages existantes de HTML ne fonctionne pas sur des téléphones<br />
mobiles, et ne le feront jamais.<br />
WAP définit un langage complètement nouveau le Wireless Markup Language<br />
(WML), qui est plus simple et beaucoup plus strictement définie que le HTML. Il définit<br />
également un langage de script, WMLScript, que tous les navigateurs doivent avoir pour le<br />
supporter. Pour rendre des choses encore plus simples pour les téléphones, il définit même<br />
son propre format à mémoire d'image (Wireless Bitmap, ou WBMP).<br />
Le HTTP est également trop inefficace pour l'usage sans fil. Cependant, en<br />
employant un format binaire et compressé sémantiquement semblable il est possible de<br />
ramener les frais généraux de protocole à quelques octets par demande, au lieu des<br />
centaines habituelles d’octets. Ainsi, WAP définit une nouvelle pile de protocole à employer.<br />
Cependant, pour rendre des choses plus simples également pour les personnes mettant en<br />
application réellement les services, WAP présente un passage entre les téléphones et les<br />
serveurs fournissant le contenu aux téléphones.<br />
Figure5.4 : Position logique de la passerelle WAP entre un téléphone et un serveur de<br />
contenus.<br />
La passerelle WAP communique avec le<br />
téléphone en utilisant une pile de<br />
protocole WAP, et traduit les demandes qu'il reçoit en HTTP normal. Ainsi les fournisseurs<br />
de contenu peuvent utiliser tous les serveurs de HTTP et utiliser le savoir-faire existant<br />
au sujet de l'exécution et de l'administration de service de HTTP.<br />
Etude et Conception d’une solution de SMS Banking<br />
54
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
En plus des traductions de protocole, la passerelle compresse également les pages<br />
WML dans une forme plus compacte, pour sauver la largeur de bande Over-The-Air et pour<br />
réduire plus loin les conditions de traitement du téléphone. Il compile également des<br />
programmes de WMLScript dans un format bytecode. Les dernières caractéristiques du<br />
WAP définissent<br />
quelques conversions additionnelles que Kannel commence à mettre en<br />
application. Kannel n'est pas simplement une passerelle WAP. Il fonctionne également<br />
comme passerelle SMS. Bien que le WAP soit la technologie chaude et techniquement<br />
supérieure, les téléphones SMS existent en grand nombre et les services SMS sont ainsi<br />
tout à fait utiles. Par conséquent, Kannel fonctionne simultanément comme passerelle WAP et<br />
SMS.<br />
5.6 Sécurité<br />
En ce qui concerne l'accès à distance au bearerbox kannel utilise SSL pour les<br />
transactions sécurisées entre le bearerbox et les smsbox et wapbox auxquels il est connecté.<br />
L’administration à distance peut également être assurée grâce à une connexion sécurisée.<br />
L’accès des utilisateurs à la passerelle peut être entièrement sécurisé et contrôler en<br />
spécifiant des utilisateurs avec mot de passe dans le fichier de configuration. De ce fait tout<br />
utilisateur décidant d'envoyer un SMS, par exemple, devra au préalable s'identifier.<br />
5.7 Installation et configuration de kannel]<br />
5.7.1 Installation de kannel<br />
Préréquis :<br />
-compilateur: gcc-c++<br />
-Bibliothèque offrant le support XML et HTML : libxml2 libxml2<br />
-GNU bison<br />
-GNU autoconf<br />
-GNU make.<br />
Le code source de kannel pour le téléchargement est disponible sur le site:<br />
http://www.kannel.org/download/1.4.1/gateway-1.4.1.tar.gz<br />
- Décompresser le fichier dans le répertoire /usr/local/<br />
Etude et Conception d’une solution de SMS Banking<br />
55
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
tar -xvzf gateway-1.4.1.tar.gz -C /usr/local/<br />
- Se positionner sur le répertoire /usr/local/gateway-1.4.1/ et compiler kannel en<br />
lançant les commandes:<br />
./configure<br />
make<br />
- installer kannel<br />
make install<br />
5.7.2 Configuration de kannel<br />
Le fichier de configuration de kannel est structuré en groupes suivant les fonctions à assigner<br />
à kannel.<br />
Chaque groupe comporte des variables et sont séparés par des lignes vides, chaque variable<br />
est définie sur une ligne.<br />
Pour configurer KANNEL comme passerelle SMS, les groupes suivants doivent être<br />
configurés :<br />
« Core » qui est le noyau de KANNEL il contient les variables nécessaires pour<br />
l'administration.<br />
Exemple :<br />
Figure 5.6 : Configuration du group core de kannel<br />
« Smsc » qui contient les variables de connexion aux SMSC ou aux modems.<br />
Exemple :<br />
‣ Variables de connexions à un SMSC :<br />
Etude et Conception d’une solution de SMS Banking<br />
56
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 5.7 : Configuration du groupe SMSC pour le protocolSMPP<br />
‣ Variable de connexion à un modem :<br />
Figure 5.8 : Configuration du groupe SMSC pour un modem GSM<br />
« Smsbox » qui gère les files d'envoi et de réception de SMS<br />
Exemple :<br />
Figure 5.9 : Configuration du groupe smsbox<br />
« sendsms-user » qui contient les variables d'un client http<br />
Exemple :<br />
Figure 5.10 : Configuration du group sendsms-user<br />
Etude et Conception d’une solution de SMS Banking<br />
57
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
« sms-service » pour la réception des SMS venant du SMSC ou du modem, servant à<br />
paramétrer un service.<br />
Exemples :<br />
Figure 5.11 : Configuration du groupe sms-service<br />
Le %p représente le numéro de téléphone de l’expéditeur<br />
Le %r représente le texte qui se trouve dans le message sans le mot clé<br />
Le %b représente le texte en binaire<br />
Le %t représente l’heure et la date d’envoi du message<br />
Le %i représente le type de SMSC auquel est rattachée la passerelle<br />
Le %k représente le mot clé du service<br />
Tableau 5.1 : Paramètres pour les services dans kannel<br />
Paramètres Description<br />
%s représente les caractères encodés au niveau de l’URL. Par exemple le «+ »<br />
devant le numéro de téléphone devient %2B<br />
%S se comporte comme le %s<br />
%a représente tout le contenu du message<br />
%T représente le temps où le message à été envoyé sous format UNIX<br />
Timestamp<br />
%p représente le numéro de téléphone du destinataire<br />
%q transforme le ‘00’ devant l’indicatif du numéro de téléphone de l’expéditeur<br />
Etude et Conception d’une solution de SMS Banking<br />
58
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
en ‘+’<br />
%Q se comporte comme le %q mais s’applique sur le numéro du destinataire<br />
%I représente l’ID du sms<br />
%d représente l’accusé de réception<br />
%R représente le contenu de tout l’URL<br />
%n représente l’utilisateur de Kannel qui envoi le message à travers l’URL<br />
%f donne le nombre de sms que le SMSC à envoyé au niveau du modem GSM.<br />
Cette valeur est utilisée que si on utilise un modem GSM.<br />
Dans le cas où on utilise un modem GSM (voir annexe 4), on doit cependant spécifié le<br />
group modem qui permet de définir le type de modem à utiliser :<br />
Exemple :<br />
Figure 5.12 : Configuration du group modem<br />
NB : On peut avoir plusieurs groupes pour chaque type sauf pour « core ».<br />
Le fichier de configuration de kannel se trouve à l’annexe1<br />
Syntaxe d’envoi d’un sms via l’URL :<br />
http://localhost:13013/cgi-bin/sendsms?<br />
username=foo&password=bar&to=0123456&text=Hello+world<br />
1.4.2.5.Les accusés de réception Kannel:<br />
Un accusé de réception désigne une procédure certifiant la réception d’un message.<br />
Les accusés de réception sont supportés par défaut en interne, ce qui signifie qu’ils sont<br />
stockés dans la mémoire du processus bearerbox. Cette situation est problématique s’il y’a<br />
problème au niveau du bearerbox. Par conséquent, on peut utiliser les lieux de stockage<br />
externes DLR, à savoir une base de données MySQL par exemple. [W9]<br />
Voici les types de moteurs de stockage pour les accusés de réceptions supportés par kannel :<br />
Etude et Conception d’une solution de SMS Banking<br />
59
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Stockage interne dans kannel :<br />
Dans le bearerbox en interne :<br />
C’est le lieu par défaut pour le traitement des accusés de réceptions et ne nécessite aucune<br />
configuration particulière à faire. Pour autorisé kannel à l’utiliser, on spécifie le paramètre<br />
dlr-storage = internal dans le group ‘core’<br />
Dans une base de donnée externe : MySQL<br />
Pour stocker les informations concernant les accusés de réception dans une base de donnée de<br />
type MySQL il faut spécifier la directive dlr-storage = mysql au niveau du groupe ‘core’. En<br />
plus de cela on doit définir un group dlr-db qui spécifie les champs de table pour le stockage<br />
des accusés de réceptions et un autre group mysql-connection qui définit la connexion au<br />
serveur MySQL.<br />
Un exemple de fichier de configuration se trouve dans le répertoire /doc/examples/ de kannel.<br />
Le nom de ce fichier est dlr-mysql.conf<br />
Les principaux variables utiles sont :<br />
group = mysql-connection<br />
la variable de connexion mysql<br />
id = mydlr<br />
l’identifiant de connexion<br />
host = localhost<br />
l’adresse du serveur mysql<br />
mysql-username = foo<br />
l’utilisateur du serveur mysql<br />
mysql-password = bar<br />
le mot de passé du serveur mysql<br />
database = dlr<br />
le nom de la base de donnée<br />
max-connections = 1<br />
group = dlr-db<br />
id = mydlr<br />
table = dlr<br />
field-smsc = smsc<br />
Etude et Conception d’une solution de SMS Banking<br />
60
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
field-timestamp = ts<br />
field-destination = destination<br />
field-source = source<br />
field-service = service<br />
field-url = url<br />
field-mask = mask<br />
field-status = status<br />
field-boxc-id = boxc<br />
Le groupe dlr-db spécifie la table et les champs de tables qui seront crées au niveau de la base de<br />
donnée.<br />
Le principe est le même pour les autres types de base d donnée et leurs fichier de<br />
configuration se trouve aussi dans le même répertoire /doc/examples/ de kannel.<br />
Puisque l’option de connexion à une base de donnée n’est pas prise en compte par défaut dans<br />
kannel, il suffit lors de la compilation exécuter la commande comme suit :<br />
. /configure -with-mysql -with-mysql-dir = [répertoire]<br />
Le répertoire à préciser est celui dans lequel est localisée la librairie MySQL.<br />
Les autres types de base de données pour le stockage des accusés de réception sont :<br />
- LibSDB DLR storage<br />
- Oracle 8i/9i DLR storage<br />
- PostgreSQL DLR storage<br />
1.4.3. Démarrage de la passerelle :<br />
Pour démarrer il faut procéder comme suit:<br />
-Démarrer d'abord le bearerbox: bearebox /etc/kannel.conf (Voir annexe 3)<br />
-Démarrer ensuite le smsbox : smsbox /etc/kannel.conf (Voir annexe 3)<br />
Pour arrêter le tout, appuyer sur Ctrl+c sur la fenêtre du bearerbox.<br />
Etude et Conception d’une solution de SMS Banking<br />
61
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Dans le prochain chapitre nous allons passer à l’étude de notre système SMS Banking<br />
en commençant par l’analyser afin de délimiter les fonctionnalités du système et proposer<br />
par la suite une solution de conception en vue de le déployer plus tard.<br />
Etude et Conception d’une solution de SMS Banking<br />
62
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Chapitre 6<br />
ANALYSE ET CONCEPTION DE LA SOLUTION SMS BANKING<br />
6.1 Architecture et fonctionnement<br />
Figure 6.1 : Architecture de la solution SMS Banking<br />
L’architecture de notre système est composée d’un serveur SMS Banking et d’une<br />
passerelle SMS assurant ainsi l’envoi et la réception des SMS via le réseau GSM. Le serveur<br />
SMS Banking est relié au Serveur contenant les informations bancaires via le réseau TCP/IP ;<br />
-le client mobile est muni d’un téléphone portable et d’une carte Sim opérationnelle ;<br />
-le réseau GSM est chargé de transporter tous les SMS du client vers le système et du système<br />
vers le client ;<br />
-pour toute requête de type PULL venant du client, la passerelle SMS est chargé de la<br />
réception du SMS puis le système analyse sa syntaxe à l’aide des programmes avant<br />
d’interroger la banque ;<br />
Etude et Conception d’une solution de SMS Banking<br />
63
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
-pour les requêtes de type PUSH, elles sont déclenchés automatiquement à l’aide des<br />
programmes qui interrogent la base de données de la banque.<br />
-l’administrateur du système doit s’authentifier à travers une interface homme/machine pour<br />
accéder au système ;<br />
Les composants du système SMS Banking communiquent entre eux par le biais des<br />
protocoles HTTP et HTTPS.<br />
6.2 Exposé du problème<br />
Un client X souhaite souscrire au service SMS BANKING. La condition est de disposer d’un<br />
ou plusieurs numéros de téléphone mobile et d’un ou plusieurs comptes bancaires. Il se<br />
présente à l’agence bancaire pour l’abonnement à ce service; ce dernier lui fait signé un<br />
contrat qui comprend la date de signature, la date de début, la date d’expiration, le numéro de<br />
compte du client (un contrat par compte), ainsi que les services auxquels il souhaiterait<br />
bénéficier (pour chaque compte). L’agence bancaire est caractérisée par son nom, son code<br />
(code agence) et son numéro de téléphone. Le compte client est caractérisé par son type, le<br />
code agence et son solde. Le client dispose d’un ID, d’un nom, d’un prénom, d’un ou<br />
plusieurs numéros de téléphone. Lors de la signature du contrat un code avec lequel le client<br />
pourra accéder aux services lui est attribué un code (alphanumérique sur 4 positions). Chaque<br />
service est caractérisé par son mot clé, son état actif ou inactif, le modèle de message de<br />
réponse et est associé à un contrat. Or le système BANKING comprend deux types d’envoi de<br />
SMS : l’envoi en mode PULL et l’envoi en mode PUSH. Au niveau de l’envoi en mode<br />
PULL (dans le cas où le message est envoyé à l’initiative du client), le système devra<br />
effectuer quelques traitements préliminaires (authentification du client, validité du contrat,<br />
vérification des souscriptions) avant toute opération. C’est ainsi que lorsque qu’il reçoit un<br />
SMS en provenance du client, il l’enregistre d’abord au niveau de la base de donnée ensuite il<br />
effectue une vérification du numéro de téléphone, puis du code client si c’est bon il récupère<br />
le mot clé du service et vérifie si le client est bel et bien inscrit à ce service ainsi que la<br />
validité de son contrat (si son contrat n’est pas expiré). Si tout est OK, le système ira<br />
récupérer les informations concernant le service demandé, formate le message à renvoyer (en<br />
fonction des données relatives à ce client), l’enregistre au niveau de la base de données puis<br />
envoi le SMS. Au niveau de l’envoi en mode PUSH (la banque envoi un SMS comme alerte<br />
au client selon une périodicité paramétrée par la banque), le système récupère les informations<br />
au niveau de la banque, vérifie aussi si client est bel et bien inscrit au service<br />
Etude et Conception d’une solution de SMS Banking<br />
64
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
(stratégiquement, la banque force les clients à souscrire à certains services surtout de pub mais<br />
gratuitement), formate le message et puis l’envoi. Tous les messages envoyés et reçus sont<br />
enregistrés au niveau d’une table de la base de données. Ces messages sont caractérisés soit<br />
par le type PULL ou PUSH.<br />
Une interface d’administration (voir annexe 5) est offerte au gestionnaire de l'application afin<br />
de paramétrer l'application, de consulter les statistiques d'envoi/réception, de vérifier les<br />
chargements de fichiers envoyés par la banque …<br />
6.3 Fonctionnalités du système SMS Banking<br />
Pour la mise en œuvre de la solution SMS BANKING, il faudrait recenser les différentes<br />
fonctionnalités du système. [W10]<br />
Quels sont les services qui seront proposés aux clients ?<br />
6.3.1 Services d’informations à la demande<br />
Grâce à ces fonctionnalités les clients peuvent à tout moment demander de recevoir des<br />
informations par SMS sur leur téléphone mobile. Pour cela le client envoie un SMS contenant<br />
un mot clé spécifique au service dont il veut avoir accès auquel il ajoute un code personnel<br />
qui lui est attribué par la banque. Ces différents services peuvent être :<br />
• Demande de solde,<br />
• Demande historique (quatre dernières transactions sur un compte par exemple),<br />
• Demande de chéquier<br />
• Demande de virement.<br />
Exemple: pour consulter son solde, il va simplement envoyer un SMS depuis son téléphone<br />
contenant : <br />
6.3.2 Services de notification événementielle<br />
Ces fonctionnalités permettent aux clients de recevoir des informations sur leurs téléphones<br />
mobiles lorsqu'un évènement se produit ou une condition est satisfaite. Ces différents services<br />
sont :<br />
• Notification par SMS après virement d'un salaire,<br />
• Notification par SMS après un débit sur un compte,<br />
Etude et Conception d’une solution de SMS Banking<br />
65
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
• Notification par SMS pour toutes les transactions effectuées sur le compte,<br />
• Notification par SMS après crédit sur un compte,<br />
• Notifications/Information promotionnelles,<br />
• Notification par SMS après dépassement de seuil minimal,<br />
• Notification par SMS après dépassement de seuil maximal.<br />
6.3.3 Services de notification périodiques<br />
Ces fonctionnalités permettent aux clients de recevoir périodiquement des informations<br />
concernant le solde de leurs comptes :<br />
• Mensuelle : le client reçoit son solde tous les 1 er du mois par exemple,<br />
• Hebdomadaire : le client reçoit son solde chaque lundi par exemple,<br />
• Quotidienne : le client reçoit son solde tous les jours.<br />
6.3.4 Gestion des clients<br />
L'application SMS BANKING devra être capable de gérer des milliers de numéro de compte,<br />
numéro de téléphone, services choisis (solde, alertes virements de salaire, alertes dépôts,<br />
historiques...), paramétrage d'envoi de l'information pour chaque client, seuils personnalisés,...<br />
• importation automatique des comptes des clients inscrits à SMS BANKING de la base<br />
de données bancaire vers la base de données de SMS BANKING,<br />
• activation et désactivation des comptes clients aux différents services,<br />
• possibilité de définir les règles de diffusion des alertes,<br />
• consultation en temps réel des comptes à partir des options multicritères de recherche.<br />
6.3.5 Gestion de la facturation<br />
L’application SMS BANKING donnera à la banque ou la coopérative bancaire la liberté de<br />
définir sa politique tarifaire adéquate (facturation mensuelle ou facturation par SMS envoyé<br />
au client) et de paramétrer la facturation pour chaque client.<br />
6.3.6 Gestion des SMS<br />
L'application devra offrir la possibilité de :<br />
• consulter à tout moment tous les messages reçus par le système,<br />
• consulter à tout moment de tous les messages émis par le système,<br />
Etude et Conception d’une solution de SMS Banking<br />
66
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
• rechercher tous les SMS envoyés ou reçus par un client,<br />
• rechercher tous les SMS reçu ou envoyé par le système pendant une période,<br />
• rechercher les SMS entrant et sortant par service.<br />
6.3.7 Etats et statisques<br />
Des états pourront être extraits de l'application et imprimés ou enregistrés.<br />
• possibilité de tirer des statistiques individuelles sur les SMS des clients,<br />
• possibilité de tirer des statistiques sur les SMS pour une période donnée (SM envoyés,<br />
reçus) et les grouper par service.<br />
6.3.8 Sécurité<br />
Pour les besoins de sécurité, chaque client de SMS BANKING doit avoir un code d’accès<br />
personnel qu'il devra intégrer à tous ses SMS. De plus, en vue de renforcer la sécurité, les<br />
SMS ne sont traités que lorsque le numéro de téléphone du client et le code d’accès sont<br />
justes.<br />
6.4 Choix des techniques et outils utilisés<br />
6.4.1 Le langage UML<br />
Le langage UML (Unified Modeling Language, ou langage de modélisation<br />
unifié), utilisé quotidiennement est un langage graphique standard qui permet la modélisation<br />
des données. Cette technique propose des outils de concept et de modélisation des Systèmes<br />
d’Information. La modélisation proposée par le langage UML utilise divers types de<br />
diagrammes spécifiques qui sont repartis en deux groupes : [B6]<br />
-structure du système<br />
-diagramme de cas d’utilisation<br />
-diagramme de classe<br />
-diagramme d’objet<br />
-diagramme de composants<br />
Etude et Conception d’une solution de SMS Banking<br />
67
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
-diagramme des paquetages<br />
-diagramme de déploiement<br />
-diagramme de structure composite<br />
-comportement du système<br />
-diagramme d’état de transition<br />
-diagramme d’activité<br />
-diagramme de séquence<br />
-diagramme de collaboration<br />
-diagramme de vue globale des interactions<br />
-diagramme de temps<br />
Pour notre cas, nous allons utiliser quelques-uns de ces diagrammes pour modéliser notre<br />
système.<br />
6.4.2 Le langage SQL<br />
Le langage SQL (Structured Query Language) peut être considéré comme le<br />
langage d’accès normalisé aux bases de données. Le succès du langage SQL est dû<br />
essentiellement à sa simplicité et au fait qu’il s’appuie sur le schéma conceptuel pour énoncer<br />
des requêtes en laissant le SGBD responsable de la stratégie d’exécution. [W11]<br />
Le langage SQL comporte :<br />
‣ une partie sur la définition des données : le langage de définition des données<br />
(LDD) qui permet de définir des relations, des vues externes et des contraintes<br />
d’intégrité;<br />
‣ une partie sur les requêtes : le langage de manipulation des données (LMD) qui<br />
permet d’interroger une base de données sous forme déclarative sans se préoccuper de<br />
l’organisation physique des données;<br />
‣ une partie sur le contrôle des données : le langage de contrôle des données (LCD)<br />
qui permet de contrôler la sécurité et les accès aux données.<br />
Etude et Conception d’une solution de SMS Banking<br />
68
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
6.4.3 Le langage PHP<br />
PHP est un langage qui permet de développer des applications Web dynamiques<br />
puissantes. Ses avantages résident dans son indépendance de la plateforme. En effet, il existe<br />
pour les différentes versions de Windows, Unix et Linux. De plus, c'est un langage de script<br />
embarqué dans les pages HTML et traité par le serveur. PHP permet de construire<br />
dynamiquement des pages HTML contenant des résultats de calcul ou de requêtes SQL<br />
adressées à un système de gestion de bases de données.[B7]<br />
6.4.4 Merise<br />
Merise est une méthode de conception, de développement et de réalisation des<br />
projets informatiques. Son but est la séparation des données et des traitements à effectuer en<br />
plusieurs modèles conceptuels et physiques. Elle date de 1978-1979, et est créée suite à une<br />
consultation lancée en 1977 par le ministère de l'industrie français dans le but de choisir des<br />
sociétés de conseil en informatique afin de définir une méthode de conception de systèmes<br />
d'information.<br />
Elle est la méthode la plus utilisée pour concevoir les bases de données relationnelles tout en<br />
offrant des modèles qui séparent les données et les traitements qui permettent de structurer<br />
d’une façon claire les entités et les relations entre ces entités. Pour décrire notre base de<br />
donnée nous allons nous limité sur deux modèles à savoir le MCD et le MLD. [W12]<br />
6.4.5 MySQL<br />
Le Système de Gestion de Bases de Données utilisé pour la gestion et le<br />
stockage des données dans le cadre de la mise en œuvre du prototype final est MySQL dans sa<br />
version 5.1. Le logiciel MySQL est un serveur de base de données SQL très rapide,<br />
multithread, multi utilisateurs et robuste. Il est destiné aux missions stratégiques, aux<br />
systèmes de production à forte charge, et à l'intégration dans des logiciels déployés à grande<br />
échelle. MySQL est une marque déposée de MySQL AB.<br />
Les principaux concurrents de MySQL sont : PostgreSQL, MICROSOFT SQL SERVER,<br />
et Oracle. Ainsi, le choix de ce Serveur de Bases de Données a été particulièrement orienté<br />
par un certain nombre d'avantages qu'il offre aux développeurs. En effet, par rapport aux<br />
Etude et Conception d’une solution de SMS Banking<br />
69
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
autres SGBD cités, MySQL est un logiciel intégrant un haut degré de portabilité, de sécurité<br />
et constitue un système de sauvegarde assez évolué avec utilisation optimale de ressources.<br />
[B8]<br />
6.5 Conception du Système<br />
6.5.1 Modélisation du système<br />
Acteur<br />
6.5.1.1 Quelques définitions et concepts :<br />
Un acteur représente un rôle joué par une entité externe (utilisateur humain, dispositif matériel<br />
ou autre système) qui interagit directement avec le système étudié. Un acteur peut consulter<br />
et/ou modifier directement l’état du système, en émettant et/ou en recevant des messages<br />
susceptibles d’être porteurs de données. [B9]<br />
Comment les identifier ?<br />
Les acteurs candidats sont systématiquement :<br />
• les utilisateurs humains directs : faites donc en sorte d’identifier tous les profils possibles,<br />
sans oublier l’administrateur, l’opérateur de maintenance, etc.<br />
• les autres systèmes connexes qui interagissent aussi directement avec le système étudié,<br />
souvent par le biais de protocoles bidirectionnels.<br />
Comment les représenter ?<br />
La représentation graphique standard de l’acteur en UML est l’icône appelée stick man, avec<br />
le nom de l’acteur sous le dessin. On peut également représenter un acteur sous la forme<br />
rectangulaire d’une classe, avec le mot-clé . Une troisième représentation<br />
(intermédiaire entre les deux premières) est également possible avec certains outils,comme<br />
cela est indiqué ci-après.<br />
Etude et Conception d’une solution de SMS Banking<br />
70
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Cas d’utilisation<br />
Un cas d'utilisation représente l'image d'une fonctionnalité du système. Il est déclenché par un<br />
acteur, qui est une entité externe au système et nécessite que ce dernier lui rende service. Il<br />
s'agit donc d'une représentation du système tel que perçu par les différents utilisateurs.<br />
Chaque cas d’utilisation spécifie un comportement attendu du système considéré comme un<br />
tout, sans imposer le mode de réalisation de ce comportement. Il permet de décrire ce que le<br />
futur système devra faire, sans spécifier comment il le fera.<br />
Un scénario de cas d'utilisation est le déroulement d'un cas d'utilisation. Il permet<br />
d'échafauder toutes les hypothèses relatives au cas d'utilisation. Il est caractérisé par :<br />
une pré-condition : c'est la condition à remplir avant que le scénario ne soit<br />
déclenché ;<br />
une post-condition : c'est la condition que doit vérifier le système à la fin du scénario ;<br />
le scénario nominal : qui représente le déroulement du cas d'utilisation de la meilleure<br />
des façons possibles, c'est-à-dire qu'aucun facteur ne nuit à son déroulement ;<br />
Enchainements d’Erreur : il s'agit du déroulement d'un cas d'utilisation lorsqu'une<br />
erreur s'est produite suite au non-respect d'une contrainte.<br />
‣ Identification des acteurs du système sms banking<br />
-le client mobile (acteur externe au système)<br />
-l’administrateur du système<br />
-les API sms banking +la base de donnée de la banque (parce que c’est elle qui va alimenter la<br />
base de donnée du système sms banking grâce à des applications et des programmes) qu’on va<br />
nommer logiciel bancaire ;<br />
‣ Identification des cas d’utilisations<br />
Nous allons présenter ici quelques cas d'utilisation du Système SMS Banking :<br />
Authentification au système : pour accéder au système SMS Banking<br />
via une interface<br />
homme/machine, l’administration doit se connecter en grâce à ses identifiants login et mot de<br />
passe<br />
Etude et Conception d’une solution de SMS Banking<br />
71
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Consultation du solde du compte : avec son téléphone mobile, le client envoie un SMS<br />
contenant le mot clé du service suivi du code d’accès du client. Si toutes les conditions sont<br />
vérifiées, le client reçoit en retour un SMS dans lequel se trouve le solde de son compte.<br />
Consultation des historiques de compte : ce cas d'utilisation permet au client de consulter<br />
les 4 derniers historiques de son compte par exemple en utilisant son téléphone mobile. Un<br />
SMS avec cet historique lui est envoyé<br />
Demande de chéquier : il s'agit ici pour le client de faire la demande d'un nouveau chéquier<br />
en utilisant un SMS. Un SMS lui est renvoyé pour confirmer que la demande a été prise en<br />
compte.<br />
Demande de virement vers un autre compte : ce cas d'utilisation permet au client de faire la<br />
demande de transfert d'argent vers un compte autre que le sien en utilisant un SMS. Un SMS<br />
lui est renvoyé pour confirmer le virement<br />
Notification de débit sur un compte : ce cas d'utilisation permet au système d'informer le<br />
client lorsque son compte est touché en débit. Un SMS lui est envoyé avec le montant débité.<br />
Notification de crédit sur un compte : ce cas d'utilisation permet au système d'informer le<br />
client lorsque son compte est touché en crédit. Un SMS lui est envoyé avec le montant<br />
crédité.<br />
Notification de virement de salaire sur un compte : il s'agit ici pour le système d'alerter le<br />
client lorsque son compte est touché en débit. Un SMS lui est envoyé avec le montant viré.<br />
Notification périodique de solde d'un compte : grâce à ce cas d'utilisation le système<br />
informe le client quotidiennement, hebdomadairement ou mensuellement du solde de son<br />
compte. Un SMS lui est envoyé avec le montant du solde suivant la périodicité qu'il a choisie.<br />
‣ Réalisations de diagrammes d’utilisations<br />
Le service sms banking propose deux(2) types d’envoi de sms :<br />
-l’envoi en mode pull : message envoyé à l’initiative du client pour bénéficier des services<br />
sms banking<br />
Etude et Conception d’une solution de SMS Banking<br />
72
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 6.3 : Diagramme des cas d’utilisations préliminaires des services à la demande de<br />
l’utilisateur<br />
-l’envoi en mode push : la banque envoi des SMS sous forme d’alerte au client mobile<br />
Figure 6.4: Diagramme des cas d’utilisations préliminaires d’envoi de messages sous<br />
forme d’alertes<br />
‣ Description textuelle du cas d’utilisations :<br />
Cette étape consiste à décrire les différents cas d’utilisation dans les deux types d’envoi de<br />
SMS ; nous allons présenter quelques exemples de cas d’utilisation :<br />
Demandes de type PULL :<br />
Etude et Conception d’une solution de SMS Banking<br />
73
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
-Demande de consultation de solde :<br />
Figure 6.5 : Diagramme de cas d’utilisation pour une demande de solde<br />
a-sommaire d’identification :<br />
Titre : Demande de consultation de solde<br />
Résumé : ce cas d’utilisation donne la possibilité au client disposant d’un numéro de<br />
téléphone mobile fonctionnel de consulter le solde de son compte<br />
Acteurs : Client mobile, logiciel bancaire<br />
Date de création : 25-08-2012 Date de mise à jour :<br />
Version :<br />
Responsable : Hapsita Awada Hassan<br />
b-description des scenarios :<br />
Pré conditions : disposer d’un téléphone mobile fonctionnel, le réseau opérationnel<br />
Scenario nominal :<br />
1) Le client envoi un SMS au niveau de la passerelle connectée au système SMS Banking<br />
2) Le système reçoit le SMS, vérifie sa syntaxe puis le stocke au niveau de la base de<br />
données du système SMS Banking<br />
3) Le système vérifie le numéro de téléphone du client<br />
Etude et Conception d’une solution de SMS Banking<br />
74
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
4) Le système vérifie le code du client<br />
5) Le système récupère le mot clé du service puis vérifie si le client est effectivement bel<br />
et bien inscrit au service demande de solde<br />
6) Le système vérifie si le délai du contrat du client n’est pas expiré<br />
7) Le système récupère ensuite le solde du client au niveau de la banque<br />
8) Le système formate le message à envoyer au client<br />
9) Le système envoi le SMS au client. Ce SMS contient le solde du client<br />
10) Le système enregistre le SMS (sortant) dans la base de données<br />
Enchainements d’Erreurs :<br />
E1) Le système s’aperçoit que la syntaxe du SMS est mauvaise :<br />
L’enchainement E1 démarre au point 2 du scénario nominal<br />
3) Le système formate le message à envoyer au client. Ce message est un message d’erreur<br />
de syntaxe SMS<br />
4) Le système marque le message comme erroné<br />
Le scenario nominal se poursuit au point 8<br />
E2) Le système s’aperçoit que le numéro de téléphone du client n’est pas valide :<br />
L’enchainement E2 démarre au point 3 du scenario nominal<br />
4) Le système formate le message à envoyer au client. Ce message est un message d’erreur<br />
de numéro de téléphone non valide<br />
5) Le système marque le message comme erroné<br />
Le scenario nominal se poursuit au point 8<br />
E3) Le système s’aperçoit que le code du client est invalide :<br />
L’enchainement E3 démarre au point 4 du scenario nominal<br />
5) Le système formate le message à envoyer au client. Ce message est un message d’erreur<br />
de code non valide<br />
6) Le système marque le message comme erroné.<br />
Etude et Conception d’une solution de SMS Banking<br />
75
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Le scenario nominal se poursuit au point 8.<br />
E4) Le système s’aperçoit que le client n’est pas inscrit au service de consultation de solde :<br />
L’enchainement E4 démarre au point 5 du scenario nominal<br />
6) Le système formate le message à envoyer au client. Ce message est un message d’erreur<br />
de non inscription au service<br />
7) Le système marque le message comme erroné<br />
Le scenario nominal se poursuit au point 8.<br />
E5) Le système s’aperçoit que le contrat du client est expiré :<br />
L’enchainement E5 démarre au point 6 du scenario nominal<br />
3) Le système formate le message à envoyer au client. Ce message est un message d’erreur<br />
d’expiration de contrat<br />
8) Le système marque le message comme erroné<br />
Le scenario nominal se poursuit au point 8<br />
Post conditions : Le système envoi une réponse au client contenant le solde de son compte.<br />
‣ Description graphique du cas d’utilisations :<br />
Etude et Conception d’une solution de SMS Banking<br />
76
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 6.6 : Diagramme de séquence système du scenario nominal de consultation de<br />
solde<br />
Figure 6.7 : Diagramme de cas d’activité de la demande de la consultation de solde<br />
Demande de type PUSH :<br />
Etude et Conception d’une solution de SMS Banking<br />
77
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Le but est d’informer le client par SMS concernant les mouvements, les informations de son<br />
compte. Les cas d’utilisation des tous les types d’alertes se comportent de la même manière.<br />
Le principe est l’envoi d’un SMS automatiquement par le système. Nous allons présenter un<br />
exemple de cas d’utilisation<br />
-Notification crédit sur un compte:<br />
Figure 6.8 : Diagramme de cas d’utilisation de notification de sur un compte<br />
a-sommaire d’identification :<br />
Titre : Notification de crédit sur un compte<br />
Résumé : ce cas d’utilisation permet de notifier le client lorsque son compte est crédité<br />
Acteurs : Client mobile, logiciel bancaire<br />
Date de création : 25-08-2012 Date de mise à jour<br />
Version :<br />
Responsable : Hapsita Awada<br />
b-description des scenarios :<br />
Pré conditions : disposer d’un téléphone mobile fonctionnel, le réseau opérationnel<br />
Scenario nominal :<br />
1) Le logiciel bancaire effectue un nouvel enregistrement dans la base de données de<br />
SMS Banking<br />
2) Le système récupère le nouvel enregistrement et vérifie s’il s’agit d’un crédit sur un<br />
compte<br />
3) Le système vérifie si le client est bel et bien inscrit au service<br />
4) Le système vérifie si son contrat n’est pas expiré<br />
Etude et Conception d’une solution de SMS Banking<br />
78
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
5) Le système formate le message à envoyer au client avec montant crédité<br />
6) Le système recherche le numéro de téléphone du client<br />
7) Le système envoie le SMS « de notification de crédit du compte » au client<br />
8) Le système enregistre le message à envoyer au client dans la table représentant les<br />
messages sortants<br />
Enchainements d’Erreurs :<br />
E1) Le système s’aperçoit que le client n'est pas inscrit à ce service. L’enchainement E1<br />
démarre au point 3 du scénario nominal.<br />
4) Le système effectue une mise à jour de l’enregistrement avec le statut « client non inscrit<br />
au service alerte crédit sur un compte »<br />
Le scenario nominal s’arrête au point 3<br />
E2) Le système détecte que le contrat du client n’est pas valide<br />
L’enchainement E2 démarre au 4 du scenario nominal.<br />
Le système effectue une mise à jour de l’enregistrement avec le statut « contrat du client<br />
expiré »<br />
Le scenario nominal s’arrête au point 4<br />
E3) Le système n'arrive pas à envoyer le SMS. L’enchainement E3 démarre au point 8 du<br />
scenario nominal<br />
Le système met à jour la table concernant les messages sortants avec un statut permettant<br />
d'identifier la source d'erreur. Le SMS sera renvoyé plus tard.<br />
Dans ce cas, le scénario nominal reprendra au point 8.<br />
Post conditions : Le système envoi un SMS avec le montant crédité du client<br />
‣ Description graphique du cas d’utilisations :<br />
Etude et Conception d’une solution de SMS Banking<br />
79
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 6.9 : Diagramme de séquence du scenario nominal de notification de crédit sur<br />
un compte<br />
Figure 6.10 : Diagramme de cas d’activité de notification de crédit sur compte<br />
6.5.2 Conception de la base de données<br />
6.5.2.1 Le Modèle Conceptuel de données<br />
Le modèle conceptuel de données est une représentation statique du système d’information de<br />
l’entreprise qui met en évidence sa sémantique. Il a pour but d'écrire de façon formelle les données<br />
qui seront utilisées par le système d'information. Il s'agit donc d'une représentation des données<br />
Etude et Conception d’une solution de SMS Banking<br />
80
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
facilement compréhensible. Le formalisme adopté par la méthode Merise pour réaliser cette<br />
description est basé sur les concepts 'entité-association'.<br />
Dans ce contexte on définit :<br />
- Propriété : c'est une information élémentaire, caractéristique d’une entité.<br />
- Entité : c'est la représentation d'un élément matériel ou immatériel ayant un rôle dans le système<br />
que l'on désire décrire. Chaque entité est composée de propriétés permettant de la décrire.<br />
- Association : c'est un lien sémantique entre plusieurs entités.<br />
- Identifiant : c'est un ensemble de propriétés (une ou plusieurs) permettant de désigner une et une<br />
seule entité.<br />
- Cardinalités : c'est un couple de valeurs qui exprime le nombre minimal et maximal de fois qu'un<br />
élément d'entité peut exister dans les éléments de l'association. Elles permettent de caractériser le<br />
lien qui existe entre une entité et la relation à laquelle elle est reliée.<br />
Le MCD (Figure 6.11) réalisé avec l'outil Analyse SI est composé des entités suivantes :<br />
Figure 6.11 : Le modèle Conceptuel de Données<br />
Etude et Conception d’une solution de SMS Banking<br />
81
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
6.5.2.2 Le Modèle logique de donnée<br />
Figure 6.12 : le modèle Logique de données<br />
Le modèle logique de données donne une vue de la structure de la base de données et est obtenu à<br />
partir du MCD en respectant les règles suivantes :<br />
- Toute entité devient une relation, autrement dit elle devient une table de la base de données et<br />
l'identifiant de l'entité constitue la clé primaire de la table.<br />
- Une association 'un à plusieurs' implique l’intégration de la clé de la table relative à la classe<br />
portant la cardinalité 'un ' dans la table relative à la classe portant la cardinalité 'plusieurs'.<br />
- Une association 'plusieurs à plusieurs' implique la création d’une nouvelle table ayant comme clé la<br />
concaténation des deux tables relatives aux classes associées.<br />
Le dictionnaire de données :<br />
Le dictionnaire de données décrit les propriétés des entités<br />
Etude et Conception d’une solution de SMS Banking<br />
82
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Figure 6.13 : Le dictionnaire de données<br />
6.5.2.3 Réplication de la base de données et<br />
répartition de charges<br />
MySQL supporte la réplication interne. Un serveur sert de maître, et les autres serveurs<br />
servent d'esclaves. Chaque esclave, après connexion réussie au serveur maître, indique au<br />
maître le point qu'il avait atteint depuis la fin de la dernière réplication, puis rattrape les<br />
dernières modifications qui ont eu lieu, puis se met en attente des prochains événements en<br />
provenance du maître.<br />
Un esclave peut aussi servir de maître à son tour, pour réaliser une chaîne de réplication.<br />
Notez que lorsque vous utilisez la réplication, toutes les modifications de tables sont<br />
répliquées, et doivent intervenir sur le serveur maître. Sinon, vous devez être prudents dans<br />
vos interventions, pour ne pas créer de conflits entre les modifications de tables sur le maître<br />
et celles qui interviennent sur l'esclave. [W13]<br />
La réplication permet de renforcer la robustesse, la vitesse et l'administration du serveur :<br />
Etude et Conception d’une solution de SMS Banking<br />
83
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
La robustesse est augmentée par la configuration maître/esclave. Dans le cas où un<br />
problème survient sur le maître, vous pouvez utiliser un esclave comme serveur de<br />
secours.<br />
L'accélération provient de la répartition de la charge de traitement des requêtes clients<br />
entre le maître et les esclaves, permettant un meilleur temps de réponse. Les<br />
requêtes SELECT par exemple peuvent être envoyées aux esclaves pour réduire la<br />
charge du maître. Les requêtes de modifications des données sont envoyées au maître,<br />
qui les transmettra aux esclaves. Cette stratégie de répartition de charge est efficace si<br />
les lectures sont plus nombreuses que les écritures, ce qui est la situation la plus<br />
courante.<br />
Un autre avantage de la réplication est que vous pouvez faire des sauvegardes nonbloquantes<br />
de vos données sur l'esclave et non plus sur le serveur principal : ce dernier<br />
n'est pas perturbé.<br />
6.6 Perspectives<br />
Pour notre solution SMS Banking nous envisageons ;<br />
Faire une étude de déploiement du système SMS Banking<br />
Faire une étude de performance du serveur qui hébergera notre application<br />
Développer tous les services bancaires possibles<br />
Améliorer l’interface d’administration<br />
Proposer une solution de sécurité pour d’éventuelles vulnérabilités<br />
Etude et Conception d’une solution de SMS Banking<br />
84
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
CONCLUSION<br />
Ce projet de fin d’étude s’intitule « Etude et Conception d’une solution de SMS<br />
Banking ». L’objectif était de proposer une conception pour la mise en place des services<br />
bancaires disponibles via le téléphone mobile et grace au service SMS du réseau GSM.<br />
Le SMS Banking est un sujet d’actualité utilisant le service SMS pour offrir des services à<br />
valeurs ajoutées aux clients. En réalité ce système permettra, entre autre aux clients d’une<br />
banque de bénéficier de certains opérations bancaires ou services à distance par un simple<br />
SMS. Cependant pour que le système soit opérationnel il faudrait un partenariat avec les<br />
institutions financières ou coopérative bancaires et les opérateurs de téléphonie mobile.<br />
Ainsi nous avons donc étudier le système dans sa généralité, quels sont les principaux outils<br />
nécessaires ? Nous avons donc simuler un SMSC. Nous avons mis en place un serveur SMS<br />
pour l’envoi et la réception des messages PULL et PUSH. Nous avons fait une liaiason entre<br />
le serveur SMS et le SMSC. Nous avons concu notre base de donnée pour interagir avec<br />
kannel. Cette base de donnée contient toutes les données concernant le sytème(clients,<br />
messages récus,messages envoyés, services disponibles…).Nous avons développer un<br />
exemple de service « Consultation de solde » pour expliquer le fonctionnment de notre<br />
système concu ainsi qu’une interface d’administration. Plus tard nous envisageons réaliser et<br />
déployer le sytème en tenant compte des insuffisances observées, des options supplémentaires<br />
et des contraintes afin de disposer d’une application complète de solution de SMS Banking.<br />
C’est ainsi pour mener à bien l’étude du projet il a fallu adopter une certaine démarche ; en<br />
premier lieu éffectuer une phase bibliographique afin de connaitre le mieux possible les<br />
différents outils et/ou moyens insdispensables pour le développement de notre application.<br />
En second lieu nous avons spécifié le système pour en dicerner les fonctionnalités et enfin<br />
nous avons procédé à sa conception ainsi qu’aux différents choix tehnologiques.<br />
Ce projet peut évoluer en intégrant une nouvelle plateforme encore récente celle de l’USSD.<br />
Etude et Conception d’une solution de SMS Banking<br />
85
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Enfin ce travail n’a été que source de bénéfices malgré quelques difficultés rencontrés, l’étude<br />
a exigé un minimum de connaissances des réseaux informatiques et télécommunications et<br />
aussi des outils de dévéllopement indispensables à la conception du système. Il s’agit de la<br />
modelisation avec le langage UML et Mérise pour la bases de données. La maitrise du<br />
système linux a été egalement très importante ainsi que la langue anglaise car bon nombre de<br />
documents que nous avons eu à utiliser sont en anglais donc cette langue s’est avérée<br />
indispensable.<br />
Etude et Conception d’une solution de SMS Banking<br />
86
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
REFERENCES BIBLIOGRAPHIQUES<br />
Liste des ouvrages<br />
[B1]: BOUTEKDJIRET IMEN et MEZRAGUE ZINA, 2008-2009. Conception et<br />
réalisation d’une solution de SMS Banking pour TRUST BANK ALGERIA<br />
[B2]: GSM TECHNOLOGY FOR ENGINEERS, Copyright 2002 AIRCOM<br />
International Ltd<br />
[B3] : Qualité de service d'un centre de service de messagerie GSM (SMSC) Par<br />
Youssef Haddad<br />
[B4] : Short Message Peer-to-Peer Protocol Specification Version 5.0<br />
[B5] : Jean François Diokel DIOKH, 2006-2007. Services à valeurs ajoutées et outils<br />
open sources<br />
[B6]: UML 2 pour les développeurs, Xavier Blanc, Isabelle MOUNIER, Editions<br />
Eyrolles<br />
[B7] : Sécurité PHP 5 et MySQL de D.Seqguy, P.Gamache<br />
[B8] : Sécurité PHP 5 et MySQL de D.Seqguy, P.Gamache<br />
[B9]: [Pascal roques1] Pascal Roques, UML 2 par la pratique, 6ème édition, Eyrolles,<br />
Paris, 2002.<br />
[B10]: Conception de base de données avec UML, Gylles ROY<br />
Sites WEB<br />
[W1]: http://en.wikipedia.org/wiki/Mobile_banking<br />
[W2]: http://jaaayyy.chez.com/html/Radiomobiles/stage/SVA.html<br />
[W3]: http://fr.wikipedia.org/wiki/Protocole_WAP<br />
[W4]: http://searchnetworking.techtarget.com/definition/USSD<br />
[W5]: http://www/efort.com (SS7_efort)<br />
[W6]: http://www/efort.com (SMS_efort)<br />
[W7]: http://www/efort.com (MAP_efort)<br />
Etude et Conception d’une solution de SMS Banking<br />
87
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
[W9]: http://www.kannel.org/download/1.4.3/userguide-1.4.3/userguide.html<br />
[W10]: http://fr.scribd.com/doc/82359560/32/III-Capture-des-besoins-fonctionnels<br />
[W11]: http://www.commentcamarche.net/contents/sql/sqlintro.php3<br />
[W12]: http://fr.scribd.com/doc/8474587/la-methode-merise<br />
[W13]: http://dev.mysql.com/doc/refman/5.0/fr/replication.html<br />
[W14]http://en.wikipedia.org/wiki/SIM_Application_Toolkit<br />
[W16]http://en.wikipedia.org/wiki/SMS_banking<br />
[W8]:http://www.activexperts.com/mobile-messaging-component/smppspecifications/overview/<br />
[W15]www.memoireonline.com/.../m_Implementation-dun-portail-SMS--base-dulogiciel-KANNEL3.htm<br />
[W17]http://www.unixgarden.com/index.php/gnu-linux-magazine/developpement-deservices-sms<br />
[W18]http://fr.wikipedia.org/wiki/SMPP<br />
Etude et Conception d’une solution de SMS Banking<br />
88
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
ANNEXES<br />
Annexe 1 : Fichier de configuration de kannel<br />
#<br />
# THIS IS A SAMPLE CONFIGURATION FOR KANNEL<br />
#<br />
# For any modifications to this file, see Kannel User Guide<br />
# If that does not help, send email to users@kannel.org<br />
#<br />
group = core<br />
admin-port = 13000<br />
admin-password = bar<br />
smsbox-port = 13001<br />
#status-password = foo<br />
#admin-deny-ip = ""<br />
#admin-allow-ip = ""<br />
#log-file = "/tmp/kannel.log"<br />
#log-level = 0<br />
#access-log = "access.log"<br />
#http-proxy-host = "127.0.0.1"<br />
#http-proxy-port = 8080<br />
#http-proxy-exceptions = "127.0.0.1"<br />
#http-proxy-username = "user"<br />
#http-proxy-password = "password"<br />
#ssl-certkey-file = "mycertandprivkeyfile.pem"<br />
Etude et Conception d’une solution de SMS Banking<br />
89
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
# SMSC CONNECTIONS - GLOBAL FIELDS<br />
#group = smsc<br />
#smsc =<br />
#smsc-id = ID<br />
#denied-smsc-id = "X;Y"<br />
#allowed-smsc-id = "Z"<br />
#preferred-smsc-id = "W"<br />
#allowed-prefix = "040;050"<br />
#denied-prefix = "060;070"<br />
#alt-charset =<br />
# SMSC SMPP<br />
group = smsc<br />
smsc = smpp<br />
smsc-id = SMPPSim<br />
preferred-smsc-id = SMPPSim<br />
host = 192.168.1.105<br />
port = 2775<br />
transceiver-mode = true<br />
receive-port = 0<br />
smsc-username = smppclient1<br />
smsc-password = password<br />
system-type = ""<br />
address-range = ""<br />
msg-id-type = 0x01<br />
alt-charset = "ISO-8859-1"<br />
interface-version = 34<br />
wait-ack-expire = 0x02<br />
Etude et Conception d’une solution de SMS Banking<br />
90
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
# SMSC GSM<br />
#group = smsc<br />
#smsc = at<br />
#modemtype = huawei<br />
#device = /dev/ttyUSB1<br />
#my-number = 771669574<br />
#pin = 2345<br />
#validityperiod = 167<br />
# SMSC HTTP<br />
#group = smsc<br />
#smsc = http<br />
#system-type = kannel<br />
#send-url =<br />
#port =<br />
#connect-allow-ip =<br />
#username =<br />
#password =<br />
# SMSBOX SETUP<br />
group = smsbox<br />
bearerbox-host = localhost<br />
sendsms-port = 13013<br />
sendsms-chars = "0123456789 +-"<br />
global-sender = 12345<br />
log-file = "/tmp/smsbox.log"<br />
#log-level = 0<br />
access-log = "access.log"<br />
Etude et Conception d’une solution de SMS Banking<br />
91
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
#white-list =<br />
#black-list =<br />
#reply-couldnotfetch =<br />
#reply-couldnotrepresent =<br />
#reply-requestfailed =<br />
#reply-emptymessage =<br />
# SEND-SMS USERS<br />
group = sendsms-user<br />
username = tester<br />
password = foobar<br />
#user-deny-ip = ""<br />
#user-allow-ip = ""<br />
# this sender is for Kannel relay testing (http_smsc)<br />
group = sendsms-user<br />
username = kannel<br />
password = rL4y<br />
user-deny-ip = "*.*.*.*"<br />
user-allow-ip = "127.0.0.1"<br />
#name = service_kannel<br />
#forced-smsc = ID<br />
#default-smsc = ID<br />
#faked-sended =<br />
#max-messages = 1<br />
#concatenation = 1<br />
#split-chars =<br />
#split-suffix =<br />
#omit-empty =<br />
#header =<br />
Etude et Conception d’une solution de SMS Banking<br />
92
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
#footer =<br />
#allowed-prefix =<br />
#denied-prefix =<br />
#white-list =<br />
#black-list =<br />
# SMS SERVICES<br />
#group = sms-service<br />
#name = nothing<br />
#keyword = nop<br />
#aliases = "noppy;niente"<br />
#text = "You asked nothing and I did it!"<br />
#get-url = "http://"<br />
#post-url = "http://"<br />
#file = "/tmp/"<br />
#accepted-smsc = ID<br />
#allowed-prefix =<br />
#denied-prefix =<br />
#catch-all = false<br />
#send-sender = false<br />
#strip-keyword = false<br />
#faked-sender =<br />
#max-messages = 1<br />
#accept-x-kannel-headers = false<br />
#assume-plain-text = false<br />
#concatenation = false<br />
#split-chars =<br />
#split-suffix = "+"<br />
#omit-empty = true<br />
Etude et Conception d’une solution de SMS Banking<br />
93
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
#header =<br />
#footer =<br />
#prefix =<br />
#suffix =<br />
#white-list =<br />
#black-list =<br />
# SMS SERVICE GET-URL EXAMPLE<br />
#group = sms-service<br />
#keyword = relay<br />
#get-url = "http://localhost/service?phone=%p&text=%r&binary=%b&smsc=$i&time=%t<br />
group = sms-service<br />
keyword = solde<br />
catch-all = true<br />
get-url =<br />
"http://localhost/projet/service.php?phone=%p&sms=%a&text=%r&binary=%b&smsc=$i&tim<br />
e=%t&keyword=%k"<br />
accept-x-kannel-headers = true<br />
# SMS SERVICE black-list<br />
#group = sms-service<br />
#keyword = black-list<br />
#text = "You are not alowed to use this service, Go away!"<br />
# SMS SERVICE Default<br />
# there should be default always<br />
group = sms-service<br />
keyword = ec2lt<br />
text = "Bonjour Hapsita"<br />
#get-url =<br />
"http://localhost/projet/service.php?phone=%p&text=%r&binary=%b&smsc=$i&time=%t"<br />
# SMS SERVICE Default<br />
# there should be default always<br />
Etude et Conception d’une solution de SMS Banking<br />
94
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
#group = sms-service<br />
#keyword = solde<br />
#catch-all = true<br />
#get-url =<br />
"http://localhost/projet/service.php?phone=%p&sms=%a&text=%r&binary=%b&smsc=$i&tim<br />
e=%t&keyword=%k"<br />
#accept-x-kannel-headers = true<br />
group = sms-service<br />
keyword = cmd<br />
exec = /usr/bin/eject<br />
group = modems<br />
id = huawei<br />
name = "huawei e1552"<br />
detect-string = "Huawei"<br />
init-string = "AT+CNMI=2,1,0,0,0"<br />
message-storage = "ME"<br />
speed = 9600<br />
Annexe2 : Démarrage de Kannel<br />
Le bearerbox<br />
Etude et Conception d’une solution de SMS Banking<br />
95
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Le smsbox<br />
Annexe 3 : Exemples de modems GSM<br />
Etude et Conception d’une solution de SMS Banking<br />
96
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Annexe 4 : Démarrage de SMPPSim<br />
Annexe 5 : Exemples d’Interface d’administration de SMS Banking<br />
Etude et Conception d’une solution de SMS Banking<br />
97
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Annexe 6 : Capture de trame smpp avec wireshark<br />
Etude et Conception d’une solution de SMS Banking<br />
98
Mémoire de fin de cycle Licence 2011-2012<br />
AWADA Hapsita Hassan<br />
Etude et Conception d’une solution de SMS Banking<br />
99