Вы находитесь на странице: 1из 114

Dédicace

A ma famille

Système d’information et de notification basé sur le service SMS Page 1


Remerciements

REMERCIEMENTS

Au terme de cette nous voudrions exprimer nos vifs remerciements à :

- M. IRIE Foua, le Directeur de mémoire, pour sa disponibilité pendant la rédaction de


cet ouvrage ainsi que pour sa patience lors des multiples relectures.

- M. GOUHO BI pour les précieux conseils qu’il nous a prodigués durant toute la
période de stage et pour la documentation qu’il a bien voulu mettre à notre disposition.

- L’administration du Groupe ESAM, en particulier M. KOUASSI Edouard et Dr


ABOUA Narcisse et également à l’ensemble de nos enseignants pour la qualité des
enseignements et de l’encadrement que nous avons reçus durant ces trois années de formation.

- Messieurs ADOU Olivier et DJOUEKAN Joël pour leur précieuse aide lors de la
réalisation pratique du projet ainsi qu’à tout le personnel de NTIX Corporation.

Conception et implémentation d’une solution de communication par SMS Page 2


Avant-Propos

AVANT-PROPOS

L’ère de la téléphonie mobile a entrainé ces dernières années l’emploi de services à


valeur ajoutée. Un service à valeur ajoutée est une application, cumulant des notions de
Télécommunications et d’informatiques, dont l'usage fait l'objet d'une tarification qui s'ajoute à
celle des services supports utilisés par l'application. Il présente donc un caractère purement
commercial. Certains services à valeur ajoutée sont vendus sur des réseaux à valeur ajoutée,
d'autres sont vendus sur le réseau public.
Depuis l'envoi du premier SMS, le 03 Décembre 1992, par Neil PAPWORTH, la
technologie des messages à 160 caractères a connu un fulgurant essor de telle sorte que l'envoi
d'un SMS est devenu un fait ordinaire et courant à tous les niveaux de l'échelle sociale. Simple
d'utilisation et pratique, il apparaît comme un outil efficient pour une campagne à grande
échelle.
Le principe de base de la messagerie SMS est que les messages doivent être confiés à
un centre de messagerie (SMSC ou Short Message Service Center) du réseau GSM. C’est lui
qui se chargera de les faire parvenir aux destinataires dès que leurs mobiles seront sous tension,
dans une zone couverte par un réseau GSM, et autorisés à communiquer sur celui-ci.
Tant que ces conditions ne sont pas remplies, le message est archivé par le centre de messagerie
jusqu’à une durée de validité spécifiée par son émetteur.
La taille actuelle des messages ne doit pas dépasser les 160 caractères mais peut être quadruplée
par concaténation.
A l’instar du service SMS, les services à valeur ajoutée sont devenus incontournables dans le
domaine des télécommunications.

Conception et implémentation d’une solution de communication par SMS Page 3


Tables des abréviations

LISTE DES ABREVIATIONS

2G : 2ème Génération
API : Application Programing Interface
ARTCI : Autorité de Régulation des Télécommunications/TIC de Côte d’Ivoire
AuC : Authentication Center
BSC : Base Station Controller
BSS: Base Station Subsystem
BTS : Base Transceiver Station
CIMD: Computer Interface Message Distribution
CMG: Computer Management Group
CP: Content Provider
CSS: Cascading Style Sheet
EIR: Equipment Identity Register
EMI: External Machine Interface
ESME: External Short Message Entity
FIFO: First In First Out
GMSC: Gateway MSC
GSM: Global System for Mobile communications
HLR: Home Location Register
HTML: HyperText Markup Language
HTTP: HyperText Transfer Protocol
HTTPS: HyperText Transfer Protocol Secured
IMEI: International Mobile Equipment Identity
IWS : Internet World Stats
MAP: Mobile Application Part
MSC: Mobile services Switching Center
MSISDN: Mobile Station ISDN Number
NSS: Network and Switching Subsystem
NTIC : Nouvelles Technologies de l’Information et de la Communication
OMC: Operation and Maintenance Center
OSS: Operating SubSystem
PAP: Password Authentication Protocol
PHP: Hypertext Preprocessor

Conception et implémentation d’une solution de communication par SMS Page 4


Tables des abréviations

RNIS : Réseau Numérique à Intégration de Services


RTCP : Réseau Téléphonique Commuté Public
SGBDR : Système de Gestion de Base de Données Relationnelle
SM: Short Message
SME: Short Message Entity
SM-MO: Short Message Mobile Originated
SM-MT: Short Message Mobile Terminated
SMPP: Short Message Peer-to-peer Protocol
SMS : Short Message Service
SMSC : Short Message Service Center
SMS-GMSC: Gateway MSC for Short Message Service
SMS-IWMSC: Interworking MSC for Short Message Service
SS7: Signaling System N°7
SVA/VAS : Service à Valeur Ajoutée / Value-Added Service
TCP/IP: Transmission Control Protocol / Internet Protocol
TDMA: Time Division Multiple Access
TRX: Transceiver
UDP: User Datagram Protocol
USIM: Universal Subscriber Identity Module
USSD: Unstructured Supplementary Service Data
VASP: Value-Added Service Provider
VLR: Visitor Location Register
VMSC: Visited MSC
WAP: Wireless Application Part
WDP: Wireless Datagram Protocol
WSP: Wireless Session Protocol
WTLS: Wireless Transport Layer Security
WTP: Wireless transaction protocol

Conception et implémentation d’une solution de communication par SMS Page 5


Liste des tableaux

LISTE DES FIGURES

Figure Titre Page

1 Architecture d'un réseau GSM classique…………………………………… 18


2 Architecture de protocoles GSM………………………………………..….. 20
3 Architecture d'un réseau GSM implémentant le service SMS…………..…. 24
4 Protocoles des couches transport et application relatifs au SMS………..…. 24
5 Format d'un message court………………………………………..………... 25
6 Le contexte du protocole SMPP…………………………………..………... 27
7 Types de messages SMPP………………………………………..………… 28
8 Exemple d'une session SMPP de type ESME Transceiver……..………….. 30
9 Les entités de base du service SMS…………………………..……………. 30
10 Le contexte SMSC…………………………………………..……………... 32
11 Interface récepteur ESME………………………..………………………… 33
12 Interface émetteur ESME……………………..……………………………. 34
13 Service de base SM-MO………………………..………………………….. 35
14 Service de base SM-MT…………………………..………………………... 35
15 Envoi d'un message court d'origine mobile vers le SMSC…………..…….. 36
16 Envoi d'un SM-MT (mobile rattaché au réseau)………………..………….. 36
17 Envoi d'un SM-MT (mobile non rattaché au réseau)………..……………... 37
18 Envoi d'un SM-MT (le mobile revient sur réseau)…………..…………….. 37
19 Processus d'envoi d'un message court d'un MO vers un MT (envoi réussi) 39
20 La passerelle vue par rapport au modèle OSI……………..……………….. 41
21 Passerelle SMS entre deux SMSC……………………..…………………... 42
22 Interface de Notepad++……………………………..……………………… 52
23 Graphe des flux……………………………………..……………………… 54
24 Le modèle conceptuel de données………………..………………………… 56
25 Position logique d'une passerelle SMS entre un mobile et un serveur de
contenus………………………………………..…………………………… 63
26 Position logique d'une passerelle WAP entre un mobile et un fournisseur
de contenus…………………………………………..……………………... 63
27 Liaison du serveur SMS à travers un modem GSM…..…………………… 64
28 Liaison du serveur à travers une ligne spécialisée…..……………………... 65

Conception et implémentation d’une solution de communication par SMS Page 6


Liste des tableaux

29 Architecture de Kannel……………………………..……………………… 66
30 Architecture du bearerbox……………………………..…………………… 68
31 Mode de communication entre les Boxes de Kannel………..……………... 70
32 Interfaces externes de Kannel……………………………..…………….….. 71
33 Test de l'état du modem……………………………………..………….…... 75
34 Test du code PIN, de l’enregistrement sur le réseau et de l'opérateur….…... 76
35 Résultat de la commande lsusb……………………………..….…………… 78
36 Résultat de la commande wvdialconf……………………...……………….. 79
37 Bon démarrage du bearerbox………………..……………………………... 80
38 Bon démarrage du smsbox……………………..…………………………... 81
39 Architecture globale du système………………..………………………….. 91
40 Envoi de SMS à travers le système……………..………………………….. 91
41 Procédure de traitement des SMS-Requête………..……………………….. 92
42 Page de connexion à MangoSMS…………………..………………….…… 93
43 Page d'accueil MangoSMS…………………………..………………….….. 94
44 Page Messages envoyés……………………………..…………………….... 94
45 Page de saisie des infos Etudiant…………………..…………………….…. 95
46 Carnet d’adresses…………………………………...………………………. 96

Conception et implémentation d’une solution de communication par SMS Page 7


Liste des tableaux

LISTE DES TABLEAUX

Tableau Titre Page

1 Interfaces de communication dans un réseau GSM………………………. 19


2 Tableau comparatif de passerelles SMS Open Source…………………… 43
3 Matrice des flux…………………………………………………………... 54
4 Dictionnaire de données…………………………………………………... 55
5 Table classe……………………………………………………………….. 58
6 Table filière……………………………………………………………….. 58
7 Table scolarité…………………………………………………………….. 59
8 Table étudiant…………………………………………………………….. 59
9 Table emploi_du_temps………………………………………………….. 59
10 Table heure_absence……………………………………………………… 60
11 Table messages…………………………………………………………… 60
12 Table moyenne……………………………………………………………. 60
13 Table répertoire…………………………………………………………… 61
14 Table versement…………………………………………………………... 61
15 Liste des commandes pour l'administration de Kannel…………………... 83

Conception et implémentation d’une solution de communication par SMS Page 8


Sommaire

SOMMAIRE

DEDICACE ................................................................................................................................ 1
REMERCIEMENTS .................................................................................................................. 2
AVANT-PROPOS ..................................................................................................................... 3
LISTE DES ABREVIATIONS .................................................................................................. 4
LISTE DES FIGURES ............................................................................................................... 6
LISTE DES TABLEAUX .......................................................................................................... 8
INTRODUCTION .................................................................................................................... 10
PREMIERE PARTIE: ETUDE THEORIQUE ET METHODOLOGIE ......................... 12
Chapitre 1 : SPECIFICATION DE LA PROBLEMATIQUE ................................................. 13
Chapitre 2 : REVUE DE LA LITTERATURE ........................................................................ 16
Chapitre 3 : METHODOLOGIE .............................................................................................. 45
DEUXIEME PARTIE: ANALYSE, CONCEPTION ET IMPLEMENTATION DE LA
SOLUTION ............................................................................................................................. 48
Chapitre 4 : ANALYSE ET CONCEPTION DE LA SOLUTION ......................................... 49
Chapitre 5 : MISE EN ŒUVRE ............................................................................................... 73
Chapitre 6 : PRESENTATION DE L’APPLICATION ........................................................... 91
CONCLUSION ........................................................................................................................ 97
BIBLIOGRAPHIE ................................................................................................................... 99
WEBOGRAPHIE ................................................................................................................... 100
ANNEXES ............................................................................................................................. 101
TABLE DES MATIERES ....................................................................................................... IX

Conception et implémentation d’une solution de communication par SMS Page 9


Introduction

INTRODUCTION

Le développement des Technologies de l'Information et de la Communication (TIC) a


connu aujourd’hui un essor considérable tel qu'on assiste de plus en plus au déploiement de
nouveaux services à valeurs ajoutées (SVA) et notamment dans le domaine de la téléphonie
mobile, qui a connu le plus de succès. Conçu à l’origine pour assurer une communication
mobile entre les abonnés, le réseau mobile est aujourd’hui le support d’une multitude de ces
services. C’est ainsi qu'on assiste à l'apparition du service SMS (Short Message Service) qui
bien qu'étant relativement récent a déjà conquis le grand public avec plus de 7000 milliards de
SMS envoyés dans le monde en 2011 et plus de 3000 milliards de SMS au premier semestre de
l’année 20161.
Les raisons de ce succès sont assez simples. En effet, le SMS est un moyen de
communication très simple, discret, disponible pour tous les abonnés d’un opérateur mobile et
accessible sur tous les terminaux du marché, même les plus simples.
L’adoption du SMS s’est généralisée d’une manière très contagieuse, ce qui a conduit les
entreprises à reformer, les unes après les autres, leurs systèmes d’information afin d’accélérer
leur développement et relever de nouveaux enjeux. Ainsi avec le SMS, il est possible
aujourd’hui de créer un réseau entre le client et l’entreprise.
En outre avec l’avancé de l’informatique on constate de plus en plus un très fort
rapprochement entre les technologies télécoms et l’informatique. Ce rapprochement est autant
plus visible sur les SVA qui permettent la conception d’applications pouvant interfacer les
équipements GSM aux équipements informatiques. C’est ainsi qu'on assiste à l'apparition du
service d’envoi et de réception de SMS par le web encore appelée technologie « web to sms ».
La mise en place de cette technologie nécessite la mise en place de passerelles SMS.
Le SMS offrant donc un canal de communication personnalisée avec le client et en
temps réel, NTIX Corporation, entreprise spécialisée dans la conception et l’intégration de
solutions informatiques et télécoms, a décidé de nous confier la conception et l’implémentation
d’une solution de communication par SMS que nous avons nommé « MangoSMS » pour la
gestion d’un service « vie scolaire » dans les établissements scolaires et universitaires, qui est
l’objet de notre étude. Cette solution offre non seulement une plateforme permettant aux
établissements scolaires de pouvoir envoyer des SMS en masse à partir d’un navigateur web,

1
http://www.planetoscope.com/electronique/718-nombre-de-sms-envoyes-dans-le-monde.html, consulté le
27/06/2016

Conception et implémentation d’une solution de communication par SMS Page 10


Introduction

mais également un serveur de contenu comportant des informations sur les étudiants et aussi
sur l’école, que l’on pourra consulter par SMS.
Ce document rédigé à cet effet est structuré en deux parties. La première partie du projet
porte sur l’étude théorique et méthodologique approprié pour aborder la mise en place d’un
serveur SMS. Elle présente la spécification de la problématique, la revue de la littérature où
l’on présente l’état de l’art sur les réseaux mobiles notamment le GSM, le service SMS au sein
du réseau GSM et les passerelles SMS. La deuxième partie a consisté, quant à elle, en l’analyse
des besoins, la conception des différents modules, l’implémentation et la présentation des
résultats des tests.

Conception et implémentation d’une solution de communication par SMS Page 11


Première partie

PREMIERE PARTIE:

ETUDE THEORIQUE ET
METHODOLOGIE

Conception et implémentation d’une solution de communication par SMS Page 12


Chapitre 1 : Spécification de la problématique

Chapitre 1 : SPECIFICATION DE LA PROBLEMATIQUE

NTIX Corporation2 est une entreprise spécialisée dans le domaine des réseaux
informatiques filaires et sans fil, de la téléphonie d’entreprise, de l’installation d’équipements
de sécurité électronique et de la conception d’applications web et mobiles. Ses prestations
s’adressent aux entreprises de toutes tailles, PME, PMI, Hôtels, Commerces, Organisations,
Collectivités, Particuliers ...
La parfaite connaissance des besoins des clients a permis à NTIX d’étendre ses activités
sur tout le territoire national. Sa grande expérience dans le domaine des réseaux informatiques
et télécoms garantit une qualité des installations et une assistance technique professionnelle.
NTIX collabore avec des opérateurs et fournisseurs leaders du secteur des technologies de
l’information et de la communication. Ce qui est une occasion pour lui faire confiance.

1. Justification du choix du thème

Pour être plus compétitif sur le marché, la plupart des entreprises intègrent de plus en
plus les TIC dans leur système d’information. Mais les établissements scolaires, surtout en Côte
d’Ivoire, semblent être en marge de cette évolution. Il est vrai qu’avec l’avènement du web,
certains établissements se sont dotés de site Internet vitrine, mais cela ne constitue pas une
solution de communication efficace à l’heure actuelle vu le faible taux de pénétration d’Internet
en Afrique qui est de 28.7 % (statistiques de Juin 2016) en général et de 22% (statistiques de
2016) en Côte d’Ivoire en particulier selon IWS3.
Ce triste constat a amené à concevoir une solution efficace et moins onéreuse pour les
établissements scolaires et universitaires.
Le choix s’est donc porté sur une solution Open source et gratuite pour l’avantage qu’elle a de
réduire les coûts de réalisation, ce qui rend le produit accessible au plus grand nombre.

2. Problématique

Les moyens de communication employés par les établissements scolaires pour informer
les élèves et parents d’élèves sont généralement les brochures, les pancartes, les banderoles, les
bandes annonces et les spots radio et télé. Ces moyens ne s’avèrent pas toujours efficaces car

2
http://www.ntixci.com
3
IWS : Internet World Stats (http://www.internetworldstats.com)

Conception et implémentation d’une solution de communication par SMS Page 13


Chapitre 1 : Spécification de la problématique

nombreux sont les parents et les élèves qui préfèrent se rendre dans ces établissements ou
téléphoner pour plus d’informations. De plus, les parents d’élèves voulant avoir des
informations sur le travail ou la scolarité des enfants doivent nécessairement se rendre dans
l’établissement ou téléphoner. Toutes ces actions ne sont possibles que pendant certains
moments de la journée. Cela rend difficile l’accès aux informations.

Fort de ce constat une question s’impose. Comment faciliter l’accès aux informations
dans un établissement scolaire et le suivi des élèves en utilisant des moyens modernes et
accessibles à tous ?

Pour résoudre ce problème il faut prendre en compte les contraintes qui sont le coût, la
sécurité, la flexibilité et l’accessibilité. Dans ces conditions, des questions de recherche
s’imposent.

3. Questions de recherche

- Comment la solution peut-elle prendre en compte les conditions de sécurité et de


confidentialité ?
- Est-ce que les contraintes liées au coût et à l’accessibilité peuvent être prises en
compte ?

4. Les objectifs de la recherche

4.1 Objectif général

Cette étude vise à mettre en place une solution de communication par SMS avec des
outils Open source permettant non seulement aux établissements scolaires d’envoyer des
messages en masse mais également aux étudiants, parents d’élèves ou tout autre personne
d’avoir des informations sans se déplacer. Pour ce faire, les objectifs spécifiques suivants se
dégagent:

4.2 Objectifs spécifiques

Il s’agit de :
- Déployer une passerelle SMS basé sur un logiciel open source
- Réaliser une application web permettant aux utilisateurs répertoriés dans une base de
données d’envoyer des SMS à partir d’un navigateur web.

Conception et implémentation d’une solution de communication par SMS Page 14


Chapitre 1 : Spécification de la problématique

- Mettre en place un serveur de contenu doté d’une base de données qui contiendra un
certain nombre d’informations sur l’école et les élèves/étudiants, qui pourront être consultées
par SMS.
- Créer des services SMS : elle consiste à coupler la passerelle SMS au serveur de
contenu et créer les services SMS.
En somme il s’agit de mettre en place un serveur SMS avec des solutions Open Source en vue
de minimiser les coûts de réalisation.

5. Les hypothèses de la recherche

La réalisation de ce mémoire suppose qu’il faut vérifier une hypothèse générale et des
hypothèses spécifiques.

5.1Hypothèse générale

La mise en place d’un serveur SMS avec des outils Open Source facilite la
communication au sein des établissements et optimise aussi bien la sécurité que le coût.

5.2Hypothèses spécifiques

✓ La mise en place d’un serveur SMS permet aux établissements de palier les problèmes
de coûts des communications avec le corps professoral, les étudiants et les parents d’élèves.
✓ La mise en place d’un serveur SMS permet également aux étudiants et parents d’élèves
d’accéder à tout instant à des informations sur la scolarité de leurs enfants sans se déplacer de
manière confidentielle et sécurisée.

Conception et implémentation d’une solution de communication par SMS Page 15


Chapitre 2 : Revue de la littérature

Chapitre 2 : REVUE DE LA LITTERATURE

La littérature informatique consacrée à l'évolution des TIC aborde la mise en place d'un
serveur SMS comme moyen technique le plus garanti au sein d'une organisation permettant
l'acheminement fidèle et fiable d'informations entre deux ou plusieurs points quelconques pour
un coût raisonnable.
Dans ce chapitre, sont présentés, les généralités sur les services à valeur ajoutée, le
service SMS au sein du réseau GSM et quelques notions sur les passerelles SMS. Cette partie
de la revue de la littérature est indispensable dans la mesure où le projet consiste à concevoir
une solution basée sur la technologie SMS. Il est donc important de définir au préalable
certaines notions.

1. Le réseau GSM

1.1. Architecture fonctionnelle du réseau GSM

Le GSM, pour Global System for Mobile communications, est une norme cellulaire de
deuxième génération (2G) développée pour répondre à des services vocaux et de transfert de
données en utilisant la modulation numérique.
Même si, pour développer des applications SMS, il n'est pas nécessaire de connaître
l'architecture détaillée de l'infrastructure technique d'un opérateur mobile, il peut néanmoins
être intéressant d'en avoir une idée générale.

Un réseau GSM est constitué de trois sous-systèmes :


• Le sous-système radio : BSS (Base Station Sub-system)
• Le sous-système réseau : NSS (Network and Switching Sub-system)
• Le sous-système d’exploitation : OSS (Operating Support Sub-system)

1.1.1 Le sous-système radio (BSS)


Le sous-système radio assure les transmissions hertziennes et s’occupe de la gestion des
ressources radio. Il est composé de deux principaux éléments :
✓ La BTS, Base Transceiver Station : Une BTS est un ensemble d’émetteurs-récepteurs
appelés TRX, capables d’analyser la qualité de la communication. Elle gère le multiplexage
TDMA, les sauts de fréquence lents, le chiffrement. Elle réalise aussi l’ensemble des mesures
nécessaires pour vérifier si une communication en cours se déroule correctement.

Conception et implémentation d’une solution de communication par SMS Page 16


Chapitre 2 : Revue de la littérature

Elle permet le dialogue avec le mobile sur l'interface Air (aussi appelée interface Radio ou
interface Um).

✓ Le BSC, Base Station Controller : il assure le contrôle d’une ou plusieurs BTS. C’est
l’organe intelligent du BSS. La plupart des fonctions intelligentes de BSS sont implantées à son
niveau, notamment les fonctions de gestion des ressources radioélectriques : l’allocation des
canaux, la gestion de la configuration des canaux, le traitement des mesures et la décision de
handover intra BSC. Le sous-système radio constitue le réseau d’accès de l’opérateur GSM.

1.1.2 Le sous-système réseau (NSS)

Il assure principalement les fonctions de commutation et de routage. C'est donc lui qui
permet l'accès au réseau public RTCP ou RNIS. En plus des fonctions indispensables de
commutation, on y retrouve les fonctions de gestion de la mobilité, de la sécurité et de la
confidentialité qui sont implantées dans la norme GSM. Il comprend :

✓ Le MSC (Mobile services Switching Center) : C'est la partie centrale du NSS. Il prend
en charge l'établissement des communications entre les abonnés GSM. Du fait de la mobilité,
l'implantation de la seule fonction de commutation n'est pas suffisante. Le MSC gère la mobilité
et les fréquences et enregistre la localisation des abonnés visiteurs (base de données VLR). Il
gère l’établissement des communications entre un mobile et un autre situé dans le même MSC
ou un autre MSC, voire un commutateur d’un autre réseau, la transmission des messages courts
et l’exécution des handovers lorsqu’il est impliqué. Il peut posséder une fonction passerelle,
GMSC (Gateway MSC), qui est activée au début de chaque appel d’un fixe vers un mobile.
✓ Le HLR (Home Location Register) est une base de données contenant les informations
relatives aux abonnés (données statiques : numéro d’appel, type abonnement, données
dynamiques : état du terminal, localisation, …). Il contient toutes les informations relatives à
l'abonnement et aux droits d'accès. D'autre part, le HLR est une base de données de localisation.
Il mémorise pour chaque abonné le VLR où il est enregistré.
✓ Le VLR (Visitor Location Register) est une base de données locale. En général il y a un
VLR par commutateur mobile MSC. Il Contient les informations relatives aux abonnés présents
dans la zone associée. Il est mis à jour à chaque changement de cellule d’un abonné. C'est la
base de données qui gère les abonnés présents dans une certaine zone géographique.

Conception et implémentation d’une solution de communication par SMS Page 17


Chapitre 2 : Revue de la littérature

✓ L'AuC (Authentication Center) : Il mémorise pour chaque abonné une clé secrète
utilisée pour authentifier les demandes de services et pour le chiffrement des communications.
Un AuC est en général associé à chaque HLR.
✓ L’EIR (Equipment Identity Register) : C’est une base de données annexe contenant les
identités des terminaux. Un terminal est identifié par un numéro de série dénommé IMEI
(numéro d’identifiant). La base EIR est consultée lors des demandes de services d’un abonné
pour vérifier si le terminal utilisé est autorisé à fonctionner sur le réseau.
Le NSS constitue le réseau cœur du GSM.

1.1.3 Le sous-système d’exploitation (OSS)

Il assure la gestion et la supervision du réseau. C'est la fonction dont l'implémentation


est laissée avec le plus de liberté dans la norme GSM. La supervision du réseau intervient à de
nombreux niveaux tels que la détection de pannes, la mise en service de sites, modification de
paramétrage, réalisation de statistiques.
Dans les OMC (Operation and Maintenance Center), on distingue l'OMC/R (Radio) qui est relié
à toutes les entités du BSS, à travers les BSC, l'OMC/S (System) qui est relié au sous-système
NSS à travers les MSC. Enfin l'OMC/M (Maintenance) contrôle l'OMC/R et l'OMC/S.
La figure ci-dessous présente l’architecture d’un réseau GSM classique.

Figure 1 : Architecture d'un réseau GSM classique

Conception et implémentation d’une solution de communication par SMS Page 18


Chapitre 2 : Revue de la littérature

1.2. Les interfaces de communication

Une interface est le lien entre 2 entités du réseau sur lequel transitent des informations
particulières.
Les interfaces au sein du réseau GSM sont désignées par des lettres de A à H. Ils sont utilisés
pour la transmission du trafic (parole ou données) et pour les informations de signalisation.
Dans le réseau GSM, les données de signalisation sont séparées des données de trafic. Toutes
les liaisons entre les équipements sont des liaisons numériques sauf la liaison entre BTS et MS
qui est une liaison audionumérique.

Tableau 1 : Interfaces de communication dans un réseau GSM4

Nom Localisation Protocole utilisé Utilisation


Um MS – BTS LAPDm Interface radio
Divers (transfert des
Abis BTS – BSC LAPD
communications…)
A BSC – MSC CCITT N°7 Divers (transfert de données)
B MSC – VLR CCITT N°7 Divers (transfert de données)
Interrogation du HLR pour
GMSC – HLR
appels entrants
C CCITT N°7
Interrogation du HLR pour
SM/GMSC- HLR
SMS entrant
Gestion des informations
D VLR – HLR CCITT N°7
d’abonnés et de localisation
MSC – SM/GMSC Transport de messages courts
E CCITT N°7
MSC – MSC Exécution des Handover
Gestion des informations des
G VLR – VLR CCITT N°7
abonnés
Vérification de l’identité du
F MSC – EIR CCITT N°7
terminal
Echange des données
H HLR – AUC CCITT N°7
d’authentification

Les entités du réseau GSM sont reliées entre elles par des interfaces définies par la norme GSM.
La définition porte sur la nature des informations et leur mode de transport. Ce tableau est le
résumé de la localisation de chaque interface, des différents protocoles utilisés sur chacune
d’elles et l’usage que l’on en fait au sein du réseau.

4
Source : https://reseauxtelecom.wordpress.com/2011/11/24/comprendre-le-reseau-gsmpartie-2/

Conception et implémentation d’une solution de communication par SMS Page 19


Chapitre 2 : Revue de la littérature

1.3. Pile des protocoles au sein du réseau GSM

Le réseau GSM est défini à partir de couches de protocoles utilisées au niveau de


différentes interfaces :
✓ Interface Air (entre le MS et la BTS)
✓ Interface Abis (entre la BTS et le BSC)
✓ Interface A (entre le BSC et le MSC)
Les interfaces ainsi que les protocoles qu’elles utilisent sont normalisés.

Figure 2 : Architecture de protocoles GSM

La structuration en couche suit le modèle OSI pour les trois premières couches :

✓ La couche physique : comprend toutes les procédures nécessaires pour le transport des
informations sur le support physique (codage, modulation…)
✓ La couche liaison de données : fiabilise la transmission entre deux entités du réseau
directement connectés entre elles (trame…)
✓ La couche réseau : assure le dialogue entre toutes les entités du réseau via les messages de
signalisation

1.4. Les services d’un réseau GSM

Les services offerts par le réseau GSM sont classés de la façon suivante dans les réseaux
modernes comme le RNIS :

1.4.1 Les services supports


Les services supports ou « bearer services » comprennent l’offre d’une capacité de
transmission entre des interfaces utilisateurs définis : la transmission de donnée en mode circuit
ou paquet ;

Conception et implémentation d’une solution de communication par SMS Page 20


Chapitre 2 : Revue de la littérature

1.4.2 Les téléservices


Les téléservices comportent une offre de communication incluant les terminaux et
éventuellement des applications : la téléphonie, les télécopieurs groupe 3, la messagerie vocale,
l'affichage des messages courts, le vidéotex ;

1.4.3 Les services supplémentaires


Ils regroupent toutes les facilités d’utilisation qui peuvent être offerts en complément
des services précédents : l'identification d'appel, le renvoi d'appels, l'appel en instance, la mise
en garde, l'appel entre plusieurs abonnés, le groupe fermé d'abonnés, les services liés à la
taxation, la signalisation d'abonnés à abonnés, la restriction d'appels.

1.4.4 Les services à valeur ajoutée (SVA)


Les Services à Valeur Ajoutée (SVA), en anglais VAS (Value-Added Service), sont des
services TIC supplémentaires qui viennent s'ajouter aux services de base (Appel, SMS et Fax)
faisant appel à une facturation particulière. Il répond ainsi à des besoins à valeur ajoutée pour
le client comme le fournisseur.
Ces services sont produits par des applications qui sont les interfaces entre l'utilisateur
et le fournisseur. L'utilisateur a besoin de téléphones, tablettes ou PC comme équipements pour
dialoguer avec ces interfaces.
Les services à valeur ajoutée sont fournis par l'opérateur lui-même ou par un prestataire
ou encore un fournisseur de SVA (VASP, Value-Added Service Provider), ou de Contenus (CP,
Content Provider).
Bien qu'il soit un peu compliqué, nous allons essayer de classifier les services à valeur
ajoutée, vu toute la panoplie qu'il y en a de nos jours.
Du fait qu'ils répondent de plus en plus aux besoins utilitaires, les VAS font la pluie et le beau
temps grâce aux avancées des TIC.
En se basant sur les services basiques et Data, on peut retrouver trois types de VAS :

1.4.4.1 Les services vocaux


Ils sont basés sur la voix. Nous pouvons citer les services clientèle, de support,
d'informations, concours ou interviews en ligne, services réservés aux adultes, divertissements,
jeux, radio, horloge, conférence téléphonique, service de sécurité ...

Conception et implémentation d’une solution de communication par SMS Page 21


Chapitre 2 : Revue de la littérature

1.4.4.2 Les SVA par SMS, MMS et USSD


Ils permettent d'avoir accès à des informations et des données appelées contenus.
L'utilisateur peut y accéder instantanément ou télécharger ces données.
Notons les services de Météo, finances, sport, actualités, sonneries, logos, horoscopes, jeux,
Tchat, Mails (Google SMS), réseaux sociaux (Facebook, Twitter, Google+, ...), Job Alert,
élections et votes, quiz, loteries (ex. : Lonacell5), services bancaires (SMS Banking et USSD
Banking ; ex. : BHCell6)

1.4.4.3 Les SVA par Wap et Internet


Ils permettent d’accéder aux services et contenus par le biais de la data. On peut citer les
services de vidéosurveillance, vidéoconférence, Mails, gestion à distance, Domotique, e-
Learning, e-Banking, e-Business, e-Voting, Cloud Computing, Styles de vie, sondages, Skype,
Médias ...

2. Le service SMS

Le service de messagerie SMS, plus connu sous le sigle de SMS (pour « Short Message
Service ») permet de transmettre des messages courts textuels7. C'est l'un des services de la
téléphonie mobile. Il a été introduit par la norme GSM. Les messages courts sont des messages
textuels d'au plus 160 caractères (codés à l'aide d'ASCII 7 bits sur 140 octets) mais peut être
quadruplée par concaténation et sont délivrés en quelques secondes lorsque le destinataire est
rattaché au réseau même lorsque ce destinataire est en communication.

2.1 Les passerelles SMS

Prise au sens large, une passerelle est un outil permettant de passer d’un système à un
autre. Au sens strict du terme, une passerelle est un dispositif destiné à connecter des systèmes
de téléinformatiques ayant des architectures différentes, des protocoles différents, ou offrant
des services différents. La passerelle doit alors dépouiller la trame des informations spécifiques
aux protocoles émetteurs et les remplacer par leurs équivalents dans les protocoles récepteurs.

5
Portail dédié aux jeux de la LONACI à partir du téléphone mobile sur les réseaux Moov et MTN.
6
Pour recevoir des informations sur votre compte bancaire partout (Produit de la BHCI)
7
https://fr.wikipedia.org/wiki/Short_Message_Service

Conception et implémentation d’une solution de communication par SMS Page 22


Chapitre 2 : Revue de la littérature

2.2 La technologie web to SMS


Le SMS est défini pour l'envoi d'un message court d'un mobile à un autre. Depuis une
dizaine d'années, il existe également la possibilité d'envoi de SMS à partir d'un PC connecté.
On parle alors de « web to SMS ». Ce type de message est souvent pour les usages de marketing
et de promotion. Il permet l'envoi de SMS vers un grand nombre de destinataires.
La technologie web to SMS comme son nom l’indique permet d’envoyer et recevoir des
messages via une interface web à des téléphones portables sous forme de SMS. On lui donne
souvent le nom de Service à Valeur Ajoutée (SVA).
La mise en place de ce service nécessite une interconnexion entre les systèmes GSM et
informatique, ce qui impose le déploiement d’une passerelle SMS.

3. Le service SMS au sein du GSM

3.1 Présentation

Le SMS pour Short Message Service est le service de message court offert par le réseau
GSM permettant d’envoyer et de recevoir un message textuel d’au plus de 160 caractères à
partir d’un téléphone mobile. Ces messages émis et reçus sont véhiculés par le réseau de
signalisation sémaphore N°7 (SS7). Ils sont soit transmis directement au terminal destinataire
du message (si celui-ci est allumé), soient stockés dans le serveur de messages courts SMSC,
(pour SMS Center) par lequel ils transitent.
Les messages courts ne circulent pas dans les mêmes canaux logiques que la voix ou les
données si bien qu'il est possible pour un utilisateur en communication téléphonique (avec un
autre correspondant) de recevoir des messages courts simultanément8.

8
www.efort.com/map_efort

Conception et implémentation d’une solution de communication par SMS Page 23


Chapitre 2 : Revue de la littérature

Figure 3 : Architecture d'un réseau GSM implémentant le service SMS

3.2 Architecture en couches


Les couches physiques, liaison de données et réseau sont celles du réseau sémaphore
numéro 7 (SS7) c'est-à-dire que les SM sont transmis sur le canal sémaphore du réseau GSM.
Par contre les couches transport et application sont spécifiques au SMS (voir figure 4) :
✓ La couche transport SM-TL (Short Message Transport Layer) assure une transmission
fiable et de bout en bout des SM entre le terminal mobile et le serveur SMSC.
✓ La couche application SM-AL (Short Message Application Layer) génère et interprète
les SM de bout en bout entre le terminal mobile et le SME relié au serveur SMSC.

Protocole de la couche application SM-AL

Protocole de la couche transport SM-TL

Le BSS n’est pas représenté sur ce dessin

Figure 4 : Protocoles des couches transport et application relatifs au SMS

Conception et implémentation d’une solution de communication par SMS Page 24


Chapitre 2 : Revue de la littérature

3.3 Format d’un message court


Un message court est composé d'au plus 160 caractères codés par de l'ASCII 7 bits, issus
de la couche applicative SM-AL. Son format est défini par la recommandation ETSI 3.40 du
GSM et un en-tête doit être ajouté pour préciser l'adresse de destination du message court. La
couche SM-TL pourra alors le transporter. Le format d'un message court est présenté par la
figure 5.

Figure 5 : Format d'un message court

La norme autorise la concaténation de plusieurs messages courts. Pour un seul message


transmis, la longueur des données sera de 135 octets correspondants à l'en-tête + adresse du
port applicatif + données utilisateur.
Avec 2 messages concaténés, les longueurs des données utiles sont de 260 octets correspondants
à l'en-tête + @port + info. de concaténation + données utilisateur + en-tête + @port +info de
concaténation+ données utilisateur…

3.4 Les classes de SMS

Un SMS reçu sur le mobile est traité de manière différente suivant sa classe. La classe
est définie dans le SMS Data Coding Scheme (DCS - Voir norme 3GPP 23.038) :
✓ Classe 0 (flash SMS) : le message est directement affiché à l’utilisateur sur l’écran du
mobile à la réception. Un rapport est envoyé ensuite au centre de service. Le message n’est
enregistré ni dans la mémoire du téléphone ni dans la carte SIM. Il est effacé dès que l’utilisateur
a validé la visualisation.
✓ Classe 1 : le message est enregistré dans la mémoire du téléphone et si cette mémoire
est pleine, dans la carte SIM par défaut. Ainsi un message reçu de type WAP Push pour
configurer un mobile par exemple est de classe 1.

Conception et implémentation d’une solution de communication par SMS Page 25


Chapitre 2 : Revue de la littérature

✓ Classe 2 : le message est enregistré sur la carte USIM. Un accusé de réception est
envoyé au centre de service une fois que le message a bien été transféré sur l’USIM.
✓ Classe 3 : le message est transféré sur un équipement externe connecté au mobile (PDA,
PC portable…). Dans notre cas les messages sont de classe 3.

3.5 Les principaux protocoles de communication SMS

3.5.1 Le protocole MAP9

Le protocole MAP (Mobile Application Part) régit l’ensemble des échanges entre
équipements du réseau mobile (NSS, Network and Switching Subsystem). Il offre les fonctions
de signalisation nécessaires à un service de communication voix ou données dans un réseau
mobile. Il s’appuie sur la pile de protocole SS7 qui garantit un transport fiable. Le protocole
MAP concerne les dialogues entre différentes entités du réseau mobile notamment, MSC/VLR,
MSC Server, SGSN, HLR, EIR, SMSC, etc. Le service SMS s'appuie sur le protocole MAP.
MAP permet le transport du SMS du MSC de l'émetteur au SMSC, l'interrogation du SMSC au
HLR pour identifier le MSC du destinataire, puis le transport du SMS du SMSC au MSC du
destinataire.
Les messages MAP relatifs au service SMS sont :

✓ MAP-SEND-ROUTING-INFO-FOR-SMS: Ce service est utilisé entre le SMSC et le


HLR afin que le SMSC obtienne l’information de routage lui permettant d’acheminer le
message court au MSC, MSC Server ou SGSN auquel est rattaché le destinataire.
✓ MAP-MT-FORWARD-SHORT-MESSAGE : Ce service est utilisé entre le SMSC et
le MSC, MSC Server ou SGSN afin de délivrer le message court.
✓ MAP-REPORT-SM-DELIVERY-STATUS : Ce service est utilisé entre le SMSC et
le HLR. Il permet de positionner les données MWD (Message Waiting Data) dans le HLR
lorsque le message n’a pas pu être délivré au destinataire ou d’informer le HLR du transfert
avec succès du SMS. Ce service est invoqué par le SMSC.
✓ MAP-READY-FOR-SM : Ce service est utilisé entre le VLR et le HLR ou entre le
SGSN et le HLR. Le VLR ou le SGSN utilise le service soit parce que le mobile a de nouveau
une mémoire disponible pour recevoir des SMS soit parce que le mobile a de nouveau un
contact radio avec le MSC ou SGSN alors que le fanion Message Waiting est positionné au
niveau du VLR ou du SGSN.

9
www.efort.com/map_efort

Conception et implémentation d’une solution de communication par SMS Page 26


Chapitre 2 : Revue de la littérature

✓ MAP-ALERT-SERVICE-CENTRE : Ce service est utilisé entre le HLR et le SMSC.


Le HLR initie ce service si le HLR détecte qu’un usager, dont le MSISDN est dans le fichier
Message Waiting Data, est de nouveau joignable ou si le mobile a de nouveau de la mémoire
disponible pour recevoir le SMS.
✓ MAP-INFORM-SERVICE-CENTRE : Ce service est utilisé entre le HLR et le SMSC
afin que le HLR informe le SMSC que son adresse SS7 est stockée dans le fichier Message
Waiting Data.

3.5.2 Le protocole SMPP


Les protocoles les plus utilisés pour la communication entre les serveurs et les SMSC
dans un réseau TCP/IP sont SMPP et EMI. On peut trouver d’autres protocoles utilisés par un
SMSC mais nous ne rentrerons pas dans les détails, nous allons nous limiter au protocole SMPP
qui est le plus utilisé par les opérateurs téléphoniques.
Le protocole SMPP (Short Message Peer to Peer) est un protocole de niveau 7 conçu
pour fournir une interface flexible de transmission des messages courts entre le SMSC (Centre
de service de messages courts) et un système SMS d'application comme un serveur WAP Proxy
Server, Email Gateway ou autre type de Message Gateway.
En employant le protocole SMPP, un système d'application SMS appelé « External Short
Message Entity » ou ESME, peut amorcer une connexion sur la couche application avec un
SMSC sur une connexion TCP/IP ou X.25 et peut permettre l'envoi et la réception de SMS
depuis et vers un SMSC.

ESMEs SMPP

SMPP
SMSC

Figure 6 : Le contexte du protocole SMPP

Le protocole SMPP est basé sur l'échange de requêtes et réponses PDU (Protocol Data Unit)
entre l’ESME et le SMSC sur un réseau TCP/IP sous-jacent ou une connexion réseau X.25. Les
messages échangés entre un ESME et un SMSC via SMPP sont de 3 types :

Conception et implémentation d’une solution de communication par SMS Page 27


Chapitre 2 : Revue de la littérature

✓ ESME Transceiver : Message envoyé de l'ESME (Emission) au SMSC et du SMSC à


l'ESME (Réception).
✓ ESME Transmitter : Message envoyé de l'ESME (Emission) au SMSC.
✓ ESME Receiver : Message envoyé du SMSC à l'ESME (Réception).

SMSC
ESME
Transmitter

ESME

Receiver

ESME

Figure 7 : Types de messages SMPP

Le schéma de fonctionnement typique d’une application ESME est le suivant : l’application se


connecte sur le SMSC et les échanges de paquets SMPP (Packet Data Unit) peuvent commencer
dans un sens comme dans l’autre. Les paquets TCP entre le ESME et le SMSC sont appelés
PDU (Protocol Data Unit). Les types suivant de PDU sont utilisés dans les connexions SMPP.
✓ Session Management PDU : s’occupe de la connexion, du maintien et de la
déconnexion d’une session
✓ Message Submission PDU : envoi des messages vers un téléphone mobile
✓ Message Deliver PDU : s’occupe de la livraison des messages au client SMPP (ESME)
✓ Ancillary Operation PDU : requête d’annulation et de remplacement des messages.
Lors des échanges SMPP, un système ID pour l’authentification et l’identification est utilisé
pour la connexion entre un client ESME et SMSC :
✓ Submit_sm: utiliser pour l’envoi des messages à partir du client vers le SMSC (MT). Ce
paquet contient les informations concernant l’expéditeur, le destinataire et le corps du message.
✓ Deliver_sm : ce paquet est utilisé lors de la livraison d’un message au client (MO). Il
contient les informations sur l’expéditeur du message et le corps du message.
✓ Query_sm : ce paquet est utile pour les rapports de livraisons.
✓ Enquire_link : vérifie l’état de la connexion d’une session.
✓ Unbind : utilisé pour mettre fin à une session et déconnecter la connexion TCP/IP.

Conception et implémentation d’une solution de communication par SMS Page 28


Chapitre 2 : Revue de la littérature

3.5.3 Description d’une session SMPP

Une session SMPP entre un SMSC et un ESME est initiée par l'ESME qui établit en
premier une connexion réseau avec le SMSC et ensuite édite une requête de connexion SMPP
pour ouvrir une session SMPP. La session SMPP peut être définie par ces différents états :
✓ OPEN : un ESME a établi une connexion avec le SMSC mais n'a pas encore publié sa
requête.
✓ BOUND_TX : un ESME connecté a fait une demande de connexion (ESME
Transmitter) en publiant un bind_transmitter et reçoit une réponse de la part du SMSC qui
autorise sa requête de connexion. Un ESME relié comme un Transmitter peut envoyer des SM
à un SMSC qui ensuite vont être envoyés à un portable ou un autre ESME.
✓ BOUND_RX : un ESME connecté fait une demande de connexion (ESME Receiver)
en publiant un bind_receiver et reçoit une réponse de la part du SMSC qui autorise sa requête
de connexion. Un ESME relié comme un Receiver peut recevoir des SMS d'un SMSC (l'origine
d'envoi de message peut être un portable, un autre ESME ou SMSC).
✓ BOUND_TRX : un ESME connecté fait une demande de connexion comme un ESME
Transceiver en publiant un bind_transceiver et reçoit une réponse de la part du SMSC qui
autorise sa requête de connexion. Un ESME relié comme un Transceiver supporte toutes les
opérations supportées par un ESME Transmitter et un ESME Receiver. Un ESME connecté
comme transceiver peut envoyer des SMS vers un SMSC. Les SMS sont ensuite envoyés vers
un portable ou vers un autre ESME. Également, dans ce cas, l'ESME peut recevoir un SMS
provenant d'un portable, d'un autre ESME ou du SMSC lui-même.
✓ CLOSED : L'ESME est déconnecté du SMSC et la connexion réseau est fermée. Le
SMSC est alors déconnecté de l'ESME.
Un exemple de session SMPP de type transceiver est présenté sur la figure ci-dessous.

Conception et implémentation d’une solution de communication par SMS Page 29


Chapitre 2 : Revue de la littérature

ESME SMSC

bind_transceiver (1)

bind_transceiver_resp (1)

data_sm (1)

data_sm_resp (1)

data_sm (2)

data_sm_resp (2)

data_sm (3)

data_sm (2)

data_sm_resp (3)

data_sm_resp (2)

unbind (4)

unbind_resp (4)

Figure 8 : Exemple d'une session SMPP de type ESME Transceiver

3.6 Entités de base du service SMS


La figure 8 présente les entités de base du service SMS.

Figure 9 : Les entités de base du service SMS

✓ Gateway MSC For Short Message Service (SMS-GMSC) : Il s’agit d’une fonction
capable d’une part de recevoir un message court d’une entité SMSC et d’interroger le HLR afin
de déterminer la localisation de la station mobile destinataire et d’autre part de délivrer le message
court au MSC auquel est rattachée cette station mobile destinataire. Ce MSC de rattachement est
aussi appelé VMSC (Visited MSC).
✓ Interworking MSC For Short Message Service (SMS-IWMSC) : Il s’agit d’une fonction
capable de recevoir un message court d’un MSC et de le soumettre à un autre SMSC.
✓ Short Message Service Centre (SMSC) : Cette fonction est responsable du stockage et
relayage d’un message court.
✓ Short Message Entity (SME ou encore ESME) est une entité extérieure au réseau GSM
pouvant émettre et recevoir des messages courts. Il s‘agit d’un serveur spécialisé ou d’un micro-

Conception et implémentation d’une solution de communication par SMS Page 30


Chapitre 2 : Revue de la littérature

ordinateur. Le SMSC comporte une interface coté réseau GSM reposant sur le protocole de
signalisation MAP et une interface coté ESME utilisant le protocole SMPP. Les messages MAP
sont transportés par le réseau SS7.

3.7 Fonctionnement du service SMS

Le service SMS nécessite la mise en place d'un ou plusieurs serveurs spécifiques dans
le réseau : le SMSC ou SC.

3.7.1 Présentation du SMSC


Le SMSC pour Short Message Service Center ou centre de service des messages courts
permet de gérer le transfert de messages (SMS) entre téléphones mobiles. Il assure le stockage
des SM (Short Message) dans les bases de données, la distribution aux terminaux mobiles
destinataires et le traitement des dates de validité des SM. Dès que le terminal mobile se
manifeste, le réseau avertit le SMSC qui peut délivrer le message au destinataire avec succès.
Le SMSC est repéré par un numéro de téléphone. Le dialogue entre le SMSC et le
terminal mobile se fait à travers le MSC. Pour l'acheminement d'un SM vers un terminal mobile
destinataire, une passerelle est nécessaire : la SMS-GMSC (SMS-Gateway-MSC). Celle-ci
route le SM vers le MSC visité (VMSC pour Visited MSC) en interrogeant le HLR. Un SM
issu d'un terminal mobile est routé vers le SMSC du MSC associé à ce terminal mobile puis
vers le MSC associé au SMSC encore appelé SMS-IW-MSC (SMS-InterWorking-MSC).
Les protocoles les plus utilisés pour la communication entre serveurs et SMSC en
TCP/IP sont : SMPP (Short Message Peer to Peer) et CMG EMI (il y a aussi Nokia CIMD,
Sema, CMPP).

3.7.2 Architecture d’un SMSC


Le SMSC peut être relié à différentes entités externes. Il est relié au réseau mobile à
travers l’interface de l’unité de signalisation (Signaling Interface Unit, SIU) où est implémenté
le GMSC. Les protocoles les plus utilisés pour se connecter à l’entité externe des messages
courts (External Short Messaging Entity, ESME) sont :
- SMPP (Short Message Peer to Peer)
- EMI (External Machine Interface)
Le SMSC se relie également aux systèmes suivants :
- Système de facturation.
- Systèmes d’opération, d’administration et de maintenance (OAM).
- Système prépayé.

Conception et implémentation d’une solution de communication par SMS Page 31


Chapitre 2 : Revue de la littérature

Figure 10 : Le contexte SMSC

3.7.2.1 Le logiciel
Le logiciel du SMSC est constitué :
- D’un Système d’exploitation. Il peut être Solaris ou Linux.
- D’une base de données spécifique avec son serveur. Elle peut être de type Informix ou
MySQL.
- De l’application SMSC.

Le logiciel du SIU est constitué :


- D’un système d’exploitation.
- D’un protocole GSM ou IS-41 MAP et le logiciel du protocole SS7.

3.7.2.2 Les interfaces


3.7.2.2.1 L’interface de l’unité de signalisation (SIU)

Le SMSC communique avec le reste du réseau mobile en utilisant le protocole GSM ou


IS-41 « Mobile Application Part » (MAP) à travers le SS7. Il peut communiquer directement
avec les centres de commutation mobile (MSC) et le « Home Location Register » (HLR) afin
d'envoyer et de recevoir les messages courts aux appareils mobiles.
Il peut également communiquer avec ces éléments par le Signaling Transfer Points (STP).

Conception et implémentation d’une solution de communication par SMS Page 32


Chapitre 2 : Revue de la littérature

3.7.2.2.2 Le système OAM

Il est formé d’un certain nombre d’interfaces qui fonctionnent avec le système
d'opération, d'administration, et de maintenance (OAM). Elles permettent à un opérateur de
lancer, configurer, et surveiller le SMSC en service dans un réseau réel.

3.7.2.2.3 Le système de facturation

Le SMSC fournit une interface de facturation qui aide l'opérateur à charger ses abonnés
pour l'utilisation du service de message court.

3.7.2.2.4 Les entités externes de messages courts (ESME)

Les interfaces ESME permettent à des applications externes non mobiles de se connecter
au SMSC. Les opérateurs et les fournisseurs de services utilisent les connections de l’entité
externe des messages courts pour fournir aux abonnés mobiles une variété de services, tels
qu'envoyer des mises à jour de nouvelles, des e-mails de notification, des logos, des sonneries,
etc. Chaque interface utilise un émetteur pour transmettre des messages et un récepteur pour
recevoir des messages du SMSC. Tous les deux peuvent être sur la même connexion
(transceiver) ou chacun utilise une connexion différente (émetteur et/ou récepteur).

✓ Le récepteur
Le récepteur manipule tout le trafic des messages venant du SMSC vers l’ESME.

Figure 11 : Interface récepteur ESME

✓ L’émetteur
Le serveur émetteur ESME reçoit tous les messages à diffuser du client ESME et les envoie au
SMSC.

Conception et implémentation d’une solution de communication par SMS Page 33


Chapitre 2 : Revue de la littérature

Figure 12 : Interface émetteur ESME

Selon une étude faite par Atique Ahmed Khan10, il y a 3 manières de développer une application
SMS (ESME) en général. (Voir Annexe 1)

3.7.3 Procédure d’acheminement des SMS au sein du réseau


Les procédures de transfert de messages courts sont similaires à celles relatives à
l’établissement d’appels téléphoniques, à ceci près qu'aucun circuit de parole n’est réservé. La
transmission du message court est prise en charge par le réseau SS7.
L'abonné souhaitant envoyer un message court doit indiquer l'adresse du destinataire
final (SME) et l'adresse du serveur SMSC. L'entité de transport du terminal mobile code alors
le SM sous forme d'un bloc de 140 octets au plus et y ajoute l'adresse du destinataire. L'adresse
du serveur SMSC est ajoutée lors de l'encapsulation par les couches inférieures. Le SMSC reçoit
alors le SM et le transmet au SME destinataire dès qu'il le peut.
Lorsque le SME souhaite envoyer un SM vers un terminal mobile, il doit indiquer le
MISDN du mobile au SMSC. Le SMSC ajoute alors au SM la date de réception du message, et
l'adresse du SME source.
L'ensemble est alors transmis à la passerelle SMS-GMSC qui interroge le HLR pour localiser
le terminal mobile.
Le HLR retourne alors à la passerelle l'adresse du VMSC sur lequel le terminal mobile
est localisé. Notons que la transmission d'un SM peut avoir lieu lorsque le terminal mobile est
en communication ou en veille (pas lorsqu'il est éteint).
Lorsqu’un message court est envoyé, il se décompose en deux parties. Le SMS émis du mobile
vers le SMSC est appelé SM-MO et le SMS émis du SMSC vers le mobile destinataire est
appelé SM-MT.

10
Initiateur du projet SCADA : Supervisory Control And Data Acquisition. SCADA désigne une catégorie de
logiciels destinés au contrôle de processus et à la collecte de données en temps réel auprès de sites distants, en
vue de contrôler des équipements et des conditions d'exploitation.

Conception et implémentation d’une solution de communication par SMS Page 34


Chapitre 2 : Revue de la littérature

✓ Message court d’origine mobile, envoyé vers le SMSC. (SM-MO)


SM-MO dénote la capacité du réseau GSM à transférer un message court soumis par la station
mobile (MS, Mobile station) à une autre station mobile ou à un SME via un SMSC, et celle de
fournir un rapport de livraison indiquant la bonne livraison ou toute erreur ayant pu survenir
(Figure 13).

Figure 13 : Service de base SM-MO

✓ Message court, envoyé par le SMSC vers un destinataire mobile (SM-MT)


SM-MT dénote la capacité du réseau GSM à transférer un message court soumis par le SMSC
à une station mobile et celle de fournir un rapport de livraison indiquant la bonne livraison ou
toute erreur ayant pu survenir. Dans ce dernier cas, un mécanisme pour la livraison ultérieure
du message court est prévu (Figure 14).

Figure 14 : Service de base SM-MT

3.7.3.1 Transmission des SM-MO

Le mobile d’origine écrit le SMS et l’envoie vers le mobile destinataire. Le GMSC reçoit
le message envoyé et le transmet au SMSC. Celui-ci enregistre le SMS dans sa base de données
pour l’envoyer après au mobile destinataire. Un acquittement sera créé pour informer le mobile
d’origine que le message est reçu par le SMSC. Si le MO ne reçoit l’acquittement avant six
secondes, le mobile affiche une erreur de transmission par défaut.

Conception et implémentation d’une solution de communication par SMS Page 35


Chapitre 2 : Revue de la littérature

Figure 15 : Envoi d'un message court d'origine mobile vers le SMSC

Les détails des transactions sont présentés en annexe (Voir annexe 5 section A).

3.7.3.2 Transmission des SM-MT

Le SMSC, ayant stocké le message reçu dans sa base de données, commence l’opération
de transmission vers le destinataire. Ici 3 cas de figure peuvent se présenter.

3.7.3.2.1 Mobile rattaché au réseau


Le SMSC envoie le message vers le GMSC, qui, à son tour, l’envoie vers le mobile
destinataire à travers les canaux de signalisation. Alors le mobile récepteur envoie un
acquittement vers le SMSC pour confirmer qu’il a bien reçu le message. Ayant reçu
l’acquittement, le SMSC efface le message de sa base de données pour laisser la place aux
autres SMS.

Figure 16 : Envoi d'un SM-MT (mobile rattaché au réseau)


Les détails des transactions sont présentés en annexe (Voir annexe 5 section B).

Conception et implémentation d’une solution de communication par SMS Page 36


Chapitre 2 : Revue de la littérature

3.7.3.2.2 Mobile non rattaché au réseau


La requête de paging n’a pas eu de réponse, ce qui indique que le mobile n’est pas
présent sur le réseau. Le VMSC envoie alors un acquittement de non remise du SM au SMS-
GMSC, qui, à son tour envoie un rapport au HLR et au SMSC

Figure 17 : Envoi d'un SM-MT (mobile non rattaché au réseau)

3.7.3.2.3 Le mobile revient sur le réseau


Le mobile est de nouveau rattaché au réseau et effectue une mise à jour de localisation.
Le HLR voit un flag de non remise d’un SMS. Le VMSC lui indique que le mobile est prêt à
recevoir un SMS. Le HLR envoie une alerte au SMSC, qui transfère ensuite le SMS au mobile.

Figure 18 : Envoi d'un SM-MT (le mobile revient sur réseau)

Conception et implémentation d’une solution de communication par SMS Page 37


Chapitre 2 : Revue de la littérature

3.7.4 Mécanisme de suivi et acquittement

Il est possible de demander à être informé de la remise correcte ou de la non-remise d’un


SMS par un mécanisme d’acquittements. Le réseau peut ainsi délivrer des acquittements
permettant de suivre le cheminement du SMS expédié :
- Acquittement de réception par le réseau : message en transit.
- Acquittement de remise au destinataire : message reçu par le mobile destinataire.
- Avis d’erreur lorsque le SMS n’a pu être transmis au destinataire lors d’un essai du
réseau : message en erreur, sera réexpédié.
- Avis de non remise définitif à la fin du cycle de tentatives d’expédition ou à
l’expiration de la durée de vie du SMS : message non remis.

3.7.5 Mécanisme des transactions

Le SMSC contient plusieurs processus et des dizaines de files d’attente qui entrent en
jeu lors de la transmission de chaque message au destinataire. Lorsqu’on envoie un message
vers le mobile destinataire, le message subit l’une des transactions suivantes : MO-MT, MO-
MO_ack, MT– MT_ack
✓ MO-MT : Le message envoyé du MO vers MT subit consécutivement les actions
suivantes :
1. Le mobile envoie le message court vers le GMSC.
2. Le GMSC capte le message et l’envoie vers le SMSC.
3. Le « SMSC RX Process » reçoit le SMS et le stocke dans la première file d’attente « RX
MO Queue ».
4. Le message attend son tour dans la queue des messages reçus. La discipline de service de
cette file d’attente est FIFO, c'est-à-dire les messages accèdent au service dans l’ordre de leurs
arrivées.
5. Le « SMSC RX MO Process » lit le SM de sa queue, l’analyse et le remet dans une deuxième
file d’attente « Messages Queue »
6. Il attend son tour de nouveau dans cette dernière file où la discipline est toujours FIFO.
7. Le processus principal « SMSC Main Process » lit le SM, le décompose de nouveau pour
le mettre après dans une dernière file d’attente « TX Queue ».
8. Stocké dans la dernière file d’attente, le message subit une attente finale dans la queue
d’émetteur.

Conception et implémentation d’une solution de communication par SMS Page 38


Chapitre 2 : Revue de la littérature

9. L’émetteur prend le message de sa queue et l’envoie vers le GMSC. L’émetteur est muni
d’un régulateur configurable de trafic qui peut régler le nombre des messages envoyés vers le
GMSC.
10. Ce dernier utilise les canaux de signalisation de nouveau pour délivrer le message au
destinataire. Durant tout son trajet, le SMS subit 3 attentes consécutives dans 3 types de files
d’attente dans le SMSC : RX MO Queue, Messages Queue et TX Queue.

Figure 19: Processus d'envoi d'un message court d'un MO vers un MT (envoi réussi)

✓ MO – MO_ack
Comme déjà expliqué, le mobile d’origine doit obligatoirement recevoir un acquittement de son
message durant un temps bien déterminé pour ne pas afficher une erreur de transmission. Les
actions suivantes seront concernées par ce type de transaction.
1. Le mobile envoie le message court vers le GMSC.
2. Le GMSC capte le message et l’envoie vers le SMSC.
3. Le « SMSC RX Process » reçoit le SM et le stocke dans la première file d’attente
« RX MO Queue ».
4. Le message attend son tour dans la file d’attente des messages reçus. La discipline de
service de cette file d’attente est FIFO, c'est-à-dire les messages accèdent au service dans l’ordre
de leurs arrivées.
5. Le « SMSC RX MO Process » lit le SMS de sa file d’attente, l’analyse et le remet
dans une deuxième file d’attente spécifique pour les acquittements « MO Ack Queue »
6. L’acquittement attend son tour dans cette dernière file où la discipline est toujours
FIFO.
7. L’émetteur prend le message de sa file d’attente et l’envoie vers le GMSC.

Conception et implémentation d’une solution de communication par SMS Page 39


Chapitre 2 : Revue de la littérature

8. Le GMSC, à son tour, l’envoie vers le mobile d’origine.


Dans ce cas, le message passe par 2 files d’attente : RX MO Queue et MO_ack Queue.

✓ MT – MT_ack
Le SMSC doit recevoir un acquittement de la part du mobile destinataire (MT) pour pouvoir
effacer le message de sa base de données et laisser par la suite de la place pour d’autres
messages. Les actions suivantes seront le sujet de ce type de messages.
1. Ayant reçu le message, le destinataire crée l’acquittement MT-ack et l’envoie vers le
GMSC.
2. Le GMSC capte le message et l’envoie vers le SMSC.
3. Le « SMSC RX Process » reçoit le SM et le stocke dans la seule file d’attente pour
ce type de message « RX MT Queue ».
4. L’acquittement attend son tour dans cette file où la discipline de service est FIFO.
5. Et Finalement, le « SMSC RX MT Process » le prend, le vérifie et efface le SMS
correspondant de sa base de données.
L’acquittement MT_ack passe par une seule file d’attente qui est la « RX MT Queue ».
L’analyse de ce type de message est très importante afin d’améliorer la performance du SMSC,
car le SMS ne sera jamais effacé de la base de données avant la réception du MT-ack. Par suite
le système ne peut pas le remplacer par un nouveau message.

4. Les passerelles SMS


Le SMSC communique avec le reste du réseau mobile à travers une passerelle MSC
(GMSC ou IWMSC). On note aussi la présence de passerelles SMS-IP, pour l’interaction avec
des applications TCP/IP ou d'autres SMSC.
Le souci de repousser les limites imposées par les infrastructures existantes a conduit à
vulgariser l'interconnexion de réseaux téléinformatiques. Pour ce faire, il est toujours nécessaire
de déterminer si les systèmes concernés sont homogènes ou au contraire hétérogènes afin de
mieux s'orienter en matière d’outils à choisir pour l’interconnexion. Ces équipements peuvent
être par exemple des ponts, des routeurs, des passerelles, etc. A titre d'exemple, dans le cas de
réseaux de niveau au-delà de 3, le raccordement par une passerelle est mieux indiqué.

Conception et implémentation d’une solution de communication par SMS Page 40


Chapitre 2 : Revue de la littérature

4.1 Notion de passerelle

Pris au sens large, une passerelle est un outil permettant de passer d'un système à un
autre. Au sein d'un réseau TCP/IP, un réseau local peut accéder à Internet par l'intermédiaire
d'une passerelle.
Au sens strict du terme, une passerelle est un dispositif destiné à connecter des systèmes
téléinformatiques ayant des architectures différentes ou des protocoles différents, ou offrant des
services différents. Elle peut interconnecter des réseaux à partir du niveau physique ; toutefois,
elle ne doit donc pas être confondue à un répéteur (couche 1 du modèle OSI), un pont (couche
2 du modèle OSI) ou un routeur (couche 3 du modèle OSI), bien qu'elle puisse jouer leur rôle.
Nous avons choisi de représenter à travers la figure 20, le niveau en terme du modèle OSI,
auquel peut fonctionner une passerelle SMS.

Figure 20 : La passerelle vue par rapport au modèle OSI

4.2 Aperçu de quelques passerelles SMS

L’une des difficultés majeures de la messagerie SMS réside dans le fait que les SMSC
développés par des sociétés différentes utilisent leur propre protocole de communication, qui
est pour la plupart, propriétaire. Par exemple, un SMSC de type NOKIA offrant une interface
gérée par le protocole CIMD ne saurait échanger directement avec un SMSC d'un autre vendeur
dont l'interface est gérée par le protocole EMI.
Pour résoudre ce problème, une passerelle SMS est placée entre deux SMSCs comme
l'illustre la figure 21. En effet, la passerelle SMS agit comme un convertisseur de protocoles
entre non seulement des SMSCs, mais aussi avec des dispositifs du protocole TCP/IP. Cette

Conception et implémentation d’une solution de communication par SMS Page 41


Chapitre 2 : Revue de la littérature

voie peut être utilisée par deux opérateurs de téléphonie mobile différents pour connecter leurs
SMSC afin de permettre l'échange inter-opérateur du service de messagerie SMS.

Protocole 1 Protocole 2

SMSC 1 Passerelle SMS SMSC 2


Figure 21 : Passerelle SMS entre deux SMSC

Une passerelle SMS est donc indispensable dans un système de messagerie SMS. Ainsi,
le logiciel de passerelle SMS est un logiciel complexe et bien évidemment cher.
Il existe une multitude de passerelles SMS dont certaines sont propriétaires (Alligata, Ozeki
SMS, Wapme, Jataayu SMS gateway.), tandis que d'autres sont Open Source et gratuits
(Kannel, Gammu, JasminSMS, SMS server Tools ...).

Kannel11 est une passerelle SMS et WAP Open Source. Elle supporte les protocoles des
SMSC standard : UCP/EMI, SMPP, HTTP, CIMD. Kannel fournit un ensemble d'API lui
permettant d'être utilisé comme front end à des middlewares ou applications Web nécessitant
des sorties WAP ou SMS. Intégré comme brique d'infrastructure, il sécurise l'accès aux
ressources des opérateurs tout en fournissant un support SMS et WAP fiable et robuste et
permet également de manipuler une centaine de message par seconde.

Jasmin SMS Gateway12 est une passerelle SMS Open Source qui possède de
nombreuses fonctionnalités de classe entreprise. Jasmin est conçu pour être facilement
personnalisé pour répondre aux besoins spécifiques de l'échange de messagerie entreprise en
pleine croissance.
La livraison de message SMS peut être faite par les protocoles HTTP et SMPP.
Jasmin est conçu pour des performances, des charges de trafic élevé et la pleine exécution en
mémoire.

Gammu13 est un logiciel de gestion de téléphones portables, Open Source, fonctionnant


sous Linux et Windows. Il est également utilisé comme passerelle SMS. Il est hérité de Gnokii,

11
www.kannel.org
12
www.jasminsms.com
13
https://fr.wammu.eu/gammu

Conception et implémentation d’une solution de communication par SMS Page 42


Chapitre 2 : Revue de la littérature

spécialisé pour les téléphones Nokia. Il permet notamment d'envoyer des SMS et d'en recevoir
grâce à un téléphone ou un modem GSM connecté à un ordinateur avec le logiciel.

SMS Server Tools14 est une passerelle SMS logicielle qui peut envoyer et recevoir des
messages courts à travers un modem GSM ou un téléphone mobile. Il permet de déployer des
serveurs SMS à haute disponibilité avec l’utilisation de plusieurs modems ou téléphones
(Jusqu’à 64 actuellement). Les messages sont stockés sous forme de fichiers texte dans les
répertoires de spool. Les programmes externes ou les scripts de n'importe quel langage peuvent
être utilisés pour filtrer, inspecter et répondre aux messages automatiquement. Les événements
et les alarmes peuvent être transmis aux scripts pour intégration dans les outils de surveillance.
Elle peut gérer jusqu'à 20 000 messages par mois.
Les particularités des 4 passerelles citées ci-dessus sont résumées dans le tableau suivant.

Tableau 2 : Tableau comparatif de passerelles SMS Open Source

Kannel Gammu SMS Server Jasmin SMS


Tools Gateway
Type SMS, WAP SMS SMS SMS
Licence Open Source Open Source Open Source Open Source
UCP/EMI, HTTP, SMPP HTTP, SMPP HTTP, SMPP
Protocoles SMPP, CIMD,
supportés
SEMA
HTTP, SMPP, HTTP HTTP HTTP, SMPP
API
PHP
Capacité de 100 msg/s ??? 20000 msg/mois ???
traitement des
SMS
Modes de push, pull, pull- push, pull push, pull push, pull
fonctionnement push
Coût Gratuit Gratuit Gratuit Gratuit

14
http://smstools3.kekekasvi.com/

Conception et implémentation d’une solution de communication par SMS Page 43


Chapitre 2 : Revue de la littérature

4.3 Choix de la passerelle

Parmi les passerelles SMS citées plus haut, la plus professionnelle et qui répond le plus
à nos besoins est Kannel car elle possède nativement la fonctionnalité pull-push que nous
recherchons. Nous avons donc opté pour Kannel qui est une passerelle SMS libre de haute
qualité.
Certaines solutions dites « propriétaires », seraient des dérivées de Kannel, puisque cette
dernière n'est pas une solution toute faite. En effet, la solution Kannel pourrait être reprise et
adaptée aux besoins qui s’imposent ; la solution dérivée obtenue étant personnalisée, peut elle-
même être commercialisée ou mise à la portée des utilisateurs. La multitude de protocoles de
communication avec les SMSC, que la solution Kannel prend en compte, en même temps que
sa fonction de serveur SMS, sans oublier la qualité et la stabilité des solutions libres en général,
pour ne citer que ceux-là, sont quelques-unes des raisons qui nous ont conduites à porter notre
choix sur elle. Il existe large documentation sur internet, une multitude de site proposant des
forums, des exemples de projets réalisés avec Kannel et même des applications téléchargeables
gratuitement.

Conception et implémentation d’une solution de communication par SMS Page 44


Chapitre 3 : Méthodologie

Chapitre 3 : METHODOLOGIE

Ce chapitre présente les méthodes utilisées pour aborder notre thème. Deux méthodes y
sont abordées. La recherche documentaire et la détermination des différentes phases pour la
mise en place du système.

1. La recherche documentaire
La recherche documentaire a couvert toutes les étapes de notre travail. Elle a pris en compte les
études préalables réalisées et ayant trait à notre thème. Au nombre de ces études, nous pouvons
citer les mémoires de :
✓ Youssef Haddad, « Qualité de service d'un centre de service de messagerie GSM
(SMSC) » [B2]
✓ Mame Meissa BEYE et Habsatou NIANG, « Mise en œuvre d’une plateforme web
d’envoi de SMS » [B5]
✓ Frédéric GOMES (2010-2011), « Mise en place d’un système d’alerte précoce par SMS
via kannel» [B4]
✓ Sami MOUFATIH, « Envoi de SMS / EMAIL via Internet et/ou Modem GSM [W3] ;
✓ Tchapo TANTE-GNANDI, « Implémentation d'un portail SMS à base du logiciel
KANNEL » [W5].
✓ Bocar Moussa SOW (2010), « Mise en place d'une passerelle SMS avec Kannel » [W4].
✓ La documentation technique sur la passerelle kannel à savoir le « userguide » et
« Kannel architecture and Design » [W2] nous ont été très utiles pour comprendre le
fonctionnement, l’installation et la configuration de la passerelle kannel.
Dans son projet, Youssef Haddad a étudié l’architecture et le fonctionnement d’un
SMSC et a utilisé le logiciel QNAP (Queueing Network Analysis Package) pour faire des
simulations en vue d’évaluer les performances d’un SMSC.
Frédéric GOMES a également utilisé Kannel et un modem GSM de marque
MULTITECH pour la mise en place de son système ainsi les langages de programmation
comme PHP et HTML.
Dans son travail, Sami MOUFATIH a conçu et réalisé un logiciel d'envoi de SMS/E-
mail, qui informe les clients des sociétés de vente, des promotions en cours. Elle a en outre
utilisé un modem GSM comme terminal de réception des SMS.

Conception et implémentation d’une solution de communication par SMS Page 45


Chapitre 3 : Méthodologie

Tchapo TANTE-GNANDI a quant à lui déployé la passerelle SMS Kannel pour la mise
en place d'un noyau de traitement des SMS, noyau qui lui aura servi au traitement des SMS par
sa structure d'accueil et à fournir aux utilisateurs intéressés, un accès aux SMS surévalués.
Bocar Moussa SOW a dans son étude, utilisé le logiciel Kannel et un téléphone de marque
Nokia comme modem GSM pour l’envoi et la réception de SMS afin de mettre en place une
passerelle SMS pour son établissement d’accueil.

2. Détermination des différentes phases de la mise en place du serveur SMS

Phase 1 : Choix des moyens et outils nécessaires

Il s’agit ici de déterminer les moyens matériels et logiciels ainsi que les outils
nécessaires à la mise en place du serveur SMS.

Phase 2 : Mise en place du serveur de contenu

Cette étape consiste à la conception de la base de données de l’application web, au


déploiement de l’environnent web du serveur, à l’implémentation de la base de données et à la
conception de la plateforme web d’envoi de SMS et de saisie des informations
(contacts/répertoires, moyennes, emplois du temps, etc…) dans la base de données

Phase 3 : Mise en place de la passerelle SMS Kannel

Cette étape consiste au déploiement Kannel. Il s’agit entre autres à la configuration de


notre modem GSM, à l’installation et configuration de Kannel, au démarrage de Kannel et à la
réalisation des tests d’envoi de SMS.

Phase 4 : Couplage du serveur de contenu et de la passerelle SMS

C’est le couplage entre le serveur de contenu et la passerelle SMS qui permet de créer
le serveur SMS. Ce couplage se fait dans le fichier de configuration de Kannel à travers les
services SMS qui seront créés à ce niveau.

Phase 5 : Création des services SMS

La création des services SMS est très importante car ce sont ces services qui permettront
aux utilisateurs d’accéder aux informations stockées sur le serveur SMS.

Conception et implémentation d’une solution de communication par SMS Page 46


Chapitre 3 : Méthodologie

Phase 6 : Réalisation des tests de fonctionnement

Ces tests permettent de savoir si les deux modules du système arrivent à communiquer
et que les services SMS qui ont été créés fonctionnent correctement. Ces tests se font
notamment à travers l’envoi de SMS depuis la plateforme web et l’envoi de SMS contenant un
mot clé depuis un mobile vers le serveur SMS.

La recherche documentaire et la détermination des étapes successives de conception et


de mise en place de la solution sont les méthodes qui ont été utilisées pour mener à bien le
projet. Les différentes étapes ont donné une orientation au projet et la recherche a fourni les
outils nécessaires pour le réaliser.

Conception et implémentation d’une solution de communication par SMS Page 47


Deuxième Partie

DEUXIEME PARTIE:

ANALYSE, CONCEPTION
ET IMPLEMENTATION
DE LA SOLUTION

Conception et implémentation d’une solution de communication par SMS Page 48


Chapitre 4 : Analyse et conception de l’application

Chapitre 4 : ANALYSE ET CONCEPTION DE LA SOLUTION

1. Spécification des besoins


La finalité de ce projet est de mettre en place un système, nommé MangoSMS, dont
l’objectif est de fournir un service Vie Scolaire aux étudiants et parents d’élèves d’une part et
d’autre part fournir aux établissements scolaires une plateforme web d’envoi de SMS en masse.
Ce service permet entre autres de fournir des informations de façon automatique et autonome à
ceux qui le désirent via la messagerie SMS.

Le système offre principalement les services suivants :

- Service de notification événementielle : L’étudiant ou le parent reçoit un message de


notification dès qu’une condition est satisfaite (par exemple : un versement de scolarité,
absence d’un professeur, report de devoir, etc.)
- Service d’information à la demande : Pour avoir une information spécifique (moyenne
de fin de trimestre, emploi du temps hebdomadaire, etc.), il suffit d’envoyer un message
respectant une syntaxe prédéfinie à un numéro et on reçoit aussitôt une réponse de la
part du système, contenant le résultat de sa requête.

1.1 Besoins fonctionnels

Pour aboutir à la réalisation de ces services, l’application MangoSMS doit répondre à


un certain ensemble de besoins fonctionnels tel que :

- La sécurité : l’administrateur doit s’authentifier avant d’accéder à la plateforme et


exécuter certaines actions. Les utilisateurs doivent dans certains cas renseigner un code secret
pour les demandes de service.
- La gestion des SMS : c’est une fonction qui permet l’envoi des SMS
- L’administration : l’application doit permettre d’administrer les utilisateurs et
l’ensemble du système.

1.2 Besoins non fonctionnels

- Application générique : elle doit être utilisée indépendamment de la nature des


plateformes.
- Usage simple : l’utilisateur doit fournir le moindre effort pour comprendre le mode
d’utilisation de l’application.

Conception et implémentation d’une solution de communication par SMS Page 49


Chapitre 4 : Analyse et conception de l’application

1.3 Contraintes techniques

Le système doit être déployé sous Linux (Distribution Ubuntu 14.04 LTS). Nous
utiliserons comme passerelle SMS le logiciel Kannel dans sa version 1.4.3 ainsi que la suite
LAMP. Les langages de programmation utilisés sont le HTML, PHP, JS/AJAX, CSS.

2. Choix de la méthode d’analyse de l’application web

La conception d’un système passe par une phase d’analyse qui nécessite de mettre en
place un modèle du système à développer. Parmi les méthodes d’analyse, Merise, qui date des
années soixante-dix, reste très fortement implanté en France. La méthode Merise est fondée sur
la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels,
logiques et physiques. La séparation des données et des traitements a pour but de donner une
certaine longévité au modèle. En effet la structure des données n’a pas à être modifiée dans le
temps, tandis que les traitements le sont plus fréquemment.
L’analyse du projet s’est faite avec la méthode MERISE puisqu’il s’agit de la seule
méthode d’analyse étudiée pendant notre parcours scolaire et est également la méthode la plus
utilisée et la plus répandue dans les pays francophones.
Merise est particulièrement adaptée pour les outils informatiques tels que les systèmes de
gestion de fichiers et les bases de données relationnelles.

3. Choix des langages et outils de développement

Le choix des langages et des outils est une activité très importante avant la mise en
œuvre du projet. Cette partie présente en premier lieu les langages de programmation utilisés et
en second lieu les outils qui ont permis de réaliser le projet.

3.1 Les langages

3.1.1 Le HTML

HTML (HyperText Markup Langage) est un langage de mise en page de documents à


l’aide de balises. Les documents HTML sont identifiés par une adresse URL, et sont interprétés
par un navigateur web. Les pages HTML apparaissent à l’écran de la manière dont l’auteur l’a
voulu mais elles ne peuvent pas contenir d’instructions exécutables.

Conception et implémentation d’une solution de communication par SMS Page 50


Chapitre 4 : Analyse et conception de l’application

3.1.2 Le CSS

Le langage CSS (Cascading Style Sheets) est utilisé pour définir l’aspect futur de notre
site, comme par exemple la couleur du fond de la page ou la police. Plus concrètement, le CSS
(ou feuille de style), c’est un petit fichier (exemple « style.css ») dans lequel nous allons définir
l’aspect futur de votre site.

3.1.3 Le JavaScript

Le code JavaScript est inséré directement dans les pages web ou dans un fichier séparé
(exemple : script.js) mais contrairement à PHP il est exécuté par le navigateur sur le poste client.
Le temps de latence est donc presque nul puisqu’il n’y a pas d’échange de données avec le
serveur. Toutefois ce langage présente des problèmes de portabilité entre les différents
navigateurs d’où la nécessité de restreindre son utilisation au contrôle des données saisies par
l’utilisateur.

3.1.4 PHP

Le langage PHP est utilisé principalement en tant que langage de script côté serveur, ce
qui veut dire que c'est le serveur (la machine qui héberge la page Web en question) qui va
interpréter le code PHP et générer du code (constitué généralement de XHTML ou de HTML,
de CSS, et parfois de JavaScript) qui pourra être interprété par un navigateur. PHP peut
également générer d'autres formats en rapport avec le Web, comme le WML, le SVG, le format
PDF, ou encore des images telles que JPEG, BMP, GIF ou PNG.
Il a été conçu pour permettre la création d'applications dynamiques, le plus souvent dédiées au
Web. PHP est très majoritairement installé sur un serveur Apache, mais peut être installé sur
les autres principaux serveurs HTTP du marché, par exemple IIS.

3.1.5 SQL

SQL est un langage d'interrogation structuré. En fait SQL est un langage complet de
gestion de bases de données relationnelles. Il a été conçu par IBM dans les années 70. Il est
devenu le langage standard des systèmes de gestion de bases de données. C'est à la fois :
✓ un langage d'interrogation de la base
✓ un langage de manipulation des données,
✓ un langage de définition des données,
✓ un langage de contrôle de l'accès aux données,

Conception et implémentation d’une solution de communication par SMS Page 51


Chapitre 4 : Analyse et conception de l’application

Le langage SQL est utilisé par les principaux SGBDR : DB2, Oracle, Informix, MySQL, RDB,
... Chacun de ces SGBDR a cependant sa propre variante du langage.
Parmi les SGBDR existant, le choix s’est porté MySQL essentiellement pour les raisons
suivantes :
✓ MySQL est une solution courante en ce qui concerne l’hébergement public de site
Internet.
✓ MySQL offre une très bonne intégration dans l’environnement PHP/Apache et une
bonne performance.
✓ MySQL est le SGBDR qui nous est le plus accessible

3.2 Les outils de développement utilisés


3.2.1 Notepad++

Notepad++ est un éditeur de code source qui prend en charge plusieurs langages. Ce
programme, codé en C++, a pour vocation de fournir un éditeur de code source de taille réduite
mais très performant. Il utilise Scintilla comme une de ses composantes. Pour éviter les erreurs
ou juste pour mettre en évidence certaines lignes de code, il est possible de faire des colorations
syntaxiques et des reliefs syntaxiques. Chaque utilisateur peut du reste définir le langage qu'il
veut utiliser.

Figure 22 : Interface de Notepad++

Conception et implémentation d’une solution de communication par SMS Page 52


Chapitre 4 : Analyse et conception de l’application

3.2.2 La suite LAMP et PhpMyAdmin


LAMP, est un produit qui installe très rapidement et facilement un ensemble complet de
services pour faire tourner un serveur web. Cette solution est très pratique pour créer un serveur
de développement, car il permet au néophyte d'avoir un serveur de test en quelques clics, sans
avoir à choisir ni connaître les différents services à installer. LAMP inclut par défaut les
applications suivantes : Apache2, Mysql et PHP5.
PhpMyAdmin (PMA) est une application Web d'administration pour le SGBD MySQL.
Il est écrit en langage PHP et s'appuie sur le serveur HTTP Apache et distribuée sous licence
GNU GPL15.

4. Analyse avec la méthode MERISE

MERISE est une méthode de conception, de développement et de réalisation de projets


informatiques. Le but de cette méthode est d'arriver à concevoir un système d'information. La
méthode MERISE est basée sur la séparation des données et des traitements à effectuer en
plusieurs modèles conceptuels et physiques.

4.1 Etude au niveau conceptuel


4.1.1 Le modèle conceptuel de communication
Le modèle conceptuel de communication représente les échanges de flux de produits,
d'énergie, de personne, de valeur ou d'information entre systèmes. Ces systèmes fonctionnels
appelés intervenants sont : soit externes à l'entreprise (partenaires), soit internes (domaine, sous-
domaine).
Les flux représentés peuvent ne concerner que des flux d'informations : les messages. Ces
messages sont informant ou déclencheurs.

4.1.1.1 Identification des acteurs

Un acteur est une entité externe ou interne qui interagit avec le système. Le terme acteur
ne désigne pas seulement les utilisateurs humains mais également les autres systèmes.

15
Une licence qui fixe les conditions légales de distribution des logiciels libres du projet GNU. Le projet GNU
(GNU is Not Unix - acronyme récursif) a démarré en 1984, sous l'impulsion de Richard Stallman, avec la
mission de développer un système Unix complètement libre.

Conception et implémentation d’une solution de communication par SMS Page 53


Chapitre 4 : Analyse et conception de l’application

4.1.1.1.1 Les acteurs internes

- Le serveur SMS : Représente le système de traitement des SMS

4.1.1.1.2 Les acteurs externes

- Utilisateur des services SMS : Personne qui sollicite le système (Peut être un étudiant,
un parent d’élèves ou tout autre personne ou encore un mobile GSM)

4.1.2 Matrice et graphe des flux


4.1.2.1 La matrice des flux
C’est un tableau qui décrit les flux entre les acteurs.
Tableau 3 : Matrice des flux

N° Flux Emetteur Récepteur


1 Envoi de SMS Serveur Utilisateur
2 Envoi d’une requête Utilisateur Serveur
3 Traitement de la requête Serveur Serveur
4 Réponse de la requête Serveur Utilisateur

Ce tableau liste l’ensemble des flux d’informations échangées entre le serveur SMS et les
utilisateurs des services SMS.
4.1.2.2 Graphe des flux ou MCC

3 SERVEUR 2 UTILISATEUR
4

Figure 23 : Graphe des flux

4.2 Le dictionnaire de données


La documentation est un domaine important et rarement traité. L'application d'une
méthode telle que MERISE facilite grandement cette tâche. Cette documentation obligatoire
implique un certain travail. Un dictionnaire de données d'entreprise, c'est-à-dire la liste des
informations avec leur signification est un atout considérable dans tout système d'information
qui se respecte.

Conception et implémentation d’une solution de communication par SMS Page 54


Chapitre 4 : Analyse et conception de l’application

L’élaboration du dictionnaire de données constitue la première étape de l’élaboration du MCD.

Tableau 4 : Dictionnaire de données

N° Nom Description Type Taille


1 code_fil code filière AN 12
2 cycle_fil cycle filière AN 20
3 lib_fil libellé filière AN 100
4 type_fil type filière AN 20
5 mt_ins Montant inscription N 10
6 mt_sco Montant scolarité N 10
7 id_class Identifiant classe AN 07
8 niv Niveau d’étude AN 20
9 grpe Groupe de la classe AN 15
10 classe Classe AN 20
11 id_emp Identifiant emploi du temps AN 6
12 jour Jour AN 12
13 matiere Matière AN 255
14 mat_etu matricule étudiant AN 10
15 nom_etu nom complet étudiant AN 40
16 cont_etu contact étudiant AN 12
17 cont_par contact parent AN 12
18 code_sec code secret AN 5
19 cout_form cout formation N 7
20 id_habs Identifiant heure d’absence AN 6
21 nbre_h Nombre d’heure N 4
22 date_abs date absence AN 12
23 id_sco Identifiant scolarité AN 6
24 mt_sco montant scolarité N 10
25 id_msg Identifiant message AN 6
26 dest_msg destinataire message AN 12
27 type_msg type message AN 8
28 txt_msg texte du message AN 255
29 date_env date envoi message AN 12
30 stat_msg Statut du message AN 12
31 id_moy Identifiant moyenne AN 6
32 moy moyenne N 5
33 index_moy index moyenne AN 3
34 id_vers Identifiant versement AN 6
35 date_vers date versement AN 12
36 mt_vers montant versement N 10
37 vers_tot versement total N 10
38 solde solde N 10
39 id_cont Identifiant contact AN 6
40 contact contact AN 12
41 grp_cont groupe contact AN 20
42 nom_cont nom contact AN 40

Conception et implémentation d’une solution de communication par SMS Page 55


Chapitre 4 : Analyse et conception de l’application

Ce tableau a été réalisé suite à l’analyse du système (recensement des données du domaine
étudié) et regroupe l’ensemble des informations relatives au système d’information, leurs
codifications et leurs significations. Il constitue la base de connaissance des informations
contenues dans la base de données.

4.3 Elaboration du modèle entité-relation : le MCD


Le modèle conceptuel des données (MCD) a pour but de représenter de façon structurée
les données qui seront utilisées par le système d'information. Le MCD décrit la sémantique c’est
à dire le sens attaché à ces données et à leurs rapports.
Le MCD de l’application est le suivant :

Filiere Classe Emploi_du_temps


Heures_Absence

code_fil id_class id_emp


ATTRIBUER
niv (1,n) (1,1) id_h_abs
cycle_fil Jour
(1,n) LIER
(1,1) grpe nbre_h
lib_fil matiere
type_fil classe date_abs

mt_ins
(1,n)
(1,n)
APPARTENIR (1,n) AVOIR
(1,1)
(1,n)

CONCERNER
CUMULER
(0,n)
Messages
(1,1) Etudiant
(1,1) nbre_h
id_msg
Scolarite mat_etu
date_env
(1,n) PAYER (1,1) nom_etu (1,n) DESTINER (1,1)
Id_sco dest_msg
cont_etu
mt_sco type_msg
cont_par

cod_sec txt_msg
stat_msg
cout_form (1,1)
EFFECTUER (1,n) (1,n)
APPARAITRE (1,n)
(1,n) OBTENIR

Versement (1,n)
Repertoire

id_vers Moyenne id_rep


date_vers id_moy nom_cont
mt_Vers moy contact
vers_total index_moy grp_cont
solde

Figure 24 : Le Modèle Conceptuel de Données

Pour élaborer un MCD, MERISE s’appuie sur les concepts suivants :


- Propriété : La propriété est la modélisation de l’information élémentaire. C’est un ensemble
de données ayant la même structure et représentant des informations analogues. La
modélisation des propriétés doit éviter les synonymes et les polysèmes.

Conception et implémentation d’une solution de communication par SMS Page 56


Chapitre 4 : Analyse et conception de l’application

- Entité : L'entité est un groupe de propriétés permettant de modéliser un ensemble d'objets de


même nature.
- Association : Une association modélise un ensemble de liens de même nature entre deux ou
plusieurs occurrences d'entités.
Le MCD ci-dessus a été établi après avoir recensé et donné un nom à l’ensemble des
données relatives au domaine étudié. Ensuite nous avons étudié les relations existantes entre
ces données (dépendances fonctionnelles) pour aboutir au MCD.

4.4 Le modèle logique de données (MLD)

Le MCD ne peut pas être implanté dans une base de données sans modification. Il est
obligatoire de transformer ce modèle. On parle alors de passage du MCD vers le MLD.
Le modèle logique correspond à l’organisation des données dans une base de données
relationnelle et représente un choix logiciel pour le système d'information. C’est le MLD qui
pourra être implanté dans une base de données relationnelle.
Le passage du MCD vers le MLD donne le résultat suivant :

FILIERE (code_fil, cycle_fil, lib_fil, type_fil, mt_ins)


CLASSE (id_class, niv, grpe, classe #code_fil)
EMPLOI_DU_TEMPS (id_emp, jour, matiere, #id_class)
HEURES_ABSENCE (id_h_abs, nbre_h, date_abs)
ETUDIANT (mat_etu, nom_etu, cont_etu, cont_par, cod_sec, cout_form, #id_class,
#id_sco, #id_rep)
MESSAGES (id_msg, dest_msg, type_msg, txt_msg, date_env, stat_msg, #mat_etu)
SCOLARITE (id_sco, mt_sco, #code_fil)
MOYENNE (id_moy, moy, index_moy)
VERSEMENT (id_vers, mt_vers, vers_total, solde, date_vers)
REPERTOIRE (id_cont, nom_cont, Rep_contact_etud, Rep_groupe_etud)
CUMULER (#id_h_abs, #mat_etu, nbre_h)
AVOIR (#mat_etu, #id_emp,)
OBTENIR (#mat_etu, #id_moy,)
EFFECTUER (#mat_etu, #id_vers,)

Conception et implémentation d’une solution de communication par SMS Page 57


Chapitre 4 : Analyse et conception de l’application

4.5 Le modèle physique de données (MPD)


Le modèle physique des données (MPD) est une représentation de l’organisation des
données tenant compte du système de gestion des données retenu (dans le cas présent le
SGBDR MySQL) sous forme de tables comportant des colonnes (ou champs) et consiste
également à implanter la base de données dans le SGBDR. Le langage généralement utilisé
pour ce type d'opération est le SQL et plus spécialement le langage de définition de données du
SQL.

Tableau 5 : Table classe

Table : classe
Clé primaire : id_class
Support : disque dur
Organisation : directe indexée

Codification Signification Type Longueur Nature Observation


id_class Identifiant classe AN 07 E Identifiant
niveau Niveau AN 20 E
groupe Groupe AN 15 E
classe classe AN 20 E

Tableau 6 : Table filière

Table : filiere
Clé primaire : code_fil
Support : disque dur
Organisation : directe indexée

Codification Signification Type Longueur Nature Observation


code_fil Code filière AN 12 E Identifiant
cycle_fil Cycle filière AN 20 E
lib_fil Libellé filière 100
AN E
type_fil Type filière AN 08 E
mt_ins Montant inscription N 10 E

Conception et implémentation d’une solution de communication par SMS Page 58


Chapitre 4 : Analyse et conception de l’application

Tableau 7 : Table scolarité

Table : scolarite
Clé primaire : id_sco
Support : disque dur
Organisation : directe indexée
Codification Signification Type Longueur Nature Observation
id_sco Identifiant scolarité AN 6 E identifiant
mt_sco montant scolarité N 10 E

Tableau 8 : Table étudiant

Table : etudiant
Clé primaire : matricule
Support : disque dur
Organisation : directe indexée
Codification Signification Type Longueur Nature Observation
mat_etu matricule étudiant AN 10 E identifiant
nom_etu nom complet étudiant AN 15 E
cont_etu contact étudiant N 12 E
cont_parent contact parent N 12 E
code_sec code secret AN 05 C
cout_form coût formation N 7 E

Tableau 9 : Table emploi_du_temps

Table : emploi_du_temps
Clé primaire : id_emp
Support : disque dur
Organisation : directe indexée

Codification Signification Type Longueu Natur Observation


id_emp Identifiant emploi du temps AN r07 e E Identifiant
jour Jour A 03 E
matiere matiere 20
A E

Conception et implémentation d’une solution de communication par SMS Page 59


Chapitre 4 : Analyse et conception de l’application

Tableau 10 : Table heure_absence

Table : Heures_Absence
Clé primaire : id_h_abs
Support : disque dur
Organisation : directe indexée

Codification Signification Type Longueur Nature Observation


id_habs Identifiant heure absence AN 12 E Identifiant
nbre_h Nombre heure absence N 05 E
date
date AN 10 E JJ/MM/AAAA

Tableau 11 : Table messages


Table : messages
Clé primaire : id_message
Support : disque dur
Organisation : directe indexée
Codification Signification Type Longueur Nature Observation
id msg Identifiant messagerie AN 12 E Id
dest_msg Destinataire N 15 E
type_msg Type-Message A 10 E
date_env Date d’envoi AN 10 E JJ/MM/AAAA

txt_msg texte du message AN 255 E


stat_msg statut du message A 09 E

Tableau 12 : Table moyenne

Table : moyenne
Clé primaire : id_moy
Support : disque dur
Organisation : directe indexée
Codification Signification Type Longueur Nature Observation
id_moy Identifiant moyenne AN 05 E Identifiant
moy moyenne N 07 E
index_moy
index moyenne AN 15 E

Conception et implémentation d’une solution de communication par SMS Page 60


Chapitre 4 : Analyse et conception de l’application

Tableau 13 : Table répertoire

Table : repertoire
Clé primaire : id_rep
Support : disque dur
Organisation : directe indexée
Codification Signification Type Longueur Nature Observation
id_rep Identifiant répertoire AN 07 E Identifiant
nom_cont nom contact AN 25 E
num_cont
numéro contact N 25 E
grp_cont
groupe contact AN 25 E

Tableau 14 : Table versement

Table : versement
Clé primaire : id_vers
Support : disque dur
Organisation : directe indexée
Codification Signification Type Longueur Nature Observation
id_vers Identifiant versement AN 12 E Identifiant
mt_vers Montant du versement N 10 E
vers_total Versement total N 10 C
solde Solde N 10 C
date_vers Date versement AN E JJ/MM/AAAA
08

Les tableaux 5 à 14 constituent le modèle physique de données. Chaque tableau représente une
table de la base de données et liste également les attributs de cette table. Chaque table contient
des informations spécifiques.
Par exemple, la table etudiant est la table qui contient toutes les informations (matricule,
nom et prénom, contact étudiant, contact parent, code secret, coût formation) sur les étudiants.

Conception et implémentation d’une solution de communication par SMS Page 61


Chapitre 4 : Analyse et conception de l’application

5. Etude de la passerelle Kannel

Pour mettre en place des services basés sur le SMS il est nécessaire d’avoir une
passerelle SMS capable de relayer les messages du réseau GSM vers le réseau IP. Ceci fera
l’objet de notre étude sur la passerelle SMS Kannel dans cette section.
5.1 Présentation

Kannel est un projet Open Source et gratuit mis sous licence FreeBSD16 lancé en mars
1999, par la compagnie Finlandaise WAPIT. Kannel est actuellement disponible pour les
systèmes Linux (Redhat et Debian) et a été reconnue en mars 2001 lorsqu’il a été certifié par
WAP Forum en tant que première passerelle WAP 1.1 dans le monde. Elle est écrite en langage
C et fournit une passerelle mixte, SMS et WAP. En outre, elle permet également de gérer le
push, le pull ou pull-push SMS c'est-à-dire respectivement, l'envoi des messages aux entités
extérieures, la réception d'un SMS ou la réception de requête, puis l'envoi de la réponse après
traitement à partir de la plateforme. Au niveau de l'application se fait le traitement de la requête,
puis l'envoi de la réponse via le SMSC de rattachement à l'abonné demandeur. C'est un outil
très intéressant pour développer des applications en collaboration avec le serveur Apache.

5.2 Kannel comme passerelle SMS

Le SMS (Short Messaging Service) est un moyen d’envoi de messages courts (160
caractères) à partir d’un mobile GSM vers un autre. Kannel fonctionne comme une passerelle
SMS, communiquant avec plusieurs types différents de SMSC, et relayant les messages vers
les fournisseurs de contenus, comme des requêtes HTTP. Les fournisseurs de contenus
répondent alors à cette requête HTTP et une réponse est renvoyée au terminal mobile avec la
connexion au SMSC approprié utilisant un protocole spécifique de SMSC.
Comme pratiquement chaque différent type de SMSC utilise un protocole différent, une
passerelle SMS est utilisée pour maintenir la connexion avec les SMSC et les relayer dans une
forme unifiée. La plus grande particularité de Kannel est de réduire chaque protocole de SMSC
à un protocole bien connu de HTTP, simplifiant ainsi le déploiement de services.
Une passerelle SMS peut également être utilisée pour relayer des messages SMS d’un réseau
GSM à un autre si les réseaux ne routent pas correctement les messages.

16
La licence FreeBSD est une licence libre utilisée pour la distribution de logiciels. Elle permet de réutiliser une
partie ou tout le logiciel sans restriction, qu'il soit intégré dans un logiciel libre ou propriétaire.

Conception et implémentation d’une solution de communication par SMS Page 62


Chapitre 4 : Analyse et conception de l’application

En plus de servir de messages SM-MO, Kannel fonctionne aussi comme une passerelle
SMS Push. Les fournisseurs de contenus peuvent demander à Kannel d’envoyer des messages
aux terminaux mobiles. Kannel détermine alors le bon SMSC pour relayer le message SMS et
envoie le SMS à ce SMSC, en utilisant encore un protocole spécifique à ce SMSC. De ce fait
le fournisseur de contenus n’aura pas à connaître un protocole SMSC mais juste l’interface de
Kannel vers lequel il enverra le message.

SMSC
Protocol HTTP

Kannel

Phone SMSC Content Provider

Figure 25 : Position logique d'une passerelle SMS entre un mobile et un serveur de contenus

5.3 Kannel comme passerelle WAP

Une passerelle WAP agit comme un intermédiaire entre le réseau WAP et le web. Une
passerelle convertit une requête WAP en une requête web, puis la réponse web en une réponse
WAP. Une passerelle WAP peut être vue comme un convertisseur de « piles de protocole ».

HTTP
WAP Stack
Kannel

Phone WAP Gateway Content Provider

Figure 26 : Position logique d'une passerelle WAP entre un mobile et un fournisseur de contenus

Conception et implémentation d’une solution de communication par SMS Page 63


Chapitre 4 : Analyse et conception de l’application

La passerelle WAP communique avec le téléphone en utilisant une pile de protocole WAP, et
traduit les demandes qu'il reçoit en HTTP normal. Ainsi les fournisseurs de contenu peuvent
utiliser tous les serveurs HTTP et utiliser le savoir-faire existant au sujet de l'implémentation et
de l'administration de service HTTP.
Kannel fonctionne simultanément comme passerelle WAP et SMS.

5.4 Principe de fonctionnement de Kannel [B8]

Le principal but de Kannel est d'installer et mettre en place le protocole WAP. L'envoi
de données à partir de Kannel vers un client s'appelle le push (WAP ou SMS). Pour fonctionner
correctement, il est nécessaire d'acheter un compte SMSC chez un opérateur de téléphonie
mobile. En somme Kannel utilise plusieurs types de liaisons à savoir :
✓ Une liaison spécialisée
✓ Une liaison avec un modem GSM
Mais celle qui nous intéresse pour notre projet est celui de la passerelle Kannel connecté à un
Modem GSM.

5.4.1 Liaison du serveur SMS à travers un modem GSM

Le SMS est acheminé par le réseau de téléphonie mobile vers le serveur. Le serveur
autorise, à part la liaison au SMSC via une liaison spécialisée, une liaison à travers un simple
modem GSM. L'acheminement des SMS requête-réponse diffère selon les deux modes de
liaison. En effet, selon le mode de liaison du serveur au SMSC de l'opérateur, par le truchement
d'un modem GSM (SMSC virtuel), le SMS traverse quatre fois l'interface Air comme l'indique
la figure ci-dessous.

RESEAU GSM

IR
eA
ac
erf
Int

BTS SMSC Modem GSM


BTS

Application de
MS
traitement des
SMS

Sens du SMS requête

Sens du SMS réponse

Figure 27 : Liaison du serveur SMS à travers un modem GSM

Conception et implémentation d’une solution de communication par SMS Page 64


Chapitre 4 : Analyse et conception de l’application

Elle est indiquée lorsqu'il s'agit d'un trafic pas assez grand. Il est prouvé empiriquement que le
serveur connecté selon ce mode, ne peut traiter qu'au plus 6 à 10 SMS à la minute.

5.4.2 Liaison du serveur SMS à travers une ligne spécialisée


Pour le mode de liaison, à travers une liaison spécialisée du serveur au SMSC de
l'opérateur, le SMS ne traverse que deux fois l'interface Air comme l'indique la figure 28.

RESEAU GSM

IR
eA
ac
erf
Int

Liaison spécialisée

SMSC

Application de
MS BTS
traitement des
SMS

Sens du SMS requête

Sens du SMS réponse

Figure 28 : Liaison du serveur à travers une ligne spécialisée

La liaison via un modem est celle qui a été retenue pour la mise en place du système, surtout
du fait de sa mise en œuvre facile, techniquement et financièrement. Les résultats obtenus sont
valables pour une liaison spécialisée.
Le traitement du SMS se faisant au sein du serveur Kannel, il convient de procéder à une étude
de sa structure interne.

5.5 Architecture de Kannel [W2]

L'architecture de Kannel révèle qu'il est composé de trois principaux blocs appelés
encore « box » ; leur intercommunication correcte confère à Kannel, sa stabilité et son utilité.
En effet, il s'agit de :
✓ Le bearerbox implémentant le niveau porteur du WAP (couche WDP). Il permet entre autre
la connexion aux différents SMSC.
✓ Le smsbox implémentant l’essentiel des fonctionnalités de la passerelle SMS. Il reçoit les
messages texte depuis le bearerbox et les interprètes comme des requêtes vers des services
et y répond en utilisant le chemin approprié.

Conception et implémentation d’une solution de communication par SMS Page 65


Chapitre 4 : Analyse et conception de l’application

✓ Le wapbox qui implémente la pile de protocole WAP et pour le push, le WAP Push client
(protocole de niveau applicatif). Quand le wapbox est utilisé pour le « pushing », il est appelé
PPG (Push Proxy Gateway). L’autre moyen d’envoi de donnée étant le « pulling ».

Figure 29 : Architecture de Kannel


Notons qu’il n’est possible de mettre en place qu’un seul bearerbox tandis qu’il est possible de
disposer de plusieurs wapbox et de smsbox. Disposer de plusieurs wapbox et smsbox peut
s’avérer bénéfique surtout lorsque la charge est très importante. Dans ce cas le bearerbox
maintient une connexion avec différents wapbox et smsbox grâce à un système de « battement
de cœur » (semblable au Ping).

5.6 Description des blocs [W7]


5.6.1 Le bearerbox
Il s'agit du noyau de Kannel, il gère les connexions avec les SMS Centers. Cependant,
le Bearerbox ne se limite pas à cela. Il joue aussi le rôle de routeur entre le client et les autres
daemons de kannel à savoir le wapbox et le smsbox. En effet, c’est lui qui reçoit les SMS
provenant d'un réseau mobile et se charge de les transmettre au bloc approprié (au wapbox ou
au smsbox) et effectue les traitements voulus ; il les renvoie aux clients.
Le Bearerbox se charge également de mettre à jour de façon dynamique la liste des
daemons en ligne au fur et à mesure quand ces derniers se connectent ou se déconnectent. En
effet, les terminaux mobiles obtiennent des adresses de façon dynamique. Lorsqu'un terminal
désire communiquer avec la passerelle, celui-ci lui attribue automatiquement une adresse IP qui
va lui permettre de s'identifier tout au long de la transaction. Une fois celle-ci achevée, le
terminal mobile libère son adresse IP qui pourra être attribué à un autre client.

Conception et implémentation d’une solution de communication par SMS Page 66


Chapitre 4 : Analyse et conception de l’application

Mis à part la réception de messages entrants, le bearerbox reçoit aussi tous les messages
sortants et les adapte au format du réseau auquel il s'interconnecte.
Le bearerbox est l'interface entre le réseau de téléphonie mobile et les autres
compartiments du serveur.
Le bearerbox fait appel à plusieurs threads17 et files d’attente au niveau de la passerelle, son
fonctionnement interne est décrit par la figure suivante.

17
Un thread est une unité d’exécution ou de traitement (tâche ou un fil d’exécution).

Conception et implémentation d’une solution de communication par SMS Page 67


Chapitre 4 : Analyse et conception de l’application

UDP Socket
Read UDP Write UDP
packet packet

UDP_receiver UDP_sender

enqueue dequeue

Socket specific
Incoming_wdp
list

dequeue enqueue

Wdp_to_wapboxes Wdp_router

enqueue dequeue

Box specific
Outgoing_wdp
list

dequeue enqueue

Boxc_sender Boxc_reader

Write message Wap box socket Read message


via socket from socket

Data
thread
structure

Figure 30 : Architecture du bearerbox

Jusqu’à présent, le bearerbox implémente seulement UDP comme support pour la pile
de protocole WAP.
Le bearerbox utilise plusieurs threads et files d’attente. Le bearerbox a un thread de type
udp_receiver séparé pour chaque socket UDP. Ce thread lit les paquets UDP, les convertit en
un message-objet interne à kannel et les met dans la file d’attente incoming_wdp. Tous les
threads udp_receiver utilisent la même file d’attente.

Conception et implémentation d’une solution de communication par SMS Page 68


Chapitre 4 : Analyse et conception de l’application

Le thread wdp_to_wapboxes enlève tous les messages de la file d’attente


incoming_wdp et les conduit vers le wapbox approprié. Chaque wapbox est représenté au sein
du bearerbox par une file d’attente différente et 2 threads : boxc_sender et boxc_reader.
Le thread wdp_to_wapboxes deplace ainsi les messages de la file d’attente incoming_wdp
vers des files d’attente spécifique au wapbox.
Le thread boxc_sender enlève les messages de la file d’attente spécifique du wapbox et
les envoie au wapbox approprié par l’intermédiaire d’une connexion réseau.
Le trafic des messages dans l’autre direction est un schéma inverse.
Le thread boxc_reader lit les messages du wapbox par l’intermédiaire d’une connexion
réseau et les met dans la file d’attente outgoing_wdp.
Le thread wdp_router enlève les messages de cette file d’attente et les met dans une
file d’attente spécifique pour les sockets de sorte qu’ils soient envoyés à partir du port correct.
Le thread udp_sender enlève alors les messages de la file d’attente spécifique des sockets18,
les convertit en paquets UDP et les envoie aux téléphones.
Des files d’attente multiples ont été employé au niveau du bearerbox parce que le
cheminement peut changer à tout moment. Si un wapbox est déconnecté, tous les messages
attendant pour lui être envoyé devraient être envoyés à d’autres wapboxes à la place de sorte
qu’ils peuvent être traités de façon utile. Le bearerbox essaie de balancer la charge entre les
différents wapboxes. Cela est implémenté en utilisant des messages de « battement de cœur »
semblable au PING. Chaque wapbox gère son facteur de charge. En général c’est le nombre de
transactions HTTP en cours et en attente.
Périodiquement, les wapboxes envoient des messages semblables au PING contenant leur
facteur de charge au bearerbox. Le bearerbox se souvient des derniers facteurs de charge de
chaque wapbox et attribue chaque nouveau téléphone au wapbox qui a le plus petit facteur de
charge.

5.6.2 Le smsbox

Il est constitué de fonctionnalités chargées de faire les transactions SMS. Ce processus


met en place tous les outils nécessaires à l'implémentation d'une passerelle SMS. Le smsbox
reçoit les requêtes en provenance des clients demandant un service SMS. Le smsbox traite la
requête et y répond. Il reçoit les messages via HTTP et les convertis au format SMS.

18
Un socket est un point d’entrée entre deux applications du réseau. Il permet l’échange de données entre elles à
l’aide de mécanismes d’entrée et sortie.

Conception et implémentation d’une solution de communication par SMS Page 69


Chapitre 4 : Analyse et conception de l’application

La conception d'un smsbox est simple. Un smsbox reçoit un SMS à partir du bearerbox,
l'analyse afin d'en extraire les mots-clés et les paramètres s'il y'a lieu. En fonction du mot clé,
le serveur renvoie la réponse au client ; réponse qui peut être un texte statique, le résultat de
l'exécution d'une action associée. Dans le cas où le service SMS configuré dans le fichier
renvoie à une URL, le smsbox peut récupérer les données contenues et les envoyer au bearerbox
qui, à son tour, les renvoie au client via le SMSC de l'opérateur de téléphonie mobile. Le smsbox
peut également réceptionner les SMS, provenant d’ordinateurs d'un réseau informatique tel que
l'intranet ou l'Internet. En effet, les messages reçus au format HTTP sont convertis en messages
de type SMS pour être accessibles aux terminaux GSM.

5.6.3 Le wapbox

Cette partie n’est pas développée dans ce projet. Il faut retenir de ce bloc qu'il met en
place le protocole WAP (Wireless Applicaton Protocol) ; protocole qui récupère les requêtes
qui débouchent des mobiles supportant le protocole WAP, puis les traduit en requêtes
compréhensibles par les serveurs HTTP et vice versa.
Le Wapbox envoie les contenus push via SMS, mais la requête résultante utilise un support IP.

5.6.4 Mode de communication entre les boxes

Les données sont échangées entre le bearerbox et les wapbox et smsbox à travers le
protocole TCP/IP. TCP/IP est un protocole adapté très souvent pour une utilisation en réseaux
étendus (comme Internet), et son incorporation dans la procédure de communication des
différents blocs de Kannel, signifie que ces blocs peuvent être déployés sur des ordinateurs
aussi distants que possible, si nécessaire. Les performances en termes de risque de crash sont
plus optimisées lorsque ces blocs sont déployés sur des machines différentes. Rappelons aussi,
que de façon permanente, les différents blocs, échangent à intervalles réguliers des messages
de signalisation. La figure suivante représente l'architecture physique du serveur /passerelle
Kannel :

SMSBOX TCP

BEARERBOX

WAPBOX
TCP

Figure 31 : Mode de communication entre les Boxes de Kannel

Conception et implémentation d’une solution de communication par SMS Page 70


Chapitre 4 : Analyse et conception de l’application

5.6.5 Interfaces avec les entités externes

La passerelle SMS Kannel possède trois interfaces chacune ne pouvant communiquer


qu’avec un type d’équipement spécifique :
✓ Les centres SMS (SMSC), utilisant divers protocoles.
✓ Les serveurs HTTP, pour les contenus WAP et SMS et fournit le contenu des WAP
push. HTTP est utilisé pour le « pull » et PAP pour le « push ».
✓ Les terminaux WAP, implémentant la pile de protocole WAP et (pour le « push ») WAP
Push client.
La figure ci-dessous représente les différentes entités externes pouvant s'interfacer avec le
serveur/ passerelle Kannel.

Figure 32 : Interfaces externes de Kannel

5.7 Kannel et sécurité


En ce qui concerne l'accès à distance au bearerbox, Kannel utilise SSL pour les
transactions sécurisées entre le bearerbox et les smsbox et wapbox auxquels il est connecté.
L’administration à distance peut également être assurée grâce à une connexion sécurisée.
L’accès des utilisateurs à la passerelle peut être entièrement sécurisé et contrôlé en spécifiant
des utilisateurs avec un mot de passe dans le fichier de configuration. De ce fait tout utilisateur
décidant d'envoyer un SMS, par exemple, devra au préalable entrer son login et mot de passe
définis dans le groupe « sendsms-user » du fichier de configuration ou même dans un autre
fichier. Kannel prévoit aussi des certificats pour les connexions HTTP sécurisées (exemple
HTTPS). Ces certificats permettent de vérifier l’authenticité d’un serveur ou d’un client.
En somme, la maîtrise de la notion de passerelle en général, puis celle de passerelle dédiée SMS
en particulier, n'a pas été sans intérêt. Elle a permis d'appréhender de façon globale le niveau

Conception et implémentation d’une solution de communication par SMS Page 71


Chapitre 4 : Analyse et conception de l’application

de fonctionnement des différents outils d’interconnexion et pour cause la passerelle inclut les
fonctionnalités des outils de niveau qui lui est inférieur tels les routeurs, ponts, répéteurs.

On retient au terme de ce chapitre que l’analyse du système s’est effectuée avec la


méthode MERISE. Cette méthode a permis de concevoir la base de données de l’application
web. Ce chapitre a permis également d’étudier l'architecture et le fonctionnement de la
passerelle SMS Kannel, outil de base indispensable à la mise en place du système. Cela permet
d’aborder aisément la mise en œuvre du serveur SMS.

Conception et implémentation d’une solution de communication par SMS Page 72


Chapitre 5 : Mise en œuvre

Chapitre 5 : MISE EN ŒUVRE

Ce chapitre présente la phase pratique du projet. Dans un premier temps il s’agit de


mettre en place l’application web. Ensuite, installer et configurer Kannel comme passerelle
SMS. Ce chapitre se termine par le couplage de l’application web avec la passerelle SMS pour
former le serveur SMS et aussi à la création des services SMS.

1. Mise en place de l’application web


1.1 Déploiement de l’environnement web [W3]

Le déploiement de l’environnement web consiste à installer le serveur web apache2,


php, mysql-server et phpmyadmin.
Pour ce faire ouvrons un terminal et tapons la commande ci-dessous pour installer les paquets
nécessaires :

sudo apt-get install apache2 libapache2 mod-php5 php5 mysql-


server php5-mysql phpmyadmin.

Une fois l’installation terminée, il faut vérifier que le serveur Apache est en cours d’exécution.
Pour cela il suffit d’ouvrir un navigateur et taper le lien http://localhost. La page ‘It Works ’
s’affiche. Ce qui signifie que serveur web est bien installé et est en cours d’exécution.

1.2 Mise en place de la base de données

Pour créer la base de données de l’application web, il faut se connecter à phpmyadmin


en tapant http://localhost/phpmyadmin. Entrer ensuite le mot de passe de l’utilisateur root (mot
de passe choisi lors de l’installation et de la configuration de phpmyadmin) pour se connecter.
Créer la base de données en cliquant sur l’onglet base de données. Saisir le nom de la base de
données (db_mangosms dans notre cas) et cliquer sur créer pour valider. Après cela, il faut
cliquer sur la base de données et créer les différentes tables ressorties lors de l’analyse.
La base de données est enfin prête à accueillir l’application web.

1.3 Création de l’application web

Cette étape consiste essentiellement à la création des pages de notre application web.
Cela implique l’édition de code PHP. Rappelons que l’éditeur de code source retenu est
notepad++.

Conception et implémentation d’une solution de communication par SMS Page 73


Chapitre 5 : Mise en œuvre

2. Mise en place de la passerelle SMS Kannel


2.1 Moyens utilisés
2.1.1 Un ordinateur
Les moyens utilisés pour l'implémentation de Kannel sont à la fois matériels et logiciels.
En effet, l'environnement Linux, la documentation sur le serveur Kannel, les notions sur la pile
de protocole TCP/IP (HTTP) ont été indispensables. Ubuntu 14.04 LTS est la distribution de
Linux retenue pour le projet. C'est après l'avoir installé avec les paquetages nécessaires, sur
l’ordinateur serveur, que le serveur Kannel a été déployé.

2.1.2 Un modem GSM

Le modem (mot-valise de modulateur-démodulateur), est un périphérique servant à


communiquer avec des utilisateurs distants. Il permet par exemple d'échanger des fichiers, des
fax, de se connecter à Internet, d'échanger des e-mails, de téléphoner ou de recevoir la
télévision. Techniquement, l'appareil sert à convertir les données numériques de l'ordinateur en
données analogiques transmissibles par une ligne de téléphone classique et réciproquement.
Huawei est la marque du modem utilisé, son modèle est de type E1552. C'est ce modem qui
joue le rôle de SMSC virtuel. Pour plus d’informations sur notre modem voir le mode d’emploi.
[B10]

Préparation du modem en vue de son utilisation


Après l’insertion de la carte SIM, il faut connecter le modem 3G à l’ordinateur via un
port USB. Lorsque le modem est reconnu par Ubuntu son chemin d’accès est : /dev/ttyUSB0
par défaut.
Les modems ne reçoivent des instructions qu’à partir des commandes dites de type AT. En
effet, les commandes AT désignent un groupe de commandes, mis au point par Hayes afin de
contrôler le fonctionnement des modems. Ces commandes permettent d’interroger le mobile
pour obtenir des informations ou bien d’exécuter une tâche afin de s’assurer que le modem peut
fonctionner correctement (qualité du signal reçu...).
Toutes les commandes doivent être précédées de AT. Par exemple, ATA signifie
"répondre". Certaines commandes, comme ATA, sont communes à tous les modems, d'autres
sont variables selon le modèle spécifique, comme l'affichage de la configuration peut varier
selon l'équipement. Il faut donc se reporter à la documentation de son modem.
Pour tester le fonctionnement du modem, il faut envoyer ces commandes via le programme
minicom.

Conception et implémentation d’une solution de communication par SMS Page 74


Chapitre 5 : Mise en œuvre

Minicom est un programme de contrôle de modem et d’émulation de terminal pour les


systèmes Unix. Il apporte une émulation totale ANSI et VT100, un langage de script externe et
d’autres fonctionnalités. Ce programme permet de se connecter en mode console à différents
équipements réseaux (routeur, switch...).
Pour l'installer sur Ubuntu il faut taper la commande suivante sur le terminal :
sudo apt-get install minicom
Pour configurer minicom, il faut aller dans le terminal et taper : sudo minicom -s
Une fois la configuration du programme terminé, il est possible de le démarrer à l’aide de la
commande sudo minicom (attention ne marche que si les configurations sont correctes).
Les tests suivants permettent de s'assurer de l'état correct du modem.
En premier, on exécute toujours la commande AT, puis on appuie sur la touche ENTREE.
Si le modem est en état de fonctionner, alors il renvoie la réponse OK qui s'affiche sur
minicom. (Voir figure ci-dessous)

Figure 33 : Test de l'état du modem

Le second test à effectuer permet de savoir si le code PIN a été accepté, si le modem est connecté
au réseau GSM et afficher le nom de l’opérateur. Pour cela il faut taper successivement les
commandes AT+CPIN?, AT+CREG? et AT+COPS?. Les résultats de ces commandes sont
présentés sur la figure 34.

Conception et implémentation d’une solution de communication par SMS Page 75


Chapitre 5 : Mise en œuvre

Figure 34 : Test du code PIN, de l’enregistrement sur le réseau et de l'opérateur

Signification des résultats :


+CPIN:READY signifie que le modem connait déjà le code PIN
+CREG:0,1 signifie que le modem est connecté au réseau
+COPS:0,0,"Orange CI",2 indique l’opérateur Orange CI
Pour plus d’informations sur la signification des « codes résultat » voir Annexe 4.

2.1.3 Une carte SIM

Cette carte SIM doit être insérée dans le modem pour que le SMSC virtuel puisse
communiquer avec les autres SMSC et pouvoir transmettre des SMS.

2.1.4 Un téléphone portable

Ce téléphone est utilisé pour tester les différents services. Des SMS seront envoyés au
numéro de la carte SIM préalablement insérée dans le modem. De même lorsque le service
sollicité devra renvoyer une réponse, ce portable servira à vérifier le bon fonctionnement du
système. Il est possible de recevoir des messages d’erreur venant de la part de Kannel, vérifier
les syntaxes des SMS reçus ou vérifier les opérations ; en d'autres termes la validité des
configurations.

Conception et implémentation d’une solution de communication par SMS Page 76


Chapitre 5 : Mise en œuvre

2.2 Installation de Kannel [W2]


2.2.1 Prérequis
2.2.1.1 Mise à jour des dépôts, du système et installation des librairies nécessaires
Avant toute chose, il est recommandé une mise à jour de la liste des fichiers disponibles
dans les dépôts APT présents dans le fichier de configuration /etc/apt/sources.list. Pour ce faire
il suffit de taper la commande suivante : sudo apt-get update.
Il est également recommandé ensuite de faire la mise à jour de tous les paquets installés sur le
système vers les dernières versions. Nous tapons pour cela, la commande suivante :
sudo apt-get upgrade
Afin de nous permettre de détecter la clé 3G+ qui nous servira de modem GSM et que nous
connecterons à l'ordinateur via un port USB, il est recommandé d'installer l'application wvdial.
Pour cela tapons la commande sudo apt-get install wvdial.
wvdial est une application permettant de se connecter à Internet avec un modem RTC 56 K, un
téléphone ou une clé 3G. Il est utilisé dans le cas précis pour détecter le port sur lequel est
connectée la clé 3G. Pour détecter le port de connexion de la clé 3G+, il suffit de taper la
commande suivante : sudo wvdialconf.
Il est également nécessaire d’installer les paquets gcc et libxml2-devel en tapant la commande
sudo apt-get install gcc libxml2-devel

2.2.1.2 Configuration du modem


Sous Linux, il est nécessaire d’installer usb-modeswitch pour que la clé internet 3G
puisse effectivement se comporter comme un modem et non pas comme un disque contenant
les pilotes pour Windows. Pour cela il faut connecter le modem Huawei 3G (Clé Orange), ouvrir
un terminal et taper la commande sudo su pour avoir les droits du super utilisateur puis saisir
le mot de passe utilisateur.
Ensuite, taper la commande apt-get install usb-modeswitch pour installer le
paquet relatif à la configuration du modem.
Toujours sur le terminal, taper gedit /etc/udev/rules.d/62-option-modem-modeswitch.rules
pour éditer le fichier de configuration.
Dans le fichier ouvert ; saisir le paragraphe suivant :
SUBSYSTEM=="usb",
ATTR{idVendor}=="12d1",
ATTR{idProduct}=="141b",
RUN+="/lib/udev/modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd"

Conception et implémentation d’une solution de communication par SMS Page 77


Chapitre 5 : Mise en œuvre

qui caractérise la configuration du modem. Pour l’avoir il faut exécuter la commande lsusb.
Changer la valeur de ATTR{idProduct} par votre idProduct.

Figure 35: Résultat de la commande lsusb

Enregistrer et fermer le fichier.


Toujours sur le terminal continuer en tapant : minicom -s. Aller à la troisième ligne qui
est : Serial port setup ou Appuyer sur la touche "Entrée" et taper A.
Effacer tout ce qui est après /dev/tty et remplaçer par USB0. Ce qui donne /dev/ttyUSB0.
Taper la touche "Entrer" deux (2) fois, aller à la ligne 6 qui est : Save setup as dfl ou taper
"Entrée" deux (2) fois. Ensuite, faisons "CTRL+A", puis appuyer sur la touche "q" pour quitter.
Pour vérifier que le modem est bien configuré et est synchronisé, ouvrir un terminal et taper la
commande sudo wvdialconf. Le résultat de cette commande est affiché comme présenté
sur la figure ci-dessous.

Conception et implémentation d’une solution de communication par SMS Page 78


Chapitre 5 : Mise en œuvre

Figure 36 : Résultat de la commande wvdialconf

La ligne found a modem on /dev/ttyUSB0… indique que le modem est détectable et


bien connecté.
Le modem est maintenant configuré. La prochaine étape consiste à installer et configurer
Kannel comme passerelle SMS.

2.2.2 Installation de Kannel


Pour installer Kannel, il suffit d’exécuter la commande suivante :
sudo apt-get install kannel
Il est également possible de télécharger le paquet depuis le site web de kannel, le décompresser
dans un répertoire et ensuite le compiler. (Voir la documentation de kannel)

2.2.3 Démarrage de kannel


Pour démarrer la passerelle, il faut démarrer chaque box dont on a besoin. Il est
obligatoire de démarrer le bearerbox, et selon que l’on veut une passerelle WAP ou SMS, il
faut démarrer le wapbox ou le smsbox. Il est possible de démarrer plusieurs boxes en même
temps, mais nous expliquons le cas simple de les démarrer un à un.
Le démarrage de Kannel nécessite le répertoire du fichier de configuration ; dans notre cas il
s’agit du fichier kannel.conf situé dans le répertoire « /etc/kannel/».
Pour démarrer Kannel il faut exécuter les commandes suivantes :

Conception et implémentation d’une solution de communication par SMS Page 79


Chapitre 5 : Mise en œuvre

✓ Démarrer d’abord le bearerbox:


sudo bearerbox –v 1 /etc/kannel/kannel.conf ou encore
sudo ./bearerbox -v 1 /etc/kannel/kannel.conf
Un message du genre « AT SMSC successfully opened », en dernière position comme
sur la figure ci-dessous, indique que le bearerbox a bien démarré.

Figure 37 : Bon démarrage du bearerbox

Si par contre vous rencontrez des messages d’erreur, referez-vous à la documentation de


Kannel.
Le -v 1 définit le niveau de journalisation INFO. De cette façon, vous ne verrez pas une grande
quantité de sortie de débogage (la valeur par défaut est DEBUG). Une explication complète des
arguments de Kannel en ligne de commande est disponible dans le guide utilisateur 19de Kannel.
✓ Démarrer ensuite le smsbox :
sudo smsbox –v 1 /etc/kannel/kannel.conf
sudo ./smsbox -v 1 /etc/kannel/kannel.conf

19
Userguide : http://www.kannel.org/download/1.4.3/userguide-1.4.3/userguide.html

Conception et implémentation d’une solution de communication par SMS Page 80


Chapitre 5 : Mise en œuvre

Figure 38 : Bon démarrage du smsbox

✓ Et si nécessaire démarrer le wapbox par :


sudo wapbox –v 1 /etc/kannel/kannel.conf
sudo ./wapbox -v 1 /etc/kannel/kannel.conf

2.2.4 Etats de Kannel (kannel statuses)


Dans Kannel, il y a cinq états pour le programme (qui, actuellement, sont directement
applicables seulement au bearerbox).
✓ Running : La passerelle accepte, traite et compte normalement messages. Ceci est l'état
par défaut du bearerbox.
✓ Suspended : La passerelle n'accepte pas de nouveaux messages en provenance des
SMSC, ni des ports UDP. Elle n’accepte ni de nouvelles connexions smsbox et wapbox, ni
envoie des messages déjà dans le système avant.
✓ Isolated : Dans cet état, la passerelle n'accepte pas les messages provenant de
fournisseurs de messagerie externes, ce qui signifie le SMSC et les ports UDP. Elle traite encore
des messages dans le système et peut accepter de nouveaux messages venant de l'interface
sendsms dans le smsbox.

✓ Full : La passerelle n’accepte pas les messages venant des SMSC, car la longueur
maximale de la file d'attente est atteinte.

Conception et implémentation d’une solution de communication par SMS Page 81


Chapitre 5 : Mise en œuvre

✓ Shutdown : Lorsque la passerelle est dans cet état, elle n'accepte pas de nouveaux
messages venant des SMSC et des ports UDP, mais traite tous les processus déjà dans le
système. Dès que les files d'attente sont vidés, le système se ferme (exit).

L'état de Kannel peut être modifié via l'interface d'administration HTTP (voir ci-
dessous), et l'arrêt peut également être initié via TERM ou un signal INT à partir d’un terminal
(invite de commande). En outre, le bearerbox peut déjà être démarré à l’état « suspended » ou
à l'état « Isolated » avec les options -S ou -I en ligne de commande.

2.2.5 Administration de Kannel


Kannel peut être commandé par l'intermédiaire d'une interface d'administration http ou à travers
la ligne de commande. La syntaxe en mode HTTP est la suivante :
http://localhost:13000/[command]?password=[mot_de_passe_admin].
Les commandes sont multiples, et peuvent être par exemple du type « resume » pour redémarrer
le serveur s’il était isolé auparavant, « status » pour prendre connaissance du statut du serveur,
ou « shutdown » pour arrêter le traitement des SMS à ceux qui se trouve déjà dans la file
d'attente.
Par exemple, pour voir l’état du serveur Kannel (voir s’il est bien en marche), il suffit de taper
l’url http://localhost:13000/status?password=kannel dans un navigateur web.
Le tableau 15 indique la liste complète des commandes disponibles pour l'administration de
Kannel.

Conception et implémentation d’une solution de communication par SMS Page 82


Chapitre 5 : Mise en œuvre

Tableau 15 : Liste des commandes pour l'administration de Kannel


NOM COMMANDE ACTION
status Montre le statut du serveur
store-status Montre les statuts des messages en mémoire
log-level Montre les informations sur le log
Pour arrêter le traitement des SMS à ceux qui
shutdown
se trouve déjà dans la file d'attente
suspend Arrête le serveur
isolate Pour isoler le serveur des messages
Redémarrer le serveur s'il était isolé
resume
auparavant
start-smsc Redémarre un seul lien SMSC.
stop-smsc Arrête un seul lien SMSC
Ajoute un lien SMSC précédemment
add-smsc supprimé ou créé après le démarrage du
service.
remove-smsc Supprime un lien SMSC existant.
restart Redémarre le serveur
Si l'état de Kannel est « suspendu » cela
videra tous les messages en attente DLR dans
flush-dlr
l'espace de stockage actuel. Mot de passe
requis.
stop-smsc Arrête un SMSC (il faut spécifier son id)
start-smsc Démarre un SMSC (il faut spécifier son id)
reload-lists Recharge les listes
Supprime le message avec l'identifiant donné
remove-message (un UUID) à partir du sous-système de
stockage local.

Les commandes nécessaires à l’administration de kannel en mode HTTP sont listées dans le
tableau ci-dessus. Il s’agit entre autres des commandes permettant de voir l’état du serveur
kannel, de redémarrer ou d’arrêter le serveur, etc…

2.3 Configuration de Kannel


Kannel est un logiciel libre servant de passerelle GSM/IP fonctionnant sur la majorité
des systèmes d'exploitation UNIX parmi lesquels Linux.
Son implémentation comme passerelle/serveur SMS consiste à l'installer et le configurer de
manière à recevoir des requêtes d'envoi de SMS par le protocole HTTP et les soumettre aux
modems GSM auxquels il est raccordé par le port série ou USB. Aussi, de recevoir les SMS à
partir des modems auxquels il est rattaché et interpréter ces SMS en requête HTTP vers une
URL définie.
En fonction de l’utilisation que l’on veut en faire, le libellé des fichiers de configuration,
essentiellement organisés en groupes, varie. Cependant, les fichiers relatifs au « bearerbox »

Conception et implémentation d’une solution de communication par SMS Page 83


Chapitre 5 : Mise en œuvre

sont obligatoires. En effet, les groupes « core » et « smsc » administrent le bearerbox tandis
que les groupes « smsbox », « sms-service » s’occupent du smsbox. Les différents groupes
sont définis par une succession de variables. La syntaxe impose que ces groupes soient séparés
les uns des autres par au moins une ligne vierge. D’une façon générale, il existe trois types de
variables à savoir :

✓ les variables obligatoires : elles sont indispensables au bon fonctionnement du groupe,


✓ les variables optionnelles : elles ne sont mentionnées que lorsque besoin il y a,
✓ les variables facultatives : leur absence, n'entame en rien le bon fonctionnement de
l'application.
La syntaxe générale des lignes de variable se présente comme suit :
Variable = valeur
Toutefois, une variable peut être ajoutée et désactivée, juste en plaçant « # » au début de la ligne
correspondante.
L’édition des fichiers de configurations est strictement personnalisée, puisque dépendant des
besoins exprimés. Cette édition peut se faire à partir de l'éditeur de texte, « gedit » dans notre
cas.
Le fichier final est enregistré dans un répertoire à rappeler chaque fois que l’on voudra démarrer
l'application.
Le fichier de configuration peut être divisé en trois parties :
✓ configurations du bearerbox,
✓ configurations du smsbox
✓ et configurations du wapbox.
La partie Bearerbox a un « groupe core » et tous les groupes de SMSC, alors que la partie
wapbox a seulement un groupe wapbox. Mais dans le cas présent le wapbox n’est pas configuré.
Dans la partie smsbox il y a un groupe smsbox et puis bon nombre de groupes sms-service
et sendsms-user.

2.3.1 Configuration du bearerbox

Pour configurer Kannel, il faut éditer son fichier de configuration (/etc/kannel/kannel.conf).


Pour ce faire il suffit d’exécuter la commande ci-dessous dans un terminal.
sudo gedit /etc/kannel/kannel.conf

• Groupe Core : Ce groupe est désigné comme « de base » dans le fichier de


configuration, et devrait être le premier groupe dans le fichier de configuration.

Conception et implémentation d’une solution de communication par SMS Page 84


Chapitre 5 : Mise en œuvre

# Configuration du groupe Core


group = core
admin-port = 13000
admin-password = kannel
status-password = kannel
admin-allow-ip = "*.*.*.*"
wapbox-port = 13001
smsbox-port = 13002
log-file = "/var/log/kannel/bearerbox.log"
access-log = "/var/log/kannel/bearerbox-access.log"
log-level = 1
unified-prefix = "00225, 225,00"

• Groupe SMSC : Il permet de définir les SMSC que Kannel pourra utiliser

#Configuration du SMSC
group = smsc
smsc = at
smsc-id = Huawei-E1552
modemtype = huawei_e1552
device = /dev/ttyUSB0 (donné par la commande wvdialconf)
host = localhost
sms-center = +22507070002
my-number = +22587047813
keepalive = 10
speed = 9600
sim-buffering = true
#allowed-prefix = "+225;225;0"
unified-prefix = "+225,225;+,00"
pin = 0000
log-file = /var/log/kannel/smsc-.log
log-level = 1

• Groupe modems : La configuration du groupe « modems » précise les paramètres sous


lesquelles doit fonctionner les modems :

Conception et implémentation d’une solution de communication par SMS Page 85


Chapitre 5 : Mise en œuvre

#Modems
group = modems
id = huawei_e1552
name = "huawei E1552"
detect-string = "Huawei"
init-string ="ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
message-storage = "SM"
speed = 9600

2.3.2 Configuration du smsbox


• Groupe smsbox : Il définit la configuration de Kannel qui gère l’envoi et la réception
de SMS.
#Configuration du Smsbox
group = smsbox
bearerbox-host = localhost
bearerbox-port = 13001
sendsms-port = 13013
sendsms-url = "/cgi-bin/sendsms"
sendsms-chars = "0123456789+-"
global-sender = 87047813
log-file = "/var/log/kannel/smsbox.log"
log-level = 1
access-log = "/var/log/kannel/smsbox-access.log"

• Groupe sendsms-user : Il permet de définir les utilisateurs pouvant utiliser l’envoi de


SMS via le web. La configuration se fait en entrant un nom et un mot de passe utilisateur.

#Section de définition des utilisateurs


group = sendsms-user
username = kannel
password = kannel
forced-smsc = huawei-E1552
user-allow-ip = "*.*.*.*"
concatenation = true
max-messages = 6

Conception et implémentation d’une solution de communication par SMS Page 86


Chapitre 5 : Mise en œuvre

• Groupe sms-service : Il permet de définir les services SMS à utiliser. Chaque service
est identifié par un mot clé et l’application qui se chargera de traiter les requêtes.

Exemple de Configuration de Service SMS


#Service SMS de Test
group = sms-service
accepted-smsc = Huawei-E1552
keyword = test
catch-all = true
text="Configuration de kannel réussie. Bravo !!! "

2.4 Test de l’envoi de SMS avec Kannel

L’envoi de SMS avec kannel peut se faire à partir d’un terminal ou par un navigateur
web en tapant l’url suivante :
http://localhost:13013/cgi-bin/sendsms?username=kannel&password=kannel&from=
0022587047813&to=0022557433225&text=Bonjour
Nous recevons le message 0: Accepted for delivery qui signifie que le message a été accepté
et est livré vers un SMSC. Notons que ce statut ne garantit pas que le destinataire reçoive le
message.
Pour plus d’informations sur les codes de réponse des envois de SMS voir le tableau de
l’annexe 3.

2.5 Test de la configuration de services SMS

Pour tester le bon fonctionnement du service SMS « test », il faut envoyer le mot clé
« test » par SMS au numéro de la carte SIM du modem GSM. Le téléphone portable reçoit en
retour le message "Configuration de kannel réussie. Bravo !!! ". Ce qui signifie que Kannel
a été configuré correctement. La passerelle SMS est donc prête à être associée à l’application
web pour former le serveur SMS.

3. Couplage de Kannel et la plateforme web


Le couplage de Kannel avec la plateforme web est relativement simple et se fait dans le
fichier de configuration de Kannel précisément dans le groupe sms-service. Pour ce faire
il suffit d’éditer le fichier de configuration, de créer ensuite un service SMS et d’affecter à la
variable get-url (Resp. post-url si vous utilisez la méthode POST, dans le groupe sms-service)
du service SMS en question, le lien ou le chemin d’accès à au fichier PHP.

Conception et implémentation d’une solution de communication par SMS Page 87


Chapitre 5 : Mise en œuvre

Pour la suite, cinq différents services SMS (Moyenne, Information, Scolarité, heures d’absences
et Emploi du temps) ont été créés ayant respectivement pour mot clé MOY, INFO, SCO, HABS
et ETH.
Le service MOYENNE a pour but de permettre aux étudiants et aux parents d’élèves de
consulter les moyennes en fin de Trimestre ou semestre.
Le service INFORMATION permet à toute personne d’avoir des informations générales sur
l’école (Filières, montant inscription et scolarité, cycles, etc.)
Le service SCOLARITE quant à lui, permet aux étudiants d’avoir leur situation vis-à-vis de la
scolarité (Coût de la formation, total versé, solde).
Le service HEURE ABSENCE permet de consulter les heures d’absences cumulées par
l’étudiant à un moment donné.
Enfin le service EMPLOI DU TEMPS permet aux étudiants de consulter leur emploi du temps
en début de semaine (le dimanche par exemple) sans se déplacer.

4. Configuration des services


Le groupe « sendsms-user » permet de définir les utilisateurs accrédités pour l'envoi de
SMS, alors que le groupe « sms-service » permet de définir les services SMS à mettre en place.
Chaque service est identifié par un mot clé dont l'application se chargera de renvoyer de façon
automatique la réponse lui correspondant. Bref, ce sont ces services qui confèrent à Kannel sa
fonction de serveur SMS. La configuration de ces services peut se présenter comme suit :

# Service Consultation des MOYENNES trimestrielles par SMS


group = sms-service
accepted-smsc = Huawei-E1552
keyword = MOY
#catch-all = true
get-url = ”http://localhost/mangosms/moyenne.php?exp=%p&msg=%a”
concatenation = true
max-message = 6

Conception et implémentation d’une solution de communication par SMS Page 88


Chapitre 5 : Mise en œuvre

#Création du Service SMS d’INFORMATION


group = sms-service
accepted-smsc = Huawei-E1552
keyword = INFO
#catch-all = true
get-url = ”http://localhost/mangosms/info-ecole.php?exp=%p&msg=%s”
concatenation = true
max-message = 6

#Création du Service SMS ETH


group = sms-service
accepted-smsc = Huawei-E1552
keyword = ETH
#catch-all = true
get-url = ”http://localhost/mangosms/eth.php?exp=%p&msg=%s”
concatenation = true
max-message = 6

#Création du Service SMS HEURE D’ABSENCE


group = sms-service
accepted-smsc = Huawei-E1552
keyword = HABS
#catch-all = true
get-url = ”http://localhost/mangosms/heure_abs.php?exp=%p&msg=%a”
concatenation = true
max-message = 6

#Création du Service SCOLARITE


group = sms-service
accepted-smsc = Huawei-E1552
keyword = SCO
get-url = ”http://localhost/mangosms/scolarites.php?exp=%p&msg=%a”
concatenation = true
max-message = 6

Conception et implémentation d’une solution de communication par SMS Page 89


Chapitre 5 : Mise en œuvre

5. Utilisation des services SMS


L’utilisation des services SMS se fait par l’envoi de message avec des mots clés
suivant une syntaxe bien définie.
Ainsi, pour le service MOYENNE, la syntaxe des SMS est la suivante :
MOY [matricule_étudiant] [code_secret] [trimestre]
Pour le service « Emploi du Temps », nous avons la syntaxe suivante :
ETH [classe_étudiant]
Pour le service « SCOLARITE », nous avons la syntaxe suivante :
SCO [matricule_étudiant] [code_secret].
Pour le service « HEURE D’ABSENCE », nous avons la syntaxe suivante :
HABS [matricule_étudiant] [code_secret] [trimestre]
Et enfin pour le service « INFORMATION » la syntaxe est :
INFO [Cycle].

Conception et implémentation d’une solution de communication par SMS Page 90


Chapitre 6 : Présentation de l’application

Chapitre 6 : PRESENTATION DE L’APPLICATION

1. Architecture globale du système

Passerelle Kannel

TCP/IP
Bearerbox SMSC Opérateur Mobile
SMPP

TCP/IP

TCP/IP
Smsbox APPLICATION
HTTP

Figure 39 : Architecture globale du système

2. Principe de fonctionnement du système

2.1 Envoi et réception de SMS à travers notre application

Kannel

bearerbox

Modem GSM + SIM


smsbox

Phone Réseau GSM modem USB Passerelle SMS serveur de contenu


(Apache+PHP+MySQL)

Légende:
SMS requête

SMS réponse

Figure 40 : Envoi de SMS à travers le système

Dans le cas d’un envoi de SMS, l’administrateur compose le message à partir de l’application
web et l’envoie. Le SMS arrive au niveau du smsbox qui l’achemine vers le bearerbox. Le SMS

Conception et implémentation d’une solution de communication par SMS Page 91


Chapitre 6 : Présentation de l’application

est ensuite transmis au modem GSM qui se charge de le transmettre au destinataire à travers le
réseau GSM.
Dans le cas de la réception d’un SMS-requête, une série d’actions est exécutée par le système
à la suite de laquelle une réponse est renvoyée au demandeur. Le traitement des SMS-requête
est détaillé dans la section ci-dessous.

2.2 Traitement des SMS-requête

1
SERVEUR
2 MANGOSMS
3

Utilisateur des
services SMS

Figure 41 : Procédure de traitement des SMS-Requête

1- Lorsqu’un étudiant ou un parent d’élèves désire avoir une information, il envoie un SMS
contenant un mot clé qui caractérise la nature de l’information demandée. Le SMS arrive au
niveau du bearerbox qui le transmet par la suite au smsbox.
2- Le smsbox analyse le contenu du SMS en vue de trouver un éventuel mot clé. Une fois
le mot clé identifié, le smsbox exécute l’action qui lui est associée. Dans notre cas les actions à
exécuter sont des scripts PHP qui vont à chaque fois ramener des informations stockées dans
une base de données.
Le traitement des requêtes SMS est structuré comme suit :

✓ Récupération du numéro de l’expéditeur du message et du contenu du SMS à travers


respectivement les directives %p et %a (ou %s)
✓ Analyse du contenu du message en vue de séparer de mot clé du reste du contenu du
SMS
✓ Analyse du reste du message sans le mot clé et traitement de la requête correspondant
3- Le résultat du traitement de la requête est ensuite transmis à kannel qui se chargera de
le soumettre au modem GSM. C’est ce dernier qui transmettra la réponse à la demande au
demandeur à travers le réseau GSM.

Conception et implémentation d’une solution de communication par SMS Page 92


Chapitre 6 : Présentation de l’application

3. Présentation de l’application web


3.1 La page de connexion

Figure 42 : Page de connexion à MangoSMS

Cette page permet d’accéder à la plateforme MangoSMS. Un login et un mot de passe sont
requis.

3.2 La page d’accueil

La page d’accueil contient le formulaire d’envoi de SMS. Les destinataires peuvent être
renseignés directement ou en les ajoutant à partir du carnet d’adresses. Il est également possible
d’ajouter un groupe de contacts comme destinataire dans le cas où l’on souhaite envoyer un
même message à un groupe de personnes par exemple à tous les élèves d’une même classe.

Conception et implémentation d’une solution de communication par SMS Page 93


Chapitre 6 : Présentation de l’application

Figure 43 : Page d'accueil MangoSMS

3.3 Messages envoyés


Cette page liste l’ensemble des messages envoyés. Les messages transmis avec succès
sont enregistrés dans l’onglet Envoyés et ceux non transmis sont enregistrés dans l’onglet
Brouillons.

Figure 44 : Page Messages envoyés

Conception et implémentation d’une solution de communication par SMS Page 94


Chapitre 6 : Présentation de l’application

3.4 Page de saisie de données

Cette page permet la saisie des données relatives aux étudiants à savoir ajouter des
étudiants, saisir les versements, les moyennes, les heures d’absences…

Figure 45 : Page de saisie des infos Etudiant

Conception et implémentation d’une solution de communication par SMS Page 95


Chapitre 6 : Présentation de l’application

3.5 Le carnet d’adresses

Il s’agit du répertoire des contacts des étudiants et leurs parents. Il est possible
d’afficher tout le répertoire ou afficher les contacts par groupe.

Figure 46 : Carnet d’adresses

Conception et implémentation d’une solution de communication par SMS Page 96


Conclusion

CONCLUSION
Ce projet, a permis tout d'abord l’étude d’un secteur d'activité issu des TIC, celui des
nouveaux services à valeur ajoutée sur les réseaux radio-mobiles GSM. Pour offrir ce type de
services, une solution reposant sur la technologie du service de messages courts (SMS) du GSM
a été décrite.
Ce stage a été une expérience enrichissante. Il a permis d’une part de mettre en pratique
les connaissances théoriques acquises tout au long de la formation et d’autre part de réaliser un
outil tant désiré en milieu professionnel.
L'infrastructure SMS mise en place a exigé à la fois un minimum de connaissance du réseau
GSM, particulièrement le monde du SMS et des outils de développement informatique,
puisqu'il est désormais impensable de dissocier les télécommunications de l'informatique. Cette
infrastructure SMS joue un double rôle.
Le serveur SMS et la plateforme web facilitent les communications et l’accès aux
informations pour les différents acteurs de l’école.
L'expérience acquise suite à ce travail, montre que l'avenir de la téléphonie mobile passe par de
telles applications ; car le plus important est de permettre une pleine utilisation des SMS, vu
que presque tout le monde y est attiré.
L'un des problèmes rencontrés, était la documentation en français sur la passerelle
Kannel. Cela nous a pris beaucoup de temps pour comprendre comment installer et configurer
notre passerelle, mais tout s'est bien déroulé dans l'ensemble. L'autre problème était lié à la
maitrise du langage PHP, ce qui avait un peu ralentit l'élaboration de ce projet.
La réalisation de ce projet ne s'est pas faite d'un point de vue technique de façon aisée,
car il n'a pas suffi de disposer simplement de certaines documentations sur le site officiel de
Kannel pour la mise en place de cette infrastructure SMS. D'ailleurs, les foires aux questions
sur Internet appelées forum en témoignent.
Au final, ce projet a permis la compréhension de la technologie TCP/IP, des commandes
Linux et de la programmation en PHP. Aussi, l’on a beaucoup appris sur les solutions « Open
Source » et leur place dans l'implémentation de produits téléinformatiques.
Aussi avec humilité nous ne perdons pas de vue que ce document est loin d'avoir tout
dit puisque le fossé entre la mobilité des personnes et leur besoin d’être constamment informé
reste encore à être réduit.
Le système mis en place ne permet pas de traiter un grand nombre de SMS à la fois (capacité
de traitement estimée à 10 SMS par minute). Pour atteindre des performances plus élevées, il

Conception et implémentation d’une solution de communication par SMS Page 97


Conclusion

faudrait acheter un compte SMSC chez un opérateur mobile et relier le serveur MangoSMS
directement au SMSC de l’opérateur via une liaison spécialisée.
Cependant, les nouvelles générations de réseau permettent d'envoyer en plus des
messages textes, des contenus images, audio et vidéo. Il est donc possible d’envisager de
réaliser un autre type de service à valeur ajoutée basé sur le MMS (Multimedia Messaging
Service), qui est une version améliorée du SMS permettant l’envoi et la réception de contenu
multimédia. Mbuni est une passerelle MMS Open Source qui permet de mettre en place ce type
de service. Les établissements pourraient ultérieurement juger utile la nécessité d'avoir cette
solution pour leurs besoins de communication avec tous leurs partenaires.

Conception et implémentation d’une solution de communication par SMS Page 98


Bibliographie

BIBLIOGRAPHIE

Ouvrages et documentations (ebooks)


[1] DI GALLO Frédéric, 2001, Méthodologie des systèmes d'information – merise, Support de
cours, 101p.
[2] EFORT (http://www.efort.com), 2009, Short message service : principes et architecture,
8p.
[3] Huawei Technologies Co., 2003, Clé 3G+ Huawei E1552 : Guide d’utilisation, 12p.
[4] LAGRANGE Xavier, GODLEWSKI Philippe, TABBANE Sami, 2000, Réseaux GSM,
Paris, 528p., Hermes Science Publications, 5ème édition.

Mémoires
[5] Abdoulaye Ly et Baba Ngom, Mise en place de services à valeur ajoutée et d’un serveur
de streaming, 100p.
[6] GOMES Frédéric, 2011, Mise en place d’un système d’alerte précoce par sms via Kannel,
mémoire de fin de cycle, 68p.
[7] HADDAD Youssef, 2004, Qualité de service d’un SMSC, mémoire de fin de cycle, 73p.
[8] Mame Meissa BEYE & Habsatou Niang, 2010, Mise en œuvre d’une plateforme web
d’envoi de sms, mémoire de fin de cycle, 68p.
[9] Nana Tchoutang Anicet, 2009, Etude d'une passerelle/serveur sms : Kannel, mémoire de
fin de cycle, 17p.

Conception et implémentation d’une solution de communication par SMS Page 99


Webographie

WEBOGRAPHIE

[W1] Services à Valeur Ajoutée : tic-act.blogspot.com/2012/04/telecom-it-les-services-


valeurajoutee.html, consulté le 25 octobre 2015.
[W2] http://www.kannel.org/arch.shtml, http://www.kannel.org/userguide.shtml, Manuels de
configuration de kannel, consulté le 17 octobre 2015, disponibles également en format PDF.
[W3] Installation de LAMP : https://doc.ubuntu-fr.org/lamp, consulté le 05 décembre 2015
[W4] Installer et configurer Passerelle SMS, http://weendu.com/docs/wdu/?docid=gjdgy8,
consulté le 21 octobre 2016.
[W5] http://www.memoireonline.com : Envoi de SMS / EMAIL via Internet et/ou Modem
GSM, consulté le 30 octobre 2015.
[W6] http://www.memoireonline.com : Mise en place d'une passerelle SMS avec Kannel,
consulté le 30 octobre 2015.
[W7] http://www.memoireonline.com : Implémentation d'un portail SMS à base du logiciel
KANNEL, consulté le 30 octobre 2015.
[W8] http://www.memoireonline.com : Conception et réalisation d'un serveur SMS couplé à
un système de gestion de la scolarité, consulté le 11 juillet 2016.
[W9] http://fyouzan.ci/index.php?post/2014/03/24/Installation-d-une-passerelle-sms-libre-
sous-Kannel-un-tutoriel-d-Emmanuel-KACOU, consulté le 24 octobre 2015.
[W10] http://djoloftek.blogspot.com/2011/05/installation-et-configuration-de-kannel.html,
consulté le 24 octobre 2015.

Conception et implémentation d’une solution de communication par SMS Page 100


Annexes

ANNEXES

Conception et implémentation d’une solution de communication par SMS Page 101


Annexes

Annexe 1 : Comment développer un ESME

Selon une étude faite par Atique Ahmed Khan, l’initiateur du projet SCADA, il y a 3 manières
de développer une application SMS (ESME) en général :

1. Utiliser un dispositif sans fil :


Le moyen le plus rentable de mettre en place des ESME légers dans les organisations
est d’utiliser un équipement tel qu’un modem GSM qui est connecté au serveur d’application
via le port série et qui permet de transférer les données sur le réseau GSM. L’avantage de cette
solution est sa modularité : Si le ESME tombe en panne alors le système de la banque ne sera
pas affecté. L’inconvénient est que le matériel ne supporte pas un grand flux de données.

2. Se connecter au SMSC directement :


Le moyen le plus rapide de transférer les SMS via le réseau GSM est de se connecter
directement au SMSC ou à la passerelle SMS (Voir les passerelles SMS ci-après). Cette
méthode exige que l’application SMS soit intégrée au réseau de l’opérateur téléphonique. Le
lien de communication entre le logiciel d’application et le SMSC peut s’assurer par un réseau
TCP/IP ou une connexion X.25. L’avantage est la rapidité de la transmission des SMS.
L’inconvénient est que le SMSC est ainsi exposé à toute connexion externe.

3. Utiliser les API :


Le moyen le plus répandu pour développer des ESME est l’implémentation des API
(Application Programming Interface) dans le logiciel de l’application. Une connexion Internet
est établie à partir de l’application (le serveur SMS) qui permet de transférer les données du
client à la passerelle SMS du provider qui offre le service puis au réseau GSM. L’avantage est
que les API permettent l’envoi d’un grand flux de SMS à la fois (Envoi en Bulk).
L’inconvénient est que les API qui offrent une bonne qualité de services sont payantes.

Conception et implémentation d’une solution de communication par SMS Page I


Annexes

Annexe 2 : Les principaux protocoles de SMSC


1. Le protocole SMPP
Le SMPP (Short Message Peer to Peer) est un protocole standard d'échange qui permet
le transfert des SMS entre le SMSC et l'ESME. Il utilise en général deux connexions TCP/IP,
l'une pour l'envoi de données (Transmitter) et l'autre pour la réception (Receiver). Il existe un
autre mode (Transceiver) où l'envoi et la réception de données sont faits sur la même connexion
TCP/IP.

Le contexte SMPP dans le réseau GSM


Le SMPP permet entre autres de : transmettre le SMS d'un ESME vers une destination unique
ou multiple via le SMSC, recevoir le SMS sur l'ESME via le SMSC, gérer un SMS sauvegardé
dans le SMSC, envoyer un SMS enregistré, planifier l'envoi du SMS etc.
2. Le protocole EMI
Le protocole EMI (External Machine Interface) est une extension du protocole UCP
(Universal Computer Protocol), utilisé principalement pour connecter le SMSC et la Station
Mobile. Il a été développé par CMG Wireless Data Solutions et fait partie actuellement de
LogicaCMG, le leader des marques des SMSC. Son fonctionnement s'apparente au protocole
SMPP.
3. Le protocole CIMD2
CIMD (Computer Interface Message Distribution) est un protocole propriétaire de
Nokia. CIMD2 est la version 2 de ce protocole. Le protocole CIMD2 transporte des messages
à partir d'applications informatiques pour des téléphones mobiles. Ces messages sont délivrés
au téléphone par des messages SMS (Short Message Service). Les SMS envoyés à partir de
téléphones mobiles sont reportés à des ordinateurs par le protocole. La traduction entre les
normes de messagerie qui se passe au Centre SMS.CIMD2 ne couvre que le transfert des
messages à partir d’applications informatiques vers le Centre SMS et les SMS à partir du Centre
SMS vers les applications informatiques. L'interaction des messages entre le centre SMS et le
téléphone portable suit les protocoles SMS réguliers.

Conception et implémentation d’une solution de communication par SMS Page II


Annexes

Annexe 3: Table 6-15. SMS Push reply codes

Status Body Meaning


202 0: Accepted for Le message a été accepté et est livré vers un pilote SMSC. Notez
delivery que ce statut ne garantit pas que le destinataire reçoive le
message.
202 3: Queued for Le Bearerbox a accepté et stocké le message, mais il n'y avait
later delivery temporairement pas de pilote SMSC pour accepter le message de
sorte qu'il a été mis en attente. Cependant, il doit être livré
ultérieurement.
4xx (varies) Il y avait quelque chose d’incorrect dans la demande ou Kannel
a été configuré de telle sorte que le message ne peut pas être en
aucun cas livrés. Vérifiez la requête et la configuration Kannel.
503 Temporal Il y avait défaillance temporaire dans Kannel. Réessayez plus
failure, try tard.
again later.

Annexe 4: Significations de quelques commandes AT

Command Answer Meaning


Serial cable works and current serial settings are
AT OK
useable
AT+CPIN? READY The modem knows the PIN already
PIN The modem needs the PIN number
PUK The modem needs the PUK (the pin is locked)
ERROR The SIM card if not found
AT+CPIN=1111 OK Enter the PIN
ERROR The PIN is wrong or it was entered before
AT+CPIN=12345678,1111 OK Enter the fixed PUK and set a new PIN
ERROR The PUK is wrong
AT+CREG? 0,1 The modem is connected to the phone network
0,2 The modem is connecting to the phone network
The modem is connecting to a roaming partner
0,5
network
other The modem is not connected to the network

Conception et implémentation d’une solution de communication par SMS Page III


Annexes

Annexe 5 : Procédure de transfert SMS point à point

A- Service SM-MO (Short Message Mobile Originated)

Avec le service SM-MO, la station mobile envoie un message court au SMSC. Dans ce cas, le
cheminement logique des messages courts est le suivant : MS  MSC  IWMSC  SMSC
(FigureA5 1).
Lorsque l'utilisateur mobile souhaite envoyer un message court, il doit indiquer l’adresse du
destinataire et l’adresse du SMSC.
1. L’émetteur remet le message court à son MSC/VLR de rattachement (VMSC/VLR, Visited
MSC/VLR) à travers la demande SMS-SUBMIT.
2. Le MSC émet un message MAP-SEND-INFO-FOR-MO-SMS à son VLR pour lui
demander le numéro de téléphone (MSISDN, Mobile Station ISDN Number) de l’émetteur et
pour vérifier qu’aucune restriction n’est imposée à cet émetteur.
3. Le VLR retourne alors une réponse MAP-SEND-INFO-FOR-SMS-ack.
4. Si la réponse est positive, le MSC émet le message MAP-MO-FORWARD-SHORT-
MESSAGE à la fonction SMS-IWMSC à travers le réseau SS7. Ce message contient l’adresse
du SMSC, les numéros MSISDN de l’émetteur et du destinataire, et le message court. Le
message court est donc véhiculé dans une transaction MAP.
5. La fonction SMS-IWMSC le retransmet à son tour au SMSC. Le SMSC stocke le message
et les adresses dans sa mémoire.
6. Le SMSC retourne une réponse (rapport de livraison) au SMS-IWMSC.
7. Ce rapport est inclus dans le message MAP-MO-FORWARD-SHORT-MESSAGE-ack
retourné par le SMS-IWMSC au MSC.
8. Le MSC retourne à l’émetteur un message SMS-STATUS-REPORT.

Conception et implémentation d’une solution de communication par SMS Page IV


Annexes

FigureA5 47 : Service de base SM-MO

B- Service SM-MT (Short Message Mobile Terminated)

Avec le service SM MT, une station mobile reçoit un message court du SMSC. L’émetteur du
message peut être une autre station mobile ou toute entité externe au réseau (ex. un PC). Le
cheminement logique des messages courts dans le cas du service de base SM MT est le suivant
: SMSC  SMS-GMSC  MSC  MS (FigureA5 2). Décrivons-le plus précisément :
1. La fonction SMS-GMSC reçoit un message court du SMSC.
2. Cette fonction demande des informations de routage du message au HLR à travers la requête
MAP-SEND-ROUTING-INFO-FOR-SM, informations qui lui permettent de relayer le
message au MSC approprié (MSC auquel est rattachée la station mobile destinataire). Cette
requête contient notamment le numéro MSISDN du destinataire.
3. Le HLR utilise ce numéro pour rechercher les informations de routage qu’il retourne au
SMS-GMSC à travers la réponse MAP-SEND-ROUTING-INFO-FOR-SM-ack. Cette
réponse contient l’IMSI du destinataire et l’adresse du MSC de rattachement.
4. Le SMS-GMSC délivre le message court au MSC à travers une requête MAP-MT-
FORWARD-SHORT-MESSAGE.

5. Le MSC émet la requête MAP-SEND-INFO-FOR-MT-SMS à son VLR en vue d’obtenir


des informations relatives au destinataire. Le paramètre passé dans cette requête est l’IMSI du
destinataire.

Conception et implémentation d’une solution de communication par SMS Page V


Annexes

6. A partir de l’IMSI fourni par le MSC, le VLR identifie la zone de localisation (LA, Location
Area) du mobile destinataire. Le VLR lance alors une procédure de paging (MAP_PAGE),
technique consistant à effectuer une recherche sur l’ensemble de la zone où est susceptible de
se trouver le mobile demandé. Si le VLR ne connaît pas l’identité du destinataire, un message
MAP-SEARCH-FOR-SUBSCRIBER est alors émis afin de lancer la procédure de paging sur
toutes les LAs dépendant du MSC. Dans l’exemple montré à la figureA5 2, l’identification du
mobile destinataire est supposée connue. La procédure de paging est initiée par le VLR mais
effectuée par le MSC.
7. Le MSC effectue la procédure de paging sur la zone de localisation du destinataire.
8. La station mobile destinataire répond positivement.
9. Le VLR retourne une réponse MAP-SEND-INFO-FOR-MT-SMS-ack au MSC, autorisant
ce dernier à relayer le message court à la station mobile destinataire.
10. Le MSC achemine le message court au destinataire via le message SMS-DELIVER et
reçoit un acquittement SMS-STATUS-REPORT.
11. Le MSC inclut ce rapport dans la réponse MAP-MT-FORWARD-SHORT-MESSAGE-
ack retourné au SMS-GMSC.
12. Le SMS-GMSC passe le rapport au SMSC.

FigureA5 48 : Service de base SM-MT - Mobile rattaché au réseau

Conception et implémentation d’une solution de communication par SMS Page VI


Annexes

Si la station mobile destinataire est hors tension, la réponse retournée par le HLR (3)
indique cette cause. Par ailleurs le HLR introduit le numéro MSISDN du destinataire dans un
fichier de données des messages en attente (MWD File, Message Waiting Data File). MWD
consiste en une liste d’adresses de SMSC ayant des messages en attente de livraison à la station
mobile destinataire.
Lorsque la station mobile destinataire est mise sous tension, elle se rattache (IMSI Attach)
auprès d'un MSC/VLR visité. Ce dernier en informe à son tour le HLR correspondant. Si le
numéro MSISDN de la station mobile qui s’est rattaché est présent dans le fichier de données
des messages en attente, le HLR envoie une notification MAP-ALERT-SERVICE-CENTER
au SMS-GMSC pour lui demander d’informer le SMSC de la présence du destinataire ; le
SMSC relance alors complètement la procédure SM-MT (FigureA5 2).

Conception et implémentation d’une solution de communication par SMS Page VII


Table des matières

Annexe 6 : Coût du projet

Désignation Caractéristiques Quantité Prix Unitaire Prix Total

RAM: 2 Go
HDD: 500 Go
Serveur 01 250 000 250 000
Processeur: Dual
Core 2.0 GHz

Modem GSM + Huawei E1552


01 10 000 10 000
Carte SIM Type USB

Configuration
- - 200 000 200 000
et mise service

COÛT TOTAL 460 000 FCFA

Conception et implémentation d’une solution de communication par SMS Page VIII


Table des matières

TABLE DES MATIERES


DEDICACE ................................................................................................................................ 1
REMERCIEMENTS .................................................................................................................. 2
AVANT-PROPOS ..................................................................................................................... 3
LISTE DES ABREVIATIONS .................................................................................................. 4
LISTE DES FIGURES ............................................................................................................... 6
LISTE DES TABLEAUX .......................................................................................................... 8
SOMMAIRE .............................................................................................................................. 9
INTRODUCTION .................................................................................................................... 10
PREMIERE PARTIE: ETUDE THEORIQUE ET METHODOLOGIE ......................... 12
Chapitre 1 : SPECIFICATION DE LA PROBLEMATIQUE ................................................. 13
1. Justification du choix du thème ................................................................................. 13
2. Problématique ............................................................................................................ 13
3. Questions de recherche .............................................................................................. 14
4. Les objectifs de la recherche ..................................................................................... 14
4.1 Objectif général ...................................................................................................... 14
4.2 Objectifs spécifiques .............................................................................................. 14
5. Les hypothèses de la recherche.................................................................................. 15
5.1 Hypothèse générale ................................................................................................ 15
5.2 Hypothèses spécifiques .......................................................................................... 15
Chapitre 2 : REVUE DE LA LITTERATURE ........................................................................ 16
1. Le réseau GSM .......................................................................................................... 16
1.1. Architecture fonctionnelle du réseau GSM ............................................................ 16
1.1.1 Le sous-système radio (BSS) ............................................................................. 16
1.1.2 Le sous-système réseau (NSS) ........................................................................... 17
1.1.3 Le sous-système d’exploitation (OSS) ............................................................... 18
1.2. Les interfaces de communication ........................................................................... 19
1.3. Pile des protocoles au sein du réseau GSM ........................................................... 20
1.4. Les services d’un réseau GSM ............................................................................... 20
1.4.1 Les services supports .......................................................................................... 20
1.4.2 Les téléservices .................................................................................................. 21
1.4.3 Les services supplémentaires ............................................................................. 21
1.4.4 Les services à valeur ajoutée (SVA) .................................................................. 21
1.4.4.1 Les services vocaux ........................................................................................ 21
1.4.4.2 Les SVA par SMS, MMS et USSD ................................................................ 22

Conception et implémentation d’une solution de communication par SMS Page IX


Table des matières

1.4.4.3 Les SVA par Wap et Internet ......................................................................... 22


2. Le service SMS .......................................................................................................... 22
2.2 La technologie web to SMS ................................................................................... 23
3. Le service SMS au sein du GSM ............................................................................... 23
3.1 Présentation ............................................................................................................ 23
3.2 Architecture en couches ......................................................................................... 24
3.3 Format d’un message court .................................................................................... 25
3.4 Les classes de SMS ................................................................................................ 25
3.5 Les principaux protocoles de communication SMS .............................................. 26
3.5.1 Le protocole MAP .............................................................................................. 26
3.5.2 Le protocole SMPP ............................................................................................ 27
3.5.3 Description d’une session SMPP ....................................................................... 29
3.6 Entités de base du service SMS ............................................................................. 30
3.7 Fonctionnement du service SMS ........................................................................... 31
3.7.1 Présentation du SMSC ....................................................................................... 31
3.7.2 Architecture d’un SMSC .................................................................................... 31
3.7.2.1 Le logiciel ....................................................................................................... 32
3.7.2.2 Les interfaces .................................................................................................. 32
3.7.2.2.1 L’interface de l’unité de signalisation (SIU) .................................................. 32
3.7.2.2.2 Le système OAM ............................................................................................ 33
3.7.2.2.3 Le système de facturation ............................................................................... 33
3.7.2.2.4 Les entités externes de messages courts (ESME) ........................................... 33
3.7.3 Procédure d’acheminement des SMS au sein du réseau .................................... 34
3.7.3.1 Transmission des SM-MO .............................................................................. 35
3.7.3.2 Transmission des SM-MT .............................................................................. 36
3.7.3.2.1 Mobile rattaché au réseau ............................................................................... 36
3.7.3.2.2 Mobile non rattaché au réseau ........................................................................ 37
3.7.3.2.3 Le mobile revient sur le réseau ....................................................................... 37
3.7.4 Mécanisme de suivi et acquittement .................................................................. 38
3.7.5 Mécanisme des transactions ............................................................................... 38
4. Les passerelles SMS .................................................................................................. 40
4.1 Notion de passerelle ............................................................................................... 41
4.2 Aperçu de quelques passerelles SMS..................................................................... 41
4.3 Choix de la passerelle ............................................................................................ 44
Chapitre 3 : METHODOLOGIE .............................................................................................. 45

Conception et implémentation d’une solution de communication par SMS Page X


Table des matières

1. La recherche documentaire ........................................................................................ 45


2. Détermination des différentes phases de la mise en place du serveur SMS .............. 46
DEUXIEME PARTIE: ANALYSE, CONCEPTION ET IMPLEMENTATION DE LA
SOLUTION ............................................................................................................................. 48
Chapitre 4 : ANALYSE ET CONCEPTION DE LA SOLUTION ......................................... 49
1. Spécification des besoins ........................................................................................... 49
1.1 Besoins fonctionnels .............................................................................................. 49
1.2 Besoins non fonctionnels ....................................................................................... 49
1.3 Contraintes techniques ........................................................................................... 50
2. Choix de la méthode d’analyse de l’application web ................................................ 50
3. Choix des langages et outils de développement ........................................................ 50
3.1 Les langages ........................................................................................................... 50
3.1.1 Le HTML ........................................................................................................... 50
3.1.2 Le CSS................................................................................................................ 51
3.1.3 Le JavaScript ...................................................................................................... 51
3.1.4 PHP..................................................................................................................... 51
3.1.5 SQL .................................................................................................................... 51
3.2 Les outils de développement utilisés ..................................................................... 52
3.2.1 Notepad++ .......................................................................................................... 52
3.2.2 La suite LAMP et PhpMyAdmin ....................................................................... 53
4. Analyse avec la méthode MERISE ........................................................................... 53
4.1 Etude au niveau conceptuel.................................................................................... 53
4.1.1 Le modèle conceptuel de communication .......................................................... 53
4.1.1.1 Identification des acteurs ................................................................................ 53
4.1.1.1.1 Les acteurs internes ........................................................................................ 54
4.1.1.1.2 Les acteurs externes ........................................................................................ 54
4.1.2 Matrice et graphe des flux .................................................................................. 54
4.1.2.1 La matrice des flux ......................................................................................... 54
4.1.2.2 Graphe des flux ou MCC ................................................................................ 54
4.2 Le dictionnaire de données .................................................................................... 54
4.3 Elaboration du modèle entité-relation : le MCD .................................................... 56
4.4 Le modèle logique de données (MLD) .................................................................. 57
4.5 Le modèle physique de données (MPD) ................................................................ 58
5. Etude de la passerelle Kannel .................................................................................... 62
5.1 Présentation ............................................................................................................ 62

Conception et implémentation d’une solution de communication par SMS Page XI


Table des matières

5.2 Kannel comme passerelle SMS ............................................................................. 62


5.3 Kannel comme passerelle WAP............................................................................. 63
5.4 Principe de fonctionnement de Kannel [B8] .......................................................... 64
5.4.1 Liaison du serveur SMS à travers un modem GSM ........................................... 64
5.4.2 Liaison du serveur SMS à travers une ligne spécialisée .................................... 65
5.5 Architecture de Kannel [W2] ................................................................................. 65
5.6 Description des blocs [W7] .................................................................................... 66
5.6.1 Le bearerbox ....................................................................................................... 66
5.6.2 Le smsbox .......................................................................................................... 69
5.6.3 Le wapbox .......................................................................................................... 70
5.6.4 Mode de communication entre les boxes ........................................................... 70
5.6.5 Interfaces avec les entités externes ..................................................................... 71
5.7 Kannel et sécurité ................................................................................................... 71
Chapitre 5 : MISE EN ŒUVRE ............................................................................................... 73
1. Mise en place de l’application web ........................................................................... 73
1.1 Déploiement de l’environnement web [W3].......................................................... 73
1.2 Mise en place de la base de données ...................................................................... 73
1.3 Création de l’application web ................................................................................ 73
2. Mise en place de la passerelle SMS Kannel .............................................................. 74
2.1 Moyens utilisés ...................................................................................................... 74
2.1.1 Un ordinateur...................................................................................................... 74
2.1.2 Un modem GSM ................................................................................................ 74
2.1.3 Une carte SIM .................................................................................................... 76
2.1.4 Un téléphone portable ........................................................................................ 76
2.2 Installation de Kannel [W2] ................................................................................... 77
2.2.1 Prérequis ............................................................................................................. 77
2.2.1.1 Mise à jour des dépôts, du système et installation des librairies nécessaires . 77
2.2.1.2 Configuration du modem ................................................................................ 77
2.2.2 Installation de Kannel ......................................................................................... 79
2.2.3 Démarrage de kannel .......................................................................................... 79
2.2.4 Etats de Kannel (kannel statuses) ....................................................................... 81
2.2.5 Administration de Kannel .................................................................................. 82
2.3 Configuration de Kannel ........................................................................................ 83
2.3.1 Configuration du bearerbox ............................................................................... 84
2.3.2 Configuration du smsbox ................................................................................... 86

Conception et implémentation d’une solution de communication par SMS Page XII


Table des matières

2.4 Test de l’envoi de SMS avec Kannel ..................................................................... 87


2.5 Test de la configuration de services SMS .............................................................. 87
3. Couplage de Kannel et la plateforme web ................................................................. 87
4. Configuration des services......................................................................................... 88
5. Utilisation des services SMS ..................................................................................... 90
Chapitre 6 : PRESENTATION DE L’APPLICATION ........................................................... 91
1. Architecture globale du système ................................................................................ 91
2. Principe de fonctionnement du système .................................................................... 91
2.1 Envoi et réception de SMS à travers notre application .......................................... 91
2.2 Traitement des SMS-requête.................................................................................. 92
3. Présentation de l’application web .............................................................................. 93
3.1 La page de connexion ............................................................................................ 93
3.2 La page d’accueil ................................................................................................... 93
3.3 Messages envoyés .................................................................................................. 94
3.4 Page de saisie de données ...................................................................................... 95
3.5 Le carnet d’adresses ............................................................................................... 96
CONCLUSION ........................................................................................................................ 97
BIBLIOGRAPHIE ................................................................................................................... 99
WEBOGRAPHIE ................................................................................................................... 100
ANNEXES ............................................................................................................................. 101
Annexe 1 : Comment développer un ESME ............................................................................... I
Annexe 2 : Les principaux protocoles de SMSC ...................................................................... II
Annexe 3: Table 6-15. SMS Push reply codes ......................................................................... III
Annexe 4: Significations de quelques commandes AT ............................................................ III
Annexe 5 : Procédure de transfert SMS point à point .............................................................. IV
Annexe 6 : Coût du projet ..................................................................................................... VIII

Conception et implémentation d’une solution de communication par SMS Page XIII

Вам также может понравиться