Académique Documents
Professionnel Documents
Culture Documents
(Memoire Online - Implémentation D'un Portail SMS À Base Du Logiciel KANNEL - Tchapo TANTE-GNANDI) PDF
(Memoire Online - Implémentation D'un Portail SMS À Base Du Logiciel KANNEL - Tchapo TANTE-GNANDI) PDF
III.2.1.1- Un ordinateur 32
III.2.1.2- Modem GSM ..33
III.2.2-Edition du fichier de configuration relatif au SMSC virtuel 37
III.3 - Déploiement de Kannel connecté à un SMSC HTTP .39
III.3.1 -Fichiers de configuration ..39
III.3.2 -Intérêt de la prise en compte du « SMSC de type HTTP .... 40
CONCLUSION . 44
BIBLIOGRAPHIE ..46
GLOSSAIRE . 47
INTRODUCTION
A l'heure de l'explosion de la téléphonie mobile, tous les utilisateurs professionnels et grand public sont désormais familiarisés avec le Service
des Messages courts (SMS), qui leur permet de recevoir sur leurs portables toutes sortes d'informations, mais aussi de pouvoir envoyer eux-
mêmes des SMS. Ce service a rapidement conquis la population puisque actuellement bien de gens s'y attachent. Des chiffres permettent de
réaliser l'engouement pour ce type de mini message ; par exemple pendant la journée du 1er Janvier 2008, près de 255 millions de SMS ont été
émis en FRANCE, soit une augmentation de 21.5% par rapport à 2007.
Ainsi, le service de messages courts (SMS) génère une part considérable du revenu des opérateurs mobiles. Et il semble bien que ce ne soit là
qu'un début, parce que de nouveaux services interactifs greffés sur l'infrastructure de messagerie SMS prennent de plus en plus d'essor. A titre
d'exemple, ces SMS+ peuvent servir soit :
> d'outil d'alerte du genre, rappeler à des patients les Rendez-vous et avis médicaux,
Ces services, rappelons-le, sont le fait des applications SMS ; C'est dans ce contexte que s'inscrit notre projet de fin d'étude. En effet, il nous a
été demandé lors de notre stage à ICOM, de mettre en place un noyau de traitement des SMS,
noyau qui servira soit à fournir aux utilisateurs intéressés, un accès aux SMS surévalués, soit à traiter des SMS par la structure.
Il ressort donc que le domaine d'action des textos ou SMS va au delà des spécifications de la norme GSM des réseaux mobiles, puisque ces
applications SMS s'opèrent souvent dans un environnement informatique sur un ordinateur ou mieux encore dans un réseau informatique tel que
l'intranet ou l'Internet. Le déploiement d'une passerelle SMS s'impose donc pour interconnecter les systèmes GSM et informatique. En effet, il
existe sur le marché, une pléiade de passerelles SMS, mais elles sont le plus souvent, hors des possibilités financières de la jeune entreprise. Et,
puisque l'objectif de toute entreprise à l'instar de celle dans laquelle nous avons effectué notre stage, est de minimiser les dépenses sous
contrainte budgétaire, nous nous sommes donc tournés vers une solution « Open Source ».
En effet, la qualité et la stabilité de ces solutions, la possibilité d'y avoir accès rapidement et gratuitement, le fait de pouvoir comprendre et de
modifier le code source selon ses besoins propres, sont autant de raisons qui motivent notre choix. Ce choix répond donc parfaitement aux
aspirations de l'entreprise qui se veut non dépendante d'un fournisseur d'application SMS. C'est à partir du code source du serveur Kannel, un
projet GNU/Linux sous licence FreeBSD, que nous avons déployé, le noyau de la plateforme de traitement des SMS, noyau que nous nous
proposons de tester avant de songer à mettre en place une véritable connexion au centre de messagerie (SMSC) de l'opérateur mobile. Ce
travail qui est le résultat de nos recherches s'articule sur trois axes :
Le premier chapitre sera consacré aux généralités sur le service SMS du réseau GSM, le second à l'intérêt de recourir à une passerelle pour
interconnecter notre application à un SMSC. Dans le troisième chapitre de notre travail, nous exposerons étape par étape, notre méthode
d'implémentation du serveur.
Chapitre 1 :
Les messages courts (SMS) sont devenus un phénomène mondial, depuis leur avènement en 1992 avec le tout premier message « MERRY
CHRISTMAS » de NEIL PAPWORTH. En général, ce service est utilisé si le correspondant ne peut pas parler, ou pour dire des sujets intimes qui
passent mieux qu'au téléphone, ou encore pour ne pas déranger les correspondants ou pour limiter la facture, etc. En effet, la technologie des
messages courts permet à un utilisateur de composer un message textuel à partir de son terminal mobile et de l'envoyer à un destinataire
possédant également un téléphone radiomobile ou à une application SMS. A ses débuts, cette technologie était sous le contrôle de l'institution
ETSI (European Telecommunications Standards Institute) qui désormais est remplacée par une autre désignée par 3GPP (Third Generation
Partnership Project). Avant de passer à l'étude descriptive de cette technologie, nous ne manquerons pas de faire un clin d'oeil sur l'architecture
du réseau GSM, qu'elle utilise comme support.
Le réseau GSM est dit de « seconde génération » (2G), contrairement à la première génération de téléphones portables, pour laquelle les
communications fonctionnent selon un mode entièrement analogique, utilise les bandes de fréquences 900 MHz et 1800 MHz et est constitué de
trois sous-systèmes, à savoir :
> le sous-système Radio (BSS) qui assure les transmissions et gère la ressource radio ; il comprend essentiellement les stations de base (BTS),
et leurs contrôleurs (BSC) ;
> le sous-système Réseau (NSS) qui comprend l'ensemble des fonctions nécessaires à l'établissement des appels et à la mobilité est
essentiellement constitué de MSC (Mobile Service Switching Centre), VLR (Visitor Location Register), HLR (Home Location Registrer) ;
Maintenance Center) qui est l'équipement principal, permet à l'opérateur d'administrer son réseau.
Le centre des messages courts (SMSC), localisé au niveau du sous-système réseau (NSS), fonctionne comme une plateforme d'enregistrement
et de transfert des SMS ; La figure I-1, représentant l'architecture du réseau GSM, met en exergue les circuits de parole et de signalisation (ou de
messages courts) :
Figure I .1 : Architecture fonctionnelle d'un réseau GSM I.1.2- Les services offerts par le réseau GSM
> les services supports dont la fonction est d'offrir une capacité de transmission entre des interfaces utilisateurs définis ;
> les téléservices qui offrent une communication incluant les terminaux et
> les services supplémentaires qui regroupent toutes les facilités d'utilisation
La figure I.2 est une illustration de ces services au sein d'un réseau :
Moult sont les raisons qui expliquent l'engouement pour ce moyen de communication.
Au niveau des utilisateurs, l'accès aux messages courts (SMS) est a priori, associé à leur abonnement chez l'opérateur de téléphonie mobile. De
plus, l'un des atouts de ce service SMS, est son adaptabilité aux circonstances où l'écrit est le mieux adapté en particulier lorsque l'on a besoin
de transmettre un message à
une personne sans vouloir la déranger (réunion, heure tardive...) ou bien lorsque son environnement immédiat ne permet pas une conversation
téléphonique dans de bonnes conditions (bus, taxi-moto, lieux bruyants...).
En outre, lors d'un évènement important entraînant de nombreux appels d'abonnés reliés à une même cellule, la communication vocale devient
de plus en plus difficile alors que les SMS sont acheminés correctement ; en ce sens, les SMS sont plus disponibles que la voix.
La catégorie juvénile, véritable boulimique pour ce type de communication, l'utilise pour partager des émotions et exprimer leur témoignage
d'affection : souhaiter bon anniversaire, adresser ses félicitations...; le coût relativement faible par rapport à celui d'un appel téléphonique sur
portable, est la raison principale pour ces jeunes qui ont soit des moyens très limités, soit une utilisation du portable contrôlée par les parents.
L'autre facette attractive est l'absence des contraintes de la langue. Le cas particulier des cartes de recharges « LIBERTIS jeunes » de
l'opérateur mobile TOGOCEL, dédiées aux SMS, est une preuve de la prise de conscience que la jeunesse constitue la masse cible.
Pour les opérateurs eux-mêmes, les SMS peuvent servir d'outil de politique commerciale. L'exemple des cartes de recharges dédiées SMS et
l'encouragement des SMS à valeurs ajoutées en témoignent. Ainsi, l'engouement pour les SMS, n'a pas échappé aux opérateurs de téléphonie
mobile qui y voient une nouvelle poule aux oeufs d'or.
Pour une communication vocale, le canal de contrôle est utilisé pour initier la communication qui est ensuite transmise sur un canal de trafic. Les
SMS, par contre, sont acheminés directement sur un canal de contrôle. Initialement, le canal de transit des SMS, avait été conçu pour la
transmission de messages de maintenance de l'opérateur vers les exploitants du réseau ; ce qui explique les limitations que connaît le service
SMS. C'est ainsi que la taille d'un SMS normal
a été limitée à 160 caractères en alphabet latin, ou à 140 octets de données digitales, en dehors des données utilisées pour la transmission du
message. A la lumière de ce qui précède, il n'est plus excusable de s'étonner de recevoir un message et un appel, de façon simultanée. En
dehors de l'interface air, où les SMS sont convoyés au travers des canaux (SDCCH, SACCH), leur acheminement entre les divers équipements
du réseau est géré par le protocole MAP.
Lorsqu'un texto est envoyé d'un mobile à un autre ou encore à une application de traitement des SMS (Service de Messages Succincts), il est
décomposé en deux étapes. Le texto issu du terminal vers le SMSC est qualifié de SMS-MO tandis que celui quittant le SMSC vers le mobile
destinataire est qualifié de SMS-MT.
La première étape consiste à ce que le texto envoyé atteigne le centre des messages courts (SMSC) ; En effet, lorsque le texto est envoyé, il
passe successivement par les équipements BTS, BSC, MSC /VLR avant de rejoindre le IWMSC qui se charge de le router vers le SMSC
approprié. Si à ce niveau le texto est bien reçu, un acquittement de bonne réception est envoyé au MSC/VLR, qui à son tour l'envoi au mobile.
La figure I-3 illustre toute la littérature expliquant la transmission d'un SMS depuis un terminal GSM :
La seconde étape se résume au trajet du SMS du centre de messagerie au mobile destinataire. Dans ce cas, le SMSC envoi d'abord une requête
de localisation au HLR, qui l'indique le MSC/VLR au niveau duquel il est enregistré. S'il est accessible, le SMSC le lui délivre. Après avoir reçu le
texto, le mobile renvoi au SMSC un acquittement de réception par le biais du MSC/VLR. La figure I-4 modélise l'acheminement d'un SMS vers un
terminal GSM :
10
Le centre des messages courts (SMSC) permet de gérer le transfert de messages SMS entre téléphones mobiles. En particulier, quand un
abonné envoie un SMS vers un autre, le téléphone transmet en réalité le SMS vers le SMSC. Le SMSC stocke le message puis le transmet au
destinataire lorsque celui-ci est présent sur le réseau (mobile allumé) : le SMSC fonctionne sur le mode "Store and Forward".
Il existe au moins un SMSC par réseau GSM. Comme tout équipement téléinformatique, le SMSC dispose d'une partie matérielle et d'une autre
logicielle ; la partie logicielle serait constituée d'un environnement (système d'exploitation), d'une base de données spécifique et de son serveur,
d'une application SMSC. Ils communiquent avec les MSCs (précisément avec les Gateway MSC) et le HLR. Ces SMSCs sont munis de
passerelles qui les relient à d'autres réseaux mêmes de type IP. En particulier, un serveur peut y accéder par connexion TCP afin d'envoyer des
SMS vers des MSISDN de destination. On parle dans ce cas d'application OTA (Over-The-Air).Un ensemble de protocoles existent pour
communiquer entre serveur et SMSC en TCP/IP : les plus utilisés sont SMPP et CMG EMI, Nokia CIMD, Sema, CMPP.
> passerelles d'accès, parmi lesquelles celle des éditeurs de services (ESME) ;
11
a- Les passerelles
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 SMSCs.
b- Le système OAM
Il s'agit ici d'un certain nombre d'interfaces qui fonctionnent pour 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.
c- Le système de facturation
Le SMSC fournit une interface de facturation qui aide l'opérateur à charger les comptes de ses abonnés pour l'utilisation de ses
services.
Les interfaces ESME permettent à des applications externes non mobiles de se connecter avec le SMSC. Les opérateurs et les fournisseurs de
service 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 logos, des sonneries, etc.
En somme, bien que n'ayant pas été prévu initialement lors du déploiement de la technologie GSM, les SMS ont très rapidement obtenu une
place de choix dans la téléphonie mobile. Les chiffres d'affaires des opérateurs de téléphonie mobile n'ont cessé d'augmenter depuis leur
avènement. L'engouement suscité par ce type de service, surtout du fait de sa simplicité, a entraîné une prise de
12
conscience de la part des opérateurs de téléphonie mobile, quant à son avenir prometteur. C'est dans l'état d'esprit de prospérer, que des
services évolués, basés sur le SMS ont été développés ou mieux encore encouragés avec l'installation de passerelles SMS qui permettront à des
dispositifs autre que les terminaux GSM d'y accéder.
13
Chapitre 2 :
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é.
Au sens strict du terme, une passerelle est un dispositif destiné à connecter des systèmes de téléinformatiques ayant des architectures
différentes ou des protocoles différents, ou offrant des services différents. La passerelle doit alors dépouiller la trame des informations spécifiques
au protocole émetteur et les remplacer par leurs équivalentes dans le protocole récepteur. 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.
En analysant la requête entrant, elle ne la diffuse que si elle est bien en accord avec les règles définies par l'administrateur réseau. Ce système
offre ipso facto, outre l'interface entre deux réseaux hétérogènes, une sécurité supplémentaire car chaque information est passée à la loupe
(pouvant causer un ralentissement). L'inconvénient majeur de ce système est qu'une telle application
15
doit être disponible pour chaque service (FTP, HTTP,Telnet, SMS, etc).Nous avons choisi de représenter à travers la figure II-1, le niveau en
terme du modèle OSI , auquel peut fonctionner une passerelle SMS :
16
SMS depuis ces dispositifs du protocole TCP/IP (les sites Internet, navigateurs, etc.). Il en existe une multitude dont certaines sont propriétaires
(Alligata, Ozeki SMS, Wapme, Jataayu SMS gateway.), tandis que d'autres sont libres, mais pas en produits finis (Kannel, Gammu, ...).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 SMSCs, 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.
Kannel est un projet Open Source, mis sous licence FreeBSD lancé par la compagnie finlandaise Wapit Ltd en juin 1999. Elle est écrite en
langage C, et fourni une passerelle mixte SMS et WAP. 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. 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. Dans la mesure où la passerelle est
reliée à plusieurs SMSCs, une configuration appropriée se chargera du routage du SMS-MT vers le SMSC concerné ; l'éditeur de service n'a
donc pas l'obligation de maîtriser avec
17
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 II- 2 :
Elle est indiquée lorsqu'il s'agit d'un trafic pas assez grand. Il est prouver empiriquement que le serveur connecté selon ce mode, ne peut traiter
qu'au plus 6 à 10 SMS à la minute.
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 II-3 :
18
La liaison via un modem est celle que nous avons retenue pour les tests et présentation de l'application, surtout du fait de sa mise en oeuvre
facile, techniquement et financièrement. Les résultats obtenus seront valables pour une liaison spécialisée. Le traitement du SMS se faisant au
sein du serveur, il convient de procéder à une étude de sa structure interne.
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;
19
a- Le bearerbox
Le bearerbox est l'interface entre le réseau de téléphonie mobile et les autres compartiments du serveur. Pour les autres blocs, Il joue
le rôle de routeur. 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 fur et à mesure que les autres blocs se connectent et se déconnectent au bearerbox, ce dernier met à jour
dynamiquement la liste des blocs en ligne. 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.
b- Le SMS box
La conception d'un SMS box est simple. Un SMS box 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 à un 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
c- Le WAP box
Nous ne développerons pas assez cette partie .Nous retiendrons de ce bloc, qu'il met en place le protocole WAP (Wireless Application Protocol) ;
Protocole qui
20
récupère les requêtes issues des mobiles supportant le WAP, puis les traduit en requêtes compréhensibles par les serveurs HTTP et vice versa.
Les données sont échangées entre le bearerbox et les wapbox, 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 signalisations. La figure II-4 représente l'architecture
physique du serveur /passerelle Kannel :
21
Notre serveur SMS peut s'interfacer pour l`instant avec des entités du type :
> les terminaux GSM ou SMSC virtuel du genre WAVECOM ; > les SMSC tels que ceux de NOKIA ;
La figure II -3 représente les différentes entités externes pouvant s'interfacer avec le serveur /passerelle Kannel :
Quelque soit la nature de l'entité qui envoi la requête, le serveur l'intègre d'abord dans une file d'attente, puis ensuite essaie de la renvoyer en
mode TCP au SMS box à travers le bearerbox.
L'administration peut se faire à travers la ligne de commande ou la requête HTTP. La syntaxe en mode HTTP est la suivante :
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.
Somme toute, 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
nous a permis d'appréhender de façon globale le niveau 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. Le choix de la solution libre « Kannel » comme
passerelle SMS, offre une multitude d'avantages. Pour se résumer, c'est une solution stable, disponible en tout temps, non commercialisée,
adaptable à nos besoins, pour ne citer que ceux-là. En renfort à tous ces arguments, Kannel se déploie de préférence dans un environnement
libre tel que Linux, qui est l'environnement de travail par excellence de l'entreprise ICOM. En effet, c'est donc après avoir installé « RedHAT
enterprise 4 », une distribution de Linux que nous avons déployé le noyau de traitement des SMS.
23
Chapitre3 :
24
Ce chapitre sera sectionné en trois parties. La première partie sera consacré à l`installation de Kannel et au test de son interaction avec un
éventuel SMSC ; ce que nous appellerons le « Fake SMSC » ou le SMSC logiciel. Dans la deuxième partie, il s'agira de déployer Kannel lié à un
SMSC virtuel, afin de tester les résultats des différents services configurés ; enfin, dans la dernière partie, nous aborderons la possibilité de
connecter notre application à une passerelle SMS d'un SMSC en mode HTTP. Toujours dans cette partie, nous ne manquerons pas d`étudier la
possibilité de faire aussi de notre application, une passerelle d'accès SMS+ pour d'éventuels éditeurs de services.
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) nous ont été indispensables. « Redhat Enterprise 4 » est la distribution de
linux que nous avons retenu pour notre travail. C'est après l'avoir installé avec les paquetages nécessaires, sur un ordinateur Pentium IV, que
nous allons déployer le serveur Kannel.
III.1.2.1- compilation
La version de Kannel téléchargée dans notre cas est le 1.4.1 disponible sur http://www.kannel.org/download/1.4.1/gateway-1.4.1.zip.
Nous avons récupéré le fichier zippé sur une mémoire de masse (Clé USB) que nous avons transféré enfin sur notre poste de travail dans un
répertoire à préciser comme on le fait pour la création de dossier dans Windows. Pour ce faire, nous avons procédé comme suit :
25
> d`abord, créer le répertoire dans lequel va loger le fichier compressé à partir de la commande : mkdir
> ensuite, copier ce fichier dans le répertoire en question en tapant la commande : mcopy ou cp
Une fois le fichier présent dans le répertoire, l'étape suivante va consister à la compilation. Au fait, la compilation traduit le code source en un
langage compréhensible par la machine. Pour ce faire, il faut décompresser le fichier, avec la commande : unzip ou tar -xzf
Cette commande prépare la machine à la compilation juste en vérifiant si les paquetages indispensables y sont; elle est toujours associée par
défaut à des options. Et puisque, l'option de connexion à une base de données n'est pas prise en compte par défaut, alors que nous en aurons
besoin, nous l'avons rajouté comme l'indique la commande précédente. Le répertoire à préciser, est celui dans lequel est localisée la librairie
MySQL. C'est la commande « make » qui déclenche la compilation en vérifiant d'abord la syntaxe correcte du code source.
Pour faire simple, la compilation est cette étape de l'installation au cours de laquelle le code est transcrit en un langage compréhensible par la
machine.
III.1.2.2- Installation
Après la compilation, il est nécessaire d`installer certains programmes complémentaires qui prennent en compte les différents blocs du serveur,
juste en tapant : make install = [répertoire]
Dans cette commande, le répertoire dans lequel seront installés les fichiers objets est à préciser. Dans notre cas, c'est le répertoire /etc/Kannel
qui a été choisi. A la fin de l`installation de la passerelle/serveur, la possibilité est offerte
26
d'en faire un portail SMS et/ou un portail WAP selon le besoin. La configuration des fichiers sera faite en fonction du choix retenu.
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» sont obligatoires. En effet, les groupes « core » et « smsc » administrent le bearerbox tandis que les groupes
« smsbox », « smsservice » s'occupent du « SMS box ». 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, « Emacs » dans notre cas. Le fichier final est enregistré dans un répertoire à rappeler chaque fois que l`on voudra
démarrer l'application.
27
La configuration du groupe nommé « core » est indispensable au même titre que le « bearerbox » qu'il paramètre. Le fichier fonctionnel n'est
réduit qu`aux lignes qui ne seront pas précédées du signe dièse « # ». Une configuration simple du groupe nommé « core » peut se présenter
comme suit :
group = core
admin-port = 13000
admin-password = icom
status-password = icom
admin-allow-ip = ``*.*.*.*``
admin-deny-ip = ?127.0.0.1;*.*.*.*?
smsbox-port = 14000
#wapbox-port = 2000
box-deny-ip = ?*.*.*.*?
box-allow-ip = ?127.0.0.1;*.*.*.*?
log-file = ?tmp/kannel.log?
log-level = 1
access-log = ?tmp/smsinfo.access?
store-file = ?tmp/sms.store?
group = smsbox
sendsms-chars = ?1234567890?
28
global-sender = 123456
log-file = ?/tmp/smsbox.log?
log-level = 0 a 4.
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 à tester. 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 :
password = icom
omit-empty = 1
forced-smsc = smsc-id
header = icom
footer = merci
text = date
accepted-smsc = smsc
29
L'étape suivante va consister à configurer le groupe « smsc ». En effet, c'est cette configuration qui précise le SMSC de l'opérateur avec lequel
peut dialoguer l'application. Le plus important des paramètres est le protocole de communication avec le SMSC ; une fois le protocole défini, il ne
restera qu`à effectuer une configuration adéquate des paramètres restants, pour relier le serveur à ce dernier. En pratique, il n'en est pas ainsi
puisque les opérateurs préfèrent offrir très souvent des connexions relais (passerelle), utilisant plutôt le protocole HTTP (très répandu). Kannel en
a aussi tenu compte et a proposé un type de groupe « smsc » spécial appelé « http ». En effet, Ce SMSC de type HTTP permet un accès à tout
SMSC d'opérateur dont très souvent la passerelle offre une interface HTTP; nous n'en sommes pas encore là, puisque cette option fera l'objet
d'un autre paragraphe. Pour l`instant, l'important est de s'assurer que l'installation s'est opérée parfaitement. Cette vérification passe par le test
par le « Fake SMSC ». En effet, le « Fake SMSC » joue le rôle d'un SMSC distant et permet de tester la fonctionnalité de l'application ; ajoutons
qu'il est purement logiciel et est implanté dans le serveur Kannel.
group = smsc
smsc = fake
port = 10000
connect-allow-ip = 127.0.0.1
30
Bien qu'ayant été installé avec le serveur, l'appréhension de sa fonction nous conduit à le placer à l'extérieur de ce dernier. Le test du « fakesmsc
» se fait selon la syntaxe : test/fakesmsc [option] «message à envoyer».
La figure III-2 regroupe les résultats du test que nous avons effectué :
31
L'analyse de la figure III-2 en sa seconde ligne révèle que nous avons envoyé cinq (5) fois le message « heure ». Il apparaît clairement qu'une
réponse est envoyée à chaque requête, et vaut « mer+jui+30+2008 +16 :07 :03 » En effet, cette réponse est conforme à notre configuration,
puisque cette dernière précise qu'à tout message correspondant à « heure », que la réponse renvoyée corresponde à la date et à l'heure du
moment. Ces tests sont rassurants, mais pas absolument selon nous, pour baliser la voie à la mise en place d'une liaison spécialisée entre le
SMSC et notre application. Comme alternative, nous avons proposé de passer par le test des services, à partir d'un modem GSM (SMSC virtuel)
et pour cause, il arrive parfois que la pratique s'éloigne de la théorie.
32
Tous les outils matériels et logiciels du paragraphe précédent, sont repris dans le cadre du déploiement du serveur Kannel connecté à un SMSC
virtuel. L'opérateur de téléphonie mobile très souvent donne accès à son SMSC, que par le biais d`une passerelle SMS dont les paramètres sont
communiqués à l'éditeur de services. A titre d`information, ICOM s`est inscrite dans cette option d`accès au SMSC, à condition que nous lui
assurons qu'à la toute première tentative, la connexion sera fonctionnelle. Pour des raisons de tests et pour une présentation du produit, nous
avons proposé un accès au SMSC via un modem GSM. En fait, cette étape du travail n'est qu'une partie d'un processus à deux niveaux que
nous nous sommes fixés.
III.2.1.1- Un ordinateur
Un ordinateur aux caractéristiques similaires à celles décrites au III.2.1, peut être utilisé également dans ce cas. La distribution de Linux adoptée
reste la même c'est-à-dire « Redhat enterprise 4 ». Sur cet ordinateur, nous mettrons en place le serveur /passerelle Kannel en suivant les
étapes mises en exergue au III.2.2. Pour ce qui est de la configuration des fichiers, seul le groupe du Fake SMSC, sera remplacé par celui du
SMSC virtuel auquel le serveur Kannel est connecté.
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 de
33
façon correcte (qualité du signal reçu...) WAVECOM est la marque de modem utilisé ; son modèle est de type Fastrack. C'est ce modem qui
jouera le rôle de SMSC virtuel.
Les images de la figure III-3 donnent des détails précis sur l'aspect physique du modem :
Le modem GSM fonctionne dans les bandes de fréquences 900MHz et /ou 1800MHz. Il intègre les fonctions de transmission de
données/voix/SMS et la fonction de FAX. Il est utilisé en GSM et DCS. Alimenté sous une tension continue et il tolère des tensions comprise
entre 9 à 12Volts. Il est fourni avec un
34
convertisseur 1 10Volts AC-12Volts DC. Il a fallu donc intercaler un transformateur 220Volts-1 10Volts entre le secteur et l'adaptateur.
En appuyant sur le bouton d'éjection de la trappe à l'aide de la mine d'un stylo par exemple, la trappe s'éjecte. Sur cette trappe
éjectée, est posé convenablement la carte SIM ; l'ensemble est enfiché dans le modem. L'antenne est connectée au port RF.
L'ensemble modem-antenne est connecté à l'ordinateur à travers une liaison série RS232. Quant-au câble d'alimentation, il sera
enfiché dans son port correspondant.
Nous avons envoyé ces commandes à partir du programme Hyperterminal de Windows sur un port COM, obtenu en suivant le chemin ci-après :
Démarrer/Programmes/Accessoires/Communications/Hyperterminal
Si le modem est en état de fonctionner, alors il renvoi la réponse OK qui s'affiche sur l'hyperterminal, comme l'indique la figure III-4 :
35
Cette première commande permet de s'assurer que le modem est en état de recevoir d'autres commandes.
La commande CGMI présente sur la figure III-3 permet simplement de préciser la marque de modem dont nous disposons :
La commande AT+CREG? permet de vérifier si le modem a été enregistré ou non par le réseau. En effet, lorsque la réponse à la commande
affichera +CREG:O, 1 alors le modem est enregistré sur le réseau en tant qu'utilisateur local,
alors que +CREG:0,5 indique qu'il s'agit d'un utilisateur international, qui accède au réseau par roaming. Toute valeur autre que 0,1 ou 0,5
implique que l'accès au réseau mobile est refusé. Nos tests ont révélé ce que représente la figure III-6 :
36
Le niveau du signal est testé, à partir de la commande CSQ comme l'indique la figure III-7 :
En effet, c'est lorsque le niveau du signal reçu est situé entre 11 et 31 qu'il est optimal pour enclencher une communication. Alors, ce qui voudrait
dire qu'au moment et en l'espace où nous avons effectué ces tests, toutes les conditions étaient réunies pour que notre modem soit opérationnel.
37
Sans pour autant se répéter, rappelons que c'est au fichier de configuration édité précédemment, à l`exception du groupe relatif au Fake SMSC,
qu'il faut ajouter les groupes relatifs au SMSC virtuel. Le plus important est de reconnaître le type de SMSC auquel l`on se connecte, bref le
protocole de communication afin de faire une configuration conséquente. « AT » est le type dans ce cas, puisque c`est le protocole de
communication entre le serveur et le SMSC virtuel (modem).
La configuration de ce SMSC de type « at » permet au modem de se connecter au serveur Kannel et de fonctionner comme un SMSC virtuel.
Voici un modèle de configuration:
group = smsc
smsc = at
speed = nombre
pin = nombre
validityperiod = code
sms-center = numéro
La configuration du groupe « modems » précise les paramètres sous lesquels doit fonctionner ce modem :
group = modems
id = marque du modem
38
enable-hwhs = AT+IFC=2,2
sendline-sleep = nombre
keepalive-cmd = AT
message-storage = SM ou ME
GSM :
39
Les opérateurs de téléphonie mobile n'autorisent la connexion de l'application de l'éditeur de services à leurs SMSCs, qu'à travers des
passerelles. En effet, outre leur fonction d'adaptation de protocoles émetteurs en protocoles récepteurs, les passerelles assurent des connexions
(aux SMSCs) sécurisées. Les protocoles HTTP, et SMPP n'étant pas propriétaires, la plupart des passerelles SMS offrent une interface de
communication soit en mode HTTP ou SMPP. Nous avons choisi de tester la connexion en mode HTTP puisqu'elle correspond effectivement au
mode de connexion autorisé par les opérateurs de téléphonie mobile. L'effectivité de cette connexion passe aussi par une configuration
adéquate.
cette allure :
group = smsc
smsc = http
system-type = kannel
send-url = http://localhost:22022
connect-allow-ip = 127.0.0.1;*.*.*.*
Les quatre premières variables sont fondamentales pour ce fichier. Les autres variables sont optionnelles. A titre d'explication du fichier de
configuration, considérons la variable « port = 13013 », elle précise le port d'écoute du serveur, des messages provenant d'autres passerelles. Il
faut tout de même rappeler que ces fichiers viennent en rajout aux configurations faites précédemment.
40
Une fois le fichier correctement configuré et pris en compte par le reste du serveur, il est désormais possible de simuler la connexion à une
passerelle SMS d'un SMSC réel, en mode HTTP. Pour ce faire, nous nous sommes procurés deux ordinateurs, sur lesquels nous avons
préalablement installé le serveur Kannel, que nous avons mis en réseau par un câble croisé. Schématiquement, le premier ordinateur correspond
à celui sur lequel nous avons déployé Kannel, connecté au « SMSC »virtuel tandis que sur le second est configuré le « SMSC de type HTTP ».
De façon concrète, c'est au niveau du groupe « SEND-SMS USER », qu'est déclaré le nouvel utilisateur qu'est l'ordinateur où est implémenté le
groupe « SMSC de type HTTP ». Tout se passe comme si c'était un éditeur de services qui se faisait créer un compte au niveau du SMSC de
l'opérateur (qui correspond au serveur déployer avec le SMSC virtuel). Le second système (serveur Kannel où est configuré le « SMSC de type
HTTP») peut être comparé à notre serveur SMS que nous seront amenés à connecter à la passerelle d'un SMSC réel à travers une liaison
spécialisée TCP. En effet, pour les entités en bout de liaison, le protocole de communication demeure le même, qu'il s'agisse d'une liaison
spécialisée, ou d'un câble croisé. La figure III-9 est la représentation schématique du scénario de test de la liaison HTTP de l'application au
SMSC :
41
Rappelons que cette liaison à la passerelle SMS en mode HTTP, de notre application n'est envisageable que lorsque cette dernière tourne sous
kannel, brunet, xidris ou wapme. A part le fait que la prise en compte de cet « SMSC » permette le test de la liaison en mode HTTP ,il permet
également que notre plateforme serve de passerelle d'accès à un SMSC d'opérateur de téléphonie mobile pour ceux qui voudront initier des SMS
surévalués.
La configuration des fichiers fut l'essentiel du travail réalisé, puisqu'il a fallu d'abord cerner les différentes variables, puis ensuite n'utiliser que
celles qui correspondent à nos besoins. L'utilisation du « Fake SMSC » n'était pas aussi obligatoire, mais utile puisqu'il nous a permis non
seulement de tester l'état de l'installation, mais aussi d'être rassuré que notre application peut dialoguer avec un SMSC « physique » quelconque.
Le test par le SMSC virtuel nous a rassuré une fois de plus et de façon pragmatique que l'application mise en place, répond.
42
Quant-au test de la connexion à un SMSC en mode HTTP de notre serveur SMS, il nous a permis de rassurer à ICOM qu'elle peut enfin déployer
la liaison louée sans crainte.
43
CONCLUSION
La réalisation de ce projet a été bénéfique à plus d'un titre. Ce fut pour nous l'occasion d'une véritable initiation aux réalités de la vie
professionnelle. Le portail SMS que nous avons mis en place a exigé à la fois un minimum de connaissances 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. Ce portail SMS, joue un double rôle :
> d'abord, il sert de passerelle SMS ; en ce sens, il est aussi d'un intérêt
> ensuite, il sert de serveur SMS, du fait de sa capacité à traiter de façon automatique les requêtes SMS, qui lui parviennent.
La dénomination de « passerelle/serveur » attribuée n'apparaît plus donc sans sens ; nous pensons à notre humble avis, que l'appellation «
serveur » semble être plus global. Ainsi lorsque le nom « passerelle » seul, est utilisé seul, c'est que « Kannel » ne roule en ce moment
seulement que comme une passerelle SMS.
L'expérience que nous avons acquise suite à ce travail, nous a convaincu que l'avenir de la téléphonie mobile passe par de telles applications
puisqu'à présent, le plus important est de permettre une pleine utilisation du SMS, vu que presque tout le monde y est attiré.
Un des problèmes que nous avons rencontré, était le temps pour finaliser le tout, puisque mis à part la taille des prérequis, leur aspect «
nouveau» y avait contribué.
Au final, ce projet nous a beaucoup apporté dans la compréhension de la technologie TCP/IP, des commandes linux que nous n'avions jamais
essayé ; nous avons tant appris aussi sur les solutions « open source » et leur place dans
44
l'implémentation de produits téléinformatiques. La langue anglaise quant-à elle, s'est une fois encore avérée, la langue du technicien, puisque
nous n'avons pas pu nous en passer.
Au niveau personnel, nous sommes sorti grandit, puisque nous concevons désormais autrement le domaine des télécommunications. Nous
pensons être devenu beaucoup plus imprégner.
Cependant, la réalisation de ce produit ne s'est pas faite techniquement de façon aisée, puisqu'il n'a pas suffit de disposer simplement de la
documentation de « Kannel » pour mettre en place, ce portail SMS. D'ailleurs, les foires aux questions sur Internet, communément appelées «
forums » en témoignent. En somme, il fallait juste faire preuve d'ingéniosité. Toujours en raison de la difficulté, résidant dans son déploiement,
nous estimons à environ 75%, les potentialités du serveur Kannel, que nous avons pu activés ; beaucoup encore reste à faire donc. Aussi, il ne
faut pas non plus perdre de vue que jusqu'à ce stade, nous ne sommes qu'au début de l'apprentissage de la téléinformatique et que ce document
est loin d'avoir la prétention d'avoir tout dit. Notre souhait est qu'il serve de document français de base à la compréhension de la
passerelle/serveur Kannel. Nous restons pour notre part ouvert à toutes les remarques, suggestions, ou critiques permettant de parfaire les
résultats de notre travail.
45
[1] Kannel 1.3.2 User's Guide: Open Source WAP and SMS gateway By Andreas Fink, Bruno Rodrigues, Stipe Tolj, Aarno
Syvanen, Alexander Malysh, Lars Wirzenius, and Kalle Marjola
Page 1-134
[2] Kannel Architecture and Design: $Revision: 1.19 $ by Lars Wirzenius Page 15 et 17.
Revision: 002
[4] Larousse de poche Français -Anglais par Jean MERGAULT (Agrégé de l'université, Maitre-assistant à l'université de Paris
VII)
[5] webographie
www.lb.refer.org/memoires/669814JosephHADDAD.pdf
www.jeunesdumaroc.com/article1096.html http://fvalois.insa-lyon.fr/
www.wikipedia.org
www.supinfo-projects.com
www.developpershome.com
www.kannel.org
www.jaazy.com/chez
46
MHz: MegaHertz
47
SMS-MO: Short Message Service-Mobil Originated SMS-MT: Short Message Service-Mobile Terminated SMTP: Simple Mail Transfert
Protocol
URL: Uniform Ressource Location VLR: Visitor Location Register WAP: Wireless Application Protocol
48
Recherche