21.04.2015 Views

REMERCIEMENTS - EC2LT

REMERCIEMENTS - EC2LT

REMERCIEMENTS - EC2LT

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!