SlideShare uma empresa Scribd logo
1 de 27
République Algérienne Démocratique et Populaire
              Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
               Université des Sciences et de la Technologie Houari Boumediene

                   Faculté d’Electronique et d’Informatique



                    Mémoire de Licence
                     Domaine Mathématiques et Informatique


                            Filière Informatique


                                    Spécialité
                   Génie Télécommunications & Réseaux


                                      Thème



 RELEVÉ DE COMPTE CCP PAR SMS


Proposé par :                                             Présenté par : MM.
Dr. A.BELKHIR                                           OUADJAOUT Lamine
                                                        ALI MERINA Brahim
Encadré par:
M. M.SAKRI et Mme. W.RABHI

Devant le jury :

                    Mme. S.MOUSSAOUI              Présidente
                    M. A.BERBAR                   Examinateur
                    M. Y.ZAFOUN                   Examinateur
                    Mme. N.MEDJAHED               Examinatrice
                    Mlle. N.BOUZIANE              Examinatrice


                                                                 Projet n°. 03/08/GTR
:

     ‫ا‬       (SMS) ‫ة‬           ‫ر‬         ‫أن‬       ‫ا‬   ،    ‫ا‬           ‫ا‬       ‫ا‬
.‫ة‬       ‫ا‬        ‫ا‬                     ‫اب‬    ‫ا‬           CCP ‫ب‬        ‫ا.آ‬         ‫ا‬
                          ‫ة آ دود‬   ‫ا‬   ‫ت و إر ل ر‬    ‫ا‬        ‫و‬   ‫ا‬               ‫ا‬
                      .




Résumé :

Afin d’alléger les bureaux de poste, il convient de mettre un service
SMS pour les téléphones portables. Chaque titulaire de compte CCP
pourra interroger son compte CCP via le service SMS. L’application
consiste à mettre en œuvre le traitement des requêtes SMS et
l’envoi des réponses correspondantes.




Abstract:

To alleviate the post offices, it should put an SMS service for mobile
phones. Each account holder can ask CCP's account via the SMS
service. The application is to implement the processing of SMS
requests and sending the corresponding responses.
Remerciements



 Nous tenons à remercier nos familles respectives (nos chers parents,
frères, cousins, etc.) pour leurs soutien, conseils et aide indéfectible, ainsi
que tous nos amis (Amirouche, Salim, Rachid, Abdelkader, Zaki, Halim,
Kamel, Sofiane, Meziane, Nabil et beaucoup d'autres) avec qui nous
avons partagé le bon et le moins bon, les hauts et les bas de notre cursus
universitaire.


 Nous exprimons notre reconnaissance aux professeurs, et en premier
lieu à notre promoteur Dr. BELKHIR, qui nous ont apporté beaucoup de
connaissances dans ce vaste domaine des « Télécommunications et
Réseaux ».


 Nous voulons également exprimer notre profonde gratitude à Mr.
OUAFI, Mr. HADDAD RAMZI, Mr. CHETIBI KAMEL, Mr.
ZERROUR AKLI, Mlle ALIYAHIA LYNDA, Mr. SEBIH SEYEH, Mr.
SAKRI MOHAMED, Mme. RABHI WAHIBA, ainsi qu’a tous les
ingénieurs de MOBILIS qui nous ont aidés, et tous ses employés qui nous
ont rendu service et tous ceux qui nous ont soutenus de prés ou de loin.
SOMMAIRE


Introduction générale -------------------------------------------------------------------------------------------- 1

CHAPITRE I – Etude du protocole SIP ------------------------------------------------------------------ 2

 I.1 - Introduction ----------------------------------------------------------------------------------------------------- 3
 I.2 - Présentation du protocole SIP (Session Initiation Protocol) ------------------------------------------ 3

      I.2.1 - Généralités ---------------------------------------------------------------------------------------------- 3
      I.2.2 - Architecture de SIP ------------------------------------------------------------------------------------ 3

              I.2.2.1 - Les User Agent (UA) ----------------------------------------------------------------------- 4
              I.2.2.2 – Les serveurs d’un réseau SIP ------------------------------------------------------------- 4

      I.2.3 - Les adresses SIP (URL SIP) ------------------------------------------------------------------------- 6

 I.3 - Structure d'un message SIP ---------------------------------------------------------------------------------- 6

      I.3.1 - En-têtes SIP --------------------------------------------------------------------------------------------- 7
      I.3.2 - Méthodes et codes de réponse ----------------------------------------------------------------------- 8

              I.3.2.1 - Principales Méthodes ----------------------------------------------------------------------- 8
              I.3.2.2 - Codes de réponse ---------------------------------------------------------------------------- 8
              I.3.2.2 - Extensions du protocole SIP -------------------------------------------------------------- 8

 I.4 - Diagramme d'état de l'UAC et de l'UAS ------------------------------------------------------------------ 9
 I.5 - Conclusion ------------------------------------------------------------------------------------------------------ 9

CHAPITRE II – Conception des applications (MOBILIS et CCP) -------------------------- 10

  II.1 - Introduction ------------------------------------------------------------------------------------------------- 11
  II.2 - Le choix du langage --------------------------------------------------------------------------------------- 12
  II.3 - L’application MOBILIS ---------------------------------------------------------------------------------- 12

      II.3.1 - Les références --------------------------------------------------------------------------------------- 12
      II.3.2 - Les Bibliothèques de classes --------------------------------------------------------------------- 12
      II.3.3 – SMPP (Short Message Peer to Peer) ----------------------------------------------------------- 13
      II.3.4 - Description de l’application ---------------------------------------------------------------------- 15

  II.4 - L’application CCP ----------------------------------------------------------------------------------------- 15

      II.4.1 - Les références --------------------------------------------------------------------------------------- 15
      II.4.2 - Les Bibliothèques de classes --------------------------------------------------------------------- 15
      II.4.4 - Description de l’application ---------------------------------------------------------------------- 16

  II.5 – Captures d’écran ------------------------------------------------------------------------------------------- 17
  II.6 - Conclusion -------------------------------------------------------------------------------------------------- 20

Conclusion générale -------------------------------------------------------------------------------------------- 21

Références bibliographiques -------------------------------------------------------------------------------- 22
Introduction générale




  Ces dernières années, la téléphonie mobile a été un des secteurs les
plus dynamiques et les plus innovants de l'Industrie des
Télécommunications. Les challenges sont ainsi nombreux alors que les
opérateurs mobiles doivent proposer de nouveaux services à leurs clients.

  Pour cela, et afin d’alléger les bureaux de poste, il convient de mettre
un service SMS pour les téléphones portables. Chaque titulaire de compte
CCP pourra interroger son compte CCP via le service SMS. L’application
consiste à mettre en œuvre le traitement des requêtes SMS et l’envoi des
réponses correspondantes.

   Pour la mise en œuvre de l’application, nous avons besoin de deux
services de base, l’un c’est l’opérateur mobile et l’autre c’est le service
des CCP. Pour notre stage nous avons pu travailler du 1er coté
(MOBILIS) tandis que du coté CCP, nous avons simulé leur Base De
Données.


  Nous avons organisé notre travail de la manière suivante:

     1er Chapitre: Etude du protocole SIP.
     2ème Chapitre: Conception des applications (MOBILIS et CCP).




                                    1
er
      1 Chapitre

  Etude du protocole SIP
(Session Initiation Protocol)
1erChapitre                                                           Etude du protocole SIP


    1. Introduction :
    Les nouvelles capacités des réseaux à haut débit devraient permettre de transférer de
manière fiable des données en temps-réel. Ainsi, les applications de vidéo ou audioconférence
ou de téléphonie vont envahir le monde IP qui, jusqu’alors, ne pouvait raisonnablement pas
supporter ce genre d’applications (échange de données en temps réel…). SIP normalisé par
l’I.E.T.F (Internet Engineering Task Force) mars 1999 RFC 2543 (V1.0), suivi par la (V2.0)
RFC 3261 (juin 2002) qui révise la RFC 2543 et qui, comme son concurrent actuel H323
[ITU 96] normalisé par l’I.T.U. (1996), régule les échanges entre ces nouvelles applications.
SIP appartient à la couche application et gère la signalisation et l’établissement des sessions
plus précisément. Le protocole a ainsi été présenté dans un modèle plus proprement structuré.
    2. Présentation du protocole SIP (Session Initiation Protocol):
      2.1 Généralités :
  A l'origine, SIP [HAN 99] a été spécifié par le groupe de travail MMUSIC (Multiparty
Multimedia SessIon Control) de l’IETF pour être un protocole de pure signalisation.

   Les principales fonctions d'un protocole de signalisation sont :

        localiser un terminal,
        contacter un terminal pour déterminer sa volonté d'établir une session,
        échanger des informations sur les média pour permettre l'établissement d'une session,
        modifier les sessions media existantes,
        clore dune session média existante.

      2.2 Architecture de SIP :

   Le protocole SIP est bâti sur une architecture Client/Serveur qui utilise des messages
textuels pour établir une session.
   Ces messages sont transportés par les protocoles de transport réseaux TCP ou UDP.




                                  Fig.1 Architecture de SIP




                                               3
1erChapitre                                                          Etude du protocole SIP


         2.2.1 Les User Agent (UA):

   C’est une application installé sur un terminal qui peut être, par exemple, un terminal de
téléphonie sur IP, un serveur audio ou vidéo ou encore une passerelle vers un autre protocole.
On distingue deux types d’UA :

        User Agent Client (UAC), envoie les requêtes SIP.
        User Agent Server (UAS), reçoit et traite les requêtes SIP de l’UAC.

         2.2.2 Les serveurs d’un réseau SIP :

        Serveur d’Enregistrement (Registrar Server):

   Le Registrar Server permet de maintenir une correspondance entre les adresses réseaux (IP
par exemple) et les adresses SIP (c’est le mapping). L’enregistrement d’un l’utilisateur
consiste à envoyer un message REGISTER au Registrar. Ce dernier met à jour une base de
données de localisation.

        Serveur Proxy :
    Un serveur proxy a la charge de router les messages SIP. Il a uniquement un rôle dans la
signalisation et il ne gère pas de media. Il n'est en général à l'origine d'aucune requête excepté
la requête CANCEL utilisée pour libérer une session pendante.




Fig.2 Représentation schématique des flux SIP et des flux media lors de l'utilisation d'un
                                   serveur proxy

        Fonctionnement du Proxy SIP en mode Sans Etat (Stateless) :
  Le fonctionnement en mode stateless permet aux UAC d’échanger des données sans
connaître les adresses réseaux (IP par exemple). Il permet donc à un utilisateur de changer de
machine ou de lieu sans avoir aucun problème de changement d'adresse.




                                                4
1erChapitre                                                        Etude du protocole SIP




        fonctionnement du Proxy SIP en mode Avec Etat (Statefull) :
    Le serveur proxy en mode Statefull route les paquets et n'a aucune implication dans
l'échange de flux médias qui suit. Dans cet exemple, on peut constater qu'une fois les premiers
messages échangés, les UA s'envoient directement leurs messages sans passer par le Proxy.
C'est une fonctionnalité fournie par SIP qui permet aux UA de se donner leurs adresses sip
finales (dans un champ nommé « Contact : »). Lors de la requête suivante, les UA peuvent
alors se joindre directement. Le Proxy peut forcer toutes les requêtes suivantes d'une session à
passer par lui (en ajoutant son adresse dans le champ nommé : « Record-Route »).
    L’un des intérêts de ce type de fonctionnement est de pouvoir garder une trace des temps
de communication en vue de faire des statistiques sur les usages ou de mettre en place une
facturation basée sur le temps de communication. Un autre intérêt de ce fonctionnement est
qu'il offre la possibilité de contrôler le nombre de communication entre deux domaines et
donc l'opportunité de pouvoir contrôler la bande passante sur certains liens (nécessaire pour
pouvoir offrir une garantie de service).

        Un type particulier de serveur Proxy, appelé serveur forking proxy, peut dupliquer
        une requête et l'envoyer vers plusieurs destinataires. Ces serveurs peuvent par exemple
        être utilisés pour contacter plusieurs terminaux appartenant à la même personne.

        Serveur de Redirection (Redirect Server):

   Les serveurs Redirect aident à localiser les User Agent SIP en fournissant une adresse
alternative (URI de renvoi) dans un message (requête) de réponse de redirection contenant la
ou les prochaines adresses à contacter pour joindre le destinataire final.
   Ce système de recherche du destinataire est totalement transparent pour les utilisateurs, ce
qui est très attrayant car la mobilité est de plus en plus présente dans le monde industriel.

        Serveur de Localisation (Location Server):

   Lorsqu'une entité SIP souhaite joindre un correspondant à partir de son adresse SIP, elle est
renseignée par le Location Server qui accède à la base d'information renseignée et tenue à jour
par le Serveur Registrar.
   Le serveur de localisation peut utiliser un ou plusieurs protocoles (LDAP, Finger,
rwhois,…) pour localiser l'utilisateur.

        Remarque :

   On remarque dans les usages que le serveur Registrar est souvent associé au serveur Proxy
et que le Location Server est le plus souvent une entité logique (Base De Données).




                                               5
1erChapitre                                                          Etude du protocole SIP


      2.3 Les adresses SIP (URL SIP):
   Les adresses SIP se présentent sous la forme suivante:
                    sip:info_utilisateur@domain;uri-paramètres?en-têtes
        Les infos_utilisateur sont sous la forme: «nom utilisateur : mot de passe (facultatif)»
        ou «numéro de téléphone ».
        La partie domaine est sous la forme: «nom de domaine (usthb.dz) ou adresse IP: port
        (facultatif)».
        Les uri-paramètres prennent la forme : parameter-name=parameter-value séparés
        par des (;)
        Les noms et valeurs d’en-tête sont codés en paires hname = hvaleur séparées par (&)
                                Ex : sip:lamine.brahim@usthb.dz

    3. Structure d'un message SIP :




                                           Fig.3 Trame SIP

        SIP peut être également utilisé sur ATM(AAL5), X25 et frame relay.


   Comme on l’a déjà cité, les messages SIP sont textuels. Ils ont une partie en-tête et une
partie corps.

        L'en-tête d’un message SIP contient les informations nécessaires au routage du message
et à l'établissement de la session.
        Le corps définit les caractéristiques de la session à l'aide d'un protocole de description
de session (Ex : SDP).
        Le protocole souvent utilisé pour l’échange d'informations sur le réseau est RTP/RTCP.




                                                6
1erChapitre                                                         Etude du protocole SIP


          3.1 En-têtes SIP :

        Pour les en-têtes SIP il existe deux types : des en-têtes obligatoires qui doivent êtres
  insérées dans les messages SIP et d’autres qui sont optionnels.

          Voici un tableau qui motionne les différents en-têtes d’un message SIP:


  EN-TÊTES                                            FONCTION

  Obligatoires

                     Utilisé pour une identification unique de l’appel entre deux user agents
Call-ID
                     Command Sequence identifie les requêtes hors séquence & la retransmission
CSeq
                     Identifie l’initiateur de la demande
From
                     Indique le destinataire de la demande
To
                     Nombre d'octets dans le corps du message
Content-Length
                     Raccorde le chemin emprunté par la requête et utilisée pour acheminer la
Via
                     réponse

  Optionnels

                     Utilisés pour transmettre des URL d'origine des ressources demandées ou
Contact
                     demande expéditeur.
                     En-tête optionnel indiquant le sujet de la session media.
Subject
                     Indique le type de support Internet.
Content-Type
                     Fournit des informations complémentaires sur l'agent utilisateur
User Agent
                     Fournit des informations supplémentaires sur le User Agent Server
Server
                     Utilisé pour forcer l’acheminement de toutes les demandes entre UAs
Record-Route
                     Force l'acheminement à travers un chemin extrait du Record-Route
Route
                     Exerce les autorisations de l'agent utilisateur à un serveur
Authorization
                     Permet d'indiquer la portion d'un SIP message qui a été chiffré
Encryption
                     Indique le prochain saut vers un proxy pour crypter l’en-tête Via
Hide
                     Permet à l’agent utilisateur de fixer la priorité d'une demande: emergency,…
Priority
                     Liste les options mises en œuvre dans un agent utilisateur ou serveur
Supported
                     Indique les fonctionnalités qui ne sont pas supportées par le serveur
Unsupported




                                                  7
1erChapitre                                                       Etude du protocole SIP


      3.2 Méthodes et codes de réponse:

         3.2.1 Principales Méthodes :

  Les principales Méthodes de SIP sont au nombre de 6 : ACK, INVITE, OPTION, BYE,
REGISTER et CANCEL.

        ACK: acquittement des messages
        INVITE: invitation à une session multimédia
        OPTION: permet d'indiquer un certains nombre de paramètres qui permettent de
        gérer la présence sur le réseau (fonction très utilisée par le Messenger de Microsoft)
        BYE : Met fin à une session en cours
        REGISTER: enregistrement d'une entité auprès du serveur Registrar, Elle peut
        transporter des données utilisateur
        CANCEL: met fin à une session pendante

         3.2.2 Codes de réponse :

   Les codes de réponse sont classés de la manière suivante:

        Codes 1xx : Information
        Code 200 : OK = succès
        Codes 3xx : Redirection
        Codes 4xx : Erreurs du client
        Codes 5xx : Erreurs du serveur
        Codes 6xx : Erreurs générales

         3.2.3 Extensions du protocole SIP : [ROS 02]

   Les méthodes étendues de SIP sont :

        SUBSCRIBE: permet la souscription d’un UA
        NOTIFY: utilisée pour la notification UA
        PUBLISH: permet de publier l’état d’un UA
        MESSAGE: permet le transfert de messages instantanés
        REFER: renvoie le récepteur vers une ressource identifiée dans la méthode
        UPDATE: permet à un terminal SIP de mettre à jour les paramètres d’une session
        multimédia
        INFO: permet de transférer des informations de signalisation durant l’appel: digits
        DTMF, les informations relatives à la taxation, etc.
        PRACK: acquitte la réception de réponses provisoires, de type 1xx
        COMET: précise une pré-condition pour une réunion




                                              8
1erChapitre                                                         Etude du protocole SIP


4. Diagramme d'état de l'UAC et de l'UAS:




                           Fig.4 Diagramme d'état de l'UAC et de l'UAS

    5. Conclusion :
    SIP est un protocole décrit dans le RFC 2543 et qui a été substitué depuis le mois de juillet
2002 par le RFC 3261. Ce protocole étant donné qu'un grand nombre de constructeurs
travaillent dessus, il se peut qu'il cohabite fortement avec les standards utilisé jusqu'alors
(principalement H323). Un autre protocole dénommé MGCP/MEGACO [MGC 99] à été
développé par HSS (Hughes Software Systems) et standardisé par l'IETF (RFC 3015) et par
l'ITU-T (H248). SIP reste néanmoins un protocole à la mode et seul l'avenir nous dira s’il
tient ses promesses.




                                               9
ème
       2         Chapitre

Conception de deux applications
      (MOBILIS et CCP)
2ème Chapitre                                                 Conception des applications (MOBILIS et CCP)


    1. Introduction :
    L’objectif visé par cette phase consiste à définir et à mettre au point une solution qui permettra aux
    clients MOBILIS [MOB 08] (qui disposent un compte CCP) :
        • D’accéder et d’interroger leur compte CCP par l’envoi d’un SMS,
        • D’obtenir en retour le relevé (Solde) du compte.
    A cette fin, nous avons développé deux applications :
        • La 1ére intitulée MOBILIS.
        • La 2ème intitulée CCP.
    L’échange des messages entre MOBILIS et CCP se fait suivant le protocole SIP.
    Le déroulement d’une telle opération se fait comme suit :

       Le client Mobilis (MS) envoi un SMS contenant son login (N0 CCP) et le password
       (4chiffres) précédés du mot CCP. Ex : «CCP 129790 7545».
       Lorsque l’application MOBILIS reçoit le SMS, elle construit une requête SIP (INVITE),
       invitant l’application CCP à établir une connexion.
       L’application CCP vérifie l’existence du compte client en interrogeant la BDD CCP.
       Si l’authentification est vérifiée :
             • Un message SIP OK est envoyé à l’application MOBILIS
             • L’application MOBILIS répond par un message ACK et la connexion est établie.
       Si le compte n’existe pas ou est erroné,
            • Un message d’erreur (UNAUTHORIZED) est envoyé.
            • La connexion est annulée.
       En cas de connexion, l’application CCP interroge la BDD pour avoir le solde du client puis
       envoi ce dernier à l’application MOBILIS sous la forme d’un message SIP (MESSAGE).
       L’application MOBILIS reçoit le message SIP puis construit un SMS contenant le solde qui
       sera envoyé au client MOBILIS.
    Voir fig.5.




                       Fig.5 Schéma général des échanges entre les serveurs

                                                   11
2ème Chapitre                                                  Conception des applications (MOBILIS et CCP)


    2. Le choix du langage :

   Le choix du langage pour l'implémentation s'est orienté vers C# (C#2005) [MSF 08]. En effet, on a
désiré pouvoir bénéficier d'un langage objet haut-niveau multiplateforme et qui nous permet d’utiliser
des bibliothèques existantes surtout du .NET (Socket, SMPP, SQL (SQL Server 2005)) et la
multiprogrammation(Thread).

    C# est un langage de programmation conçu pour la création d'une large gamme d'applications qui
s'exécutent sur le .NET Framework. C# est simple, puissant, de type sécurisé et orienté objet. Avec ses
nombreuses innovations, C# permet le développement rapide d'applications tout en conservant la
simplicité et l'élégance des langages de style C.

         Quelques définitions :

       Les références:

   Une référence contient une définition requise d’un événement '<eventname>' qui se trouve dans un
assembly '<assemblyname>'. L'événement est défini dans une bibliothèque de liens dynamiques (DLL,
Dynamic Link Library) ou un assembly non directement référencé dans le projet. Le compilateur
Visual C# requiert une référence afin d'éviter toute ambiguïté au cas où l'événement serait défini dans
plusieurs DLL ou assembly.

       Les bibliothèques de classes:

   Une bibliothèque de classes .NET Framework expose des fonctionnalités Runtime et fournit
d’autres services utiles à tous les développeurs. Les classes simplifient le développement des
applications .NET. Les développeurs peuvent ajouter des classes en créant leurs propres bibliothèques
de classes.
    3. L’application MOBILIS:

     3.1 Les références:

       Les références utilisées pour l’application MOBILIS sont :
   System
   System.Xml
   AXmsCtrl //pour le protocole SMPP créé par ActiveXperts [AXC 99]

     3.2 Les bibliothèques de classes:

       Les bibliothèques de classes utilisées sont :
   System:                                        using     System;
   System.Text:                                   using     System.Text;
   System.IO:                                     using     System.IO;
   System.Collections.Generic:                    using     System.Collections.Generic;
   System.Net:                                    using     System.Net;
   System.Threading:                              using     System.Threading;
   System.Xml:                                    using     System.Xml;
   System.Net.Sockets:                            using     System.Net.Sockets;
   AXmsCtrl:                                      using     AXmsCtrl; //pour le protocole SMPP


                                                       12
2ème Chapitre                                             Conception des applications (MOBILIS et CCP)


3.3 SMPP (Short Message Peer to Peer) v3.4: [SMP 99]

    Le protocole « Short Message Peer to Peer » (SMPP) est un protocole conçu pour fournir une
interface flexible de transmissions pour transférer des « Short Message » entre un centre de message
(dénommé SMSC, Short Message Service Center) 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.




                      Fig.6 Schéma d’une plateforme SMS qui utilise SMPP

   Le protocole SMPP est basé sur l'échange de requêtes et réponses PDU (Protocol Data Unit) entre
le 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 :

• ESME Transceiver : Message envoyé de l’ESME (E) au SMSC et du SMSC à l’ESME (R), c’est le
  cas pour notre application.
• ESME Transmitter : Message envoyé de l’ESME (E) au SMSC.
• ESME Receiver : Message envoyé du SMSC à l’ESME (R).

     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.
   Un ESME souhaitant envoyer et recevoir des messages est requis pour établir deux connexions
réseaux (TCP/IP ou X.25) et deux sessions SMPP (Transmetteur et receveur). Cependant, dans cette
version du protocole, un ESME peut établir une session SMPP Transceiver afin d'avoir une seule
connexion réseau.

   Pendant une session SMPP, un ESME peut publier une série de demandes à un SMSC et recevra
les réponses appropriées à chaque demande depuis le SMSC. De même, le SMSC peut publier des
requêtes SMPP à l’ESME, qui devra répondre en conséquence.




                                                13
2ème Chapitre                                             Conception des applications (MOBILIS et CCP)


   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 SMS à un SMSC qui ensuite vont être
envoyés à un portable ou un autre ESME. L‘ESME peut aussi requêter, remplacer ou annuler un
message précédemment soumis.

   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.
   ESME connecté comme transceiver peu envoyer les SMS vers un SMSC. Les SMS son ensuite
envoyés vers un portable ou vers un autre ESME. Egalement, dans ce cas, l'ESME peut recevoir un
SMS provenant d'un portable, d’un autre ESME ou de 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.
   Ex : Exemple d'une session SMPP – type ESME Transceiver :




                  Fig.7 Exemple d'une session SMPP – type ESME Transceiver

                                                14
2ème Chapitre                                                Conception des applications (MOBILIS et CCP)


    3.4 Description de l’application :

   Cette application a deux parties (Client et Serveur), elle se connecte au début avec le SMS-C à
   l’aide du protocole SMPP (objSmppProtocol.Connect();) pour recevoir les SMS (partie
   Serveur) et se connecte au serveur CCP :
    udp_socket_Send.Connect(IPAddress.Parse(IP_CCP), Port_CCP);, dés qu’il y a un
   SMS reçu
   Et on crée un thread :
   thread_Envoi_Mobilis             th_MOBILIS                                    =                 new
   thread_Envoi_Mobilis(objSmsMessage);
   Thread          thrdSMS_To_SIP          =                            new               Thread(new
   ThreadStart(th_MOBILIS.SMS_To_SIP));
   thrdSMS_To_SIP.Start();
   Qui rajout le client dans une liste de clients :
   Client                   client                   =                                              new
   Client(Convert.ToString(Thread.CurrentThread.ManagedThreadId), );
   Program.ClientList.Add(client);
   Ensuite il se charge de vérifier la syntaxe du SMS (CCP +   + N0 CCP +   + Password) si la
syntaxe est vérifiée il lance une demande de connexion SIP sur le serveur CCP par l’intermédiaire de
la méthode INVITE, si non on envoi un message (SMS) d’erreur de syntaxe
   objSmsMessage.Data = Veuillez verifier la syntaxe du SMS SVP ;.

   Si on reçoit un message OK pour la méthode INVITE donc le compte existe, alors on envoi un
ACK pour confirmer l’ouverture de session et attendre le solde que l’on doit transmettre au client
via un SMS.
   objSmsMessage.Data = Encoding.ASCII.GetString(Message);
   // Envoi du solde !
   object obj = objSmsMessage;
   string strMessageRef = Program.objSmppProtocol.Send(ref obj);

   Si non, alors un message UNAUTHORIZED est reçu donc le compte n’est pas valide, cependant
on envoi un message (SMS) d’erreur pour dire que ce Num_CCP+Passwd ne sont pas autorisés.
   objSmsMessage.Data = Num_CCP +   + Passwd+  Non autorisé;.
  A la fin on envoi un message BYE pour la fermeture de session et attendre la confirmation par un
ACK pour supprimer le client de la liste Program.ClientList.Remove(client);.
    4. L’application CCP:
     4.2 Les références:
   Les références qu’on a utilisées pour l’application CCP sont :

   System
   System.Xml
   System.Data

     4.3 Les bibliothèques de classes:
   Les bibliothèques de classes qu’on a utilisées pour l’application CCP sont :

   using        System;
   using        System.Collections.Generic;
   using        System.Text;
   using        System.Net;
   using        System.Net.Sockets;
   using        System.Threading;
   using        System.Data;
   using        System.Data.SqlClient;

                                                      15
2ème Chapitre                                              Conception des applications (MOBILIS et CCP)


    4.4 Description de l’application :

   C’est une application serveur qui ce met en écoute d’une demande de connexion du coté MOBILIS
par une requête SIP INVITE :
   IPEndPoint ep = new IPEndPoint(IPAddress.Parse(IP_CCP), Port_CCP);
   udp_socket_Receive.Bind(ep);
   udp_socket_Receive.Receive(SIP_Recu_Byte);
  Lors d’une réception d’un message SIP INVITE, on lance un thread qui utilise le contenu du
message reçu :
   thread_CCP th_CCP = new thread_CCP(SIP_Recu);
   Thread      thrdReceive_SIP_From_Mobilis      =                         new          Thread(new
   ThreadStart(th_CCP.Reponse_SIP_CCP_MOBILIS));
   thrdReceive_SIP_From_Mobilis.Start();
   Ce thread rajoute le client dans une liste de clients en cours de demande ClientList :
   Client client = new Client();
   Program.ClientList.Add(client);
  Ensuite il construire une requête SQL à partir du contenu SIP afin d’authentifier le client par le
NumCCP et le Passwd on interrogeant la BDD CCP :

   string Requete = SELECT Solde FROM Clientccp WHERE NumCCP =' + NumCCP +
   ' AND Passwd =' + passwd + ';
   urlSqlServer = @Data Source= + IP_Serveur_SQL + SQLEXPRESS ;Initial
   Catalog=CCPbd; + Integrated Security=SSPI;;
   SqlConnection connexion = new SqlConnection(Program.urlSqlServer);
   SqlCommand cmdSqlServ = new SqlCommand(Requete, connexion);

    Si l’authentification est réussite on envoi une réponse SIP OK pour le serveur MOBILIS et on
attend le ACK pour envoyer le solde, si non un message d’erreur SIP UNAUTHORIZED est
envoyer.
    Dans les deux cas en attend la fermeture de session par une requête SIP BYE et là confirmer par
un ACK puis supprimer le client de la liste de clients :
   Program.ClientList.Remove(client);.

   La forme du message (SMS) solde est la suivante :

    Num_CCP  votre solde est de  Solde DA.




                                                16
2ème Chapitre                                             Conception des applications (MOBILIS et CCP)



    5. Captures d'écran :

       Capture d’écran pour l’application MOBILIS :




                        Fig.8 Capture d’écran de l’application MOBILIS

   La figure (Fig.8) a été prise lors des essais de nos deux applications au sein du Centre GSM
MOBILIS Mustafa. Celle-ci montre la réception de plusieurs SMS venants du client qui a le numéro
+213697506332. L’un des contenus des messages reçu est : CCP 129790 7545.
   Notre application (MOBILIS) a répondu à cette requête après avoir fait les traitements (déjà cité
dans la partie application MOBILIS et application CCP) via un SMS qui contient le solde de son
compte CCP.
   Le message (SMS) est le suivant : 129790 votre solde est de 35,00DA. (Syntaxe page 16)

    Les figures 9, 10 et 11 indiquent les différents messages SMPP échangés entre l’application
MOBILIS et le SMSC de MOBILIS lors de la connexion au SMSC, l’envoi du SMS par le client et
la réponse donnée au client. Ces messages sont sauvegardés automatiquement dans un fichier texte,
que nous avons spécifié dans l’application MOBILIS par l’instruction suivante :

   objSmppProtocol.LogFile = C:SmppLog.txt;




                                                17
2ème Chapitre                                           Conception des applications (MOBILIS et CCP)


       Captures d’écran sur le fichier SmppLog.txt :




                     Fig.9 Capture d’écran d’une partie du fichier Smpplog.txt




                    Fig.10 Capture d’écran d’une partie du fichier Smpplog.txt

                                              18
2ème Chapitre                                           Conception des applications (MOBILIS et CCP)




                   Fig.11 Capture d’écran d’une partie du fichier Smpplog.txt

       Capture d’écran de la BDD :




           Fig.12 Capture d’écran de la BDD CCPbd table Clientccp (SQL Server 2005)




                                              19
2ème Chapitre                                             Conception des applications (MOBILIS et CCP)


           Captures du mobile :




            Fig.13 Capture du mobile lors de la réception d’une réponse d’erreur du type :
                              Veuillez vérifier la syntaxe du SMS SVP




                       Fig.14 Capture du mobile lors de la réception du solde:
                                129790 votre Solde est de 35,00DA




              Fig.15 Capture du mobile lors de la réception d’une réponse d’erreur:
                                     129790 754a Non autorise
  Les figures 13,14 et 15 reflètent des échantillons de messages (SMS), que renvoie l’application
MOBILIS comme réponses lorsqu’un client lui envoi une requête (SMS).

    6. Conclusion :
   La version finale des deux programmes met en évidence l’utilisation du protocole SIP et SMPP
dans le domaine des services de la téléphonie mobile. En effet, les deux programmes permettent la
consultation du compte CCP grâce au service SMS (MOBILIS). Bien que la sécurité des messages
échangés n’ait pas été prise en considération dans nos deux applications.


                                                20
Conclusion générale



  Nous pensons que le résultat obtenu pour ce projet de fin d’études est
satisfaisant et même encourageant. Certes, il reste quelques modifications à
apporter. Ainsi, il est déjà possible de tester et d'utiliser le service.


  Grâce au réseau Mobilis, les titulaires de compte CCP peuvent avoir leur
relevé de compte tout simplement en envoyant un SMS au 66666 qui assure
la syntaxe qu’on a définie.


  D’autres options peuvent être apportées à ce service, en offrant la
possibilité de :
          prévenir automatiquement les clients (CCP/MOBILIS) lors du
          changement de l’état de leur compte (Solde),
          changer le mot de passe…etc.


  Sur le plan personnel, la réalisation de ce projet nous a apporté beaucoup
d'enthousiasme et de motivation. Nous avons appris :
          à gérer les problèmes imprévus et à les résoudre,
          à étudier plusieurs solutions avant d'en choisir une et de la réaliser.
Nous avons aussi découvert le langage C#, auquel nous n'avions pas
vraiment porté attention auparavant.




                                       21
Références bibliographiques

[AXC 99]    ActiveXperts Software B.V, 1999
            URL: http://www.activexperts.com/about

[CCP 08]    Algérie Poste, service de Comptes Chèques Postaux.
            URL: http://www.poste.dz
            URL: http://ccp.poste.dz

[HAN 99]    M. Handley, et al, “SIP: Session Initiation Protocol”, RFC
            2543, IETF, Mars 1999
            URL: http://www.ietf.org/rfc/rfc2543.txt


[ITU 96]    Recommandation H.323 ITU-T, 1996
            URL: http://www.itu.int/rec/T-REC-H.323/fr

[MGC 99] MGCP/MEGACO
         Recommandation H.248, ITU-T 1999
         RFC 3015, IETF 1999.
         URL: http://www.ietf.org/ids.by.wg/megaco.html

[MOB 08] Mobilis 1er operateur de téléphonie mobile en Algérie
         URL: http://www.mobilis.dz

[MSF 08]    msdn, Centre Visual C#
            URL: http://msdn.microsoft.com/fr-fr/vcsharp/default.aspx
            URL: http://www.csharpfr.com

[ROS 02]    J. Rosenberg, et al, “SIP: Session Initiation Protocol”, RFC
            3261, IETF, Juin 2002
            URL: http://www.ietf.org/rfc/rfc3261.txt
            B. Campbell, et al, “SIP: Extension for Instant Messaging”,
            RFC 3428, IETF, December 2002
            URL: http://www.ietf.org/rfc/rfc3428.txt

[SMP 99]    SMPP “Short Message Peer to Peer“, 30 Juillet1999, v3.4
            URL: http://www.alvento.com/productos/sms/smpp/smpp34.pdf




                                  22

Mais conteúdo relacionado

Mais procurados

Distance Measuring Equipment (DME) power point Presentation for aircraft
Distance Measuring Equipment (DME) power point Presentation for aircraftDistance Measuring Equipment (DME) power point Presentation for aircraft
Distance Measuring Equipment (DME) power point Presentation for aircraftPrabhat K.C.
 
Soutenance fin d'étude
Soutenance fin d'étudeSoutenance fin d'étude
Soutenance fin d'étudejulienlfr
 
Instrument landing system (ils)
Instrument landing system (ils)Instrument landing system (ils)
Instrument landing system (ils)Divya Chopra
 
Compte rendu tp automatique 1
Compte rendu tp automatique 1Compte rendu tp automatique 1
Compte rendu tp automatique 1hamdinho
 
Smartpath SLS-4000 Ground Based Augmentation System By Brian Davis,Air Traffi...
Smartpath SLS-4000 Ground Based Augmentation System By Brian Davis,Air Traffi...Smartpath SLS-4000 Ground Based Augmentation System By Brian Davis,Air Traffi...
Smartpath SLS-4000 Ground Based Augmentation System By Brian Davis,Air Traffi...IPPAI
 
Développement et mise en place module maintenance GMAO
Développement et mise en place module maintenance GMAO  Développement et mise en place module maintenance GMAO
Développement et mise en place module maintenance GMAO MohamedYassineSALAH
 
Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...HORIYASOFT
 
rapport-projet-de-fin-detudes
 rapport-projet-de-fin-detudes rapport-projet-de-fin-detudes
rapport-projet-de-fin-detudesAchraf Mokhtari
 
Presentation PFA ESSAT Gabès
Presentation PFA ESSAT GabèsPresentation PFA ESSAT Gabès
Presentation PFA ESSAT GabèsOussama Nairi
 
Grammaire-et-analyse-Analyse-grammaticale-et-analyse-logique.pdf
Grammaire-et-analyse-Analyse-grammaticale-et-analyse-logique.pdfGrammaire-et-analyse-Analyse-grammaticale-et-analyse-logique.pdf
Grammaire-et-analyse-Analyse-grammaticale-et-analyse-logique.pdfAmine307994
 
Quick reference guide ans
Quick reference guide  ansQuick reference guide  ans
Quick reference guide ansZameer Basha
 
DME in Aviation||| Avionics || Distance Measuring Equipment
DME in Aviation||| Avionics || Distance Measuring EquipmentDME in Aviation||| Avionics || Distance Measuring Equipment
DME in Aviation||| Avionics || Distance Measuring EquipmentBishow Gautam
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe espritAmine Chahed
 
Société nationale industrielle et minière
Société nationale industrielle et minièreSociété nationale industrielle et minière
Société nationale industrielle et minièreGhalla Chikh
 

Mais procurados (20)

Distance Measuring Equipment (DME) power point Presentation for aircraft
Distance Measuring Equipment (DME) power point Presentation for aircraftDistance Measuring Equipment (DME) power point Presentation for aircraft
Distance Measuring Equipment (DME) power point Presentation for aircraft
 
Soutenance fin d'étude
Soutenance fin d'étudeSoutenance fin d'étude
Soutenance fin d'étude
 
La CVA, quelle mesure
La CVA, quelle mesureLa CVA, quelle mesure
La CVA, quelle mesure
 
Instrument landing system (ils)
Instrument landing system (ils)Instrument landing system (ils)
Instrument landing system (ils)
 
pfe book 2023 2024.pdf
pfe book 2023 2024.pdfpfe book 2023 2024.pdf
pfe book 2023 2024.pdf
 
Compte rendu tp automatique 1
Compte rendu tp automatique 1Compte rendu tp automatique 1
Compte rendu tp automatique 1
 
Smartpath SLS-4000 Ground Based Augmentation System By Brian Davis,Air Traffi...
Smartpath SLS-4000 Ground Based Augmentation System By Brian Davis,Air Traffi...Smartpath SLS-4000 Ground Based Augmentation System By Brian Davis,Air Traffi...
Smartpath SLS-4000 Ground Based Augmentation System By Brian Davis,Air Traffi...
 
Développement et mise en place module maintenance GMAO
Développement et mise en place module maintenance GMAO  Développement et mise en place module maintenance GMAO
Développement et mise en place module maintenance GMAO
 
Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...
 
Avionics
AvionicsAvionics
Avionics
 
rapport-projet-de-fin-detudes
 rapport-projet-de-fin-detudes rapport-projet-de-fin-detudes
rapport-projet-de-fin-detudes
 
Presentation PFA ESSAT Gabès
Presentation PFA ESSAT GabèsPresentation PFA ESSAT Gabès
Presentation PFA ESSAT Gabès
 
RADAR, Mlat, ADS, Bird RADAR, Weather RADAR Guide
RADAR, Mlat, ADS, Bird RADAR, Weather RADAR GuideRADAR, Mlat, ADS, Bird RADAR, Weather RADAR Guide
RADAR, Mlat, ADS, Bird RADAR, Weather RADAR Guide
 
RWS AMUST
RWS AMUSTRWS AMUST
RWS AMUST
 
Rapport PFE - B.Sc IT
Rapport PFE -  B.Sc ITRapport PFE -  B.Sc IT
Rapport PFE - B.Sc IT
 
Grammaire-et-analyse-Analyse-grammaticale-et-analyse-logique.pdf
Grammaire-et-analyse-Analyse-grammaticale-et-analyse-logique.pdfGrammaire-et-analyse-Analyse-grammaticale-et-analyse-logique.pdf
Grammaire-et-analyse-Analyse-grammaticale-et-analyse-logique.pdf
 
Quick reference guide ans
Quick reference guide  ansQuick reference guide  ans
Quick reference guide ans
 
DME in Aviation||| Avionics || Distance Measuring Equipment
DME in Aviation||| Avionics || Distance Measuring EquipmentDME in Aviation||| Avionics || Distance Measuring Equipment
DME in Aviation||| Avionics || Distance Measuring Equipment
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
Société nationale industrielle et minière
Société nationale industrielle et minièreSociété nationale industrielle et minière
Société nationale industrielle et minière
 

Semelhante a Relevé De Compte Ccp Par Sms

Rapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomRapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomSiwar GUEMRI
 
Mémoire analyse fonctionnelle et rédimensinnement d'une infrastructure réseau...
Mémoire analyse fonctionnelle et rédimensinnement d'une infrastructure réseau...Mémoire analyse fonctionnelle et rédimensinnement d'une infrastructure réseau...
Mémoire analyse fonctionnelle et rédimensinnement d'une infrastructure réseau...GeorgeMillan2
 
Radio Mobile -Technologie sans fil
Radio Mobile -Technologie sans filRadio Mobile -Technologie sans fil
Radio Mobile -Technologie sans filKONAN MARTIAL
 
Radio Mobile -Technologie sans fil
Radio Mobile -Technologie sans filRadio Mobile -Technologie sans fil
Radio Mobile -Technologie sans filKONAN MARTIAL
 
PFE Swap INWI 2G 3G LTE
PFE Swap INWI 2G 3G LTEPFE Swap INWI 2G 3G LTE
PFE Swap INWI 2G 3G LTEAziz Abamni
 
raport-dee-stage-houadji-hiichem.docx
raport-dee-stage-houadji-hiichem.docxraport-dee-stage-houadji-hiichem.docx
raport-dee-stage-houadji-hiichem.docxYoucefDAOUD3
 
MEMOIR FIN D'ETUDE STATION DE POMPAGE.docx
MEMOIR FIN D'ETUDE  STATION DE POMPAGE.docxMEMOIR FIN D'ETUDE  STATION DE POMPAGE.docx
MEMOIR FIN D'ETUDE STATION DE POMPAGE.docxSimoFbmc
 
Impl%c3%a9mentation du serveur_de_t%c3%a9l%c3%a9phonie_%28_asterisk%29
Impl%c3%a9mentation du serveur_de_t%c3%a9l%c3%a9phonie_%28_asterisk%29Impl%c3%a9mentation du serveur_de_t%c3%a9l%c3%a9phonie_%28_asterisk%29
Impl%c3%a9mentation du serveur_de_t%c3%a9l%c3%a9phonie_%28_asterisk%29Hasanox
 
Stage camtelcmr
Stage camtelcmrStage camtelcmr
Stage camtelcmrMerraBisso
 
Gestion de la mobilité et de la Qos chez un opérateur de téléphonie mobile:UMTS
Gestion de la mobilité et de la Qos chez un opérateur de téléphonie mobile:UMTSGestion de la mobilité et de la Qos chez un opérateur de téléphonie mobile:UMTS
Gestion de la mobilité et de la Qos chez un opérateur de téléphonie mobile:UMTSMkMk Kachallah
 
Station de cable sous marin sat3 cotonou
Station de cable sous marin sat3 cotonouStation de cable sous marin sat3 cotonou
Station de cable sous marin sat3 cotonouphilippey hounkponou
 
Rapport stage fin d'études
Rapport stage fin d'étudesRapport stage fin d'études
Rapport stage fin d'étudesAlbert IBANEZ
 
Asterisk report
Asterisk reportAsterisk report
Asterisk reporttatbirt
 
memoire Magaye Gaye_ESMT Fevrier 2012 Dr Ouya_Dr Boudal Ing Ousseynou Diop
memoire Magaye Gaye_ESMT Fevrier 2012 Dr Ouya_Dr Boudal Ing Ousseynou Diopmemoire Magaye Gaye_ESMT Fevrier 2012 Dr Ouya_Dr Boudal Ing Ousseynou Diop
memoire Magaye Gaye_ESMT Fevrier 2012 Dr Ouya_Dr Boudal Ing Ousseynou DiopMAGAYE GAYE
 
NGN MULTIMEDIA/IMS UMTS DIMENSIONEMENT
NGN MULTIMEDIA/IMS  UMTS  DIMENSIONEMENTNGN MULTIMEDIA/IMS  UMTS  DIMENSIONEMENT
NGN MULTIMEDIA/IMS UMTS DIMENSIONEMENTMAGAYE GAYE
 

Semelhante a Relevé De Compte Ccp Par Sms (20)

Rapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomRapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécom
 
Memoire license iii
Memoire license iiiMemoire license iii
Memoire license iii
 
Kallel mehdi
Kallel mehdiKallel mehdi
Kallel mehdi
 
Mémoire analyse fonctionnelle et rédimensinnement d'une infrastructure réseau...
Mémoire analyse fonctionnelle et rédimensinnement d'une infrastructure réseau...Mémoire analyse fonctionnelle et rédimensinnement d'une infrastructure réseau...
Mémoire analyse fonctionnelle et rédimensinnement d'une infrastructure réseau...
 
Radio Mobile -Technologie sans fil
Radio Mobile -Technologie sans filRadio Mobile -Technologie sans fil
Radio Mobile -Technologie sans fil
 
Radio Mobile -Technologie sans fil
Radio Mobile -Technologie sans filRadio Mobile -Technologie sans fil
Radio Mobile -Technologie sans fil
 
PFE Swap INWI 2G 3G LTE
PFE Swap INWI 2G 3G LTEPFE Swap INWI 2G 3G LTE
PFE Swap INWI 2G 3G LTE
 
raport-dee-stage-houadji-hiichem.docx
raport-dee-stage-houadji-hiichem.docxraport-dee-stage-houadji-hiichem.docx
raport-dee-stage-houadji-hiichem.docx
 
MEMOIR FIN D'ETUDE STATION DE POMPAGE.docx
MEMOIR FIN D'ETUDE  STATION DE POMPAGE.docxMEMOIR FIN D'ETUDE  STATION DE POMPAGE.docx
MEMOIR FIN D'ETUDE STATION DE POMPAGE.docx
 
Impl%c3%a9mentation du serveur_de_t%c3%a9l%c3%a9phonie_%28_asterisk%29
Impl%c3%a9mentation du serveur_de_t%c3%a9l%c3%a9phonie_%28_asterisk%29Impl%c3%a9mentation du serveur_de_t%c3%a9l%c3%a9phonie_%28_asterisk%29
Impl%c3%a9mentation du serveur_de_t%c3%a9l%c3%a9phonie_%28_asterisk%29
 
Stage camtelcmr
Stage camtelcmrStage camtelcmr
Stage camtelcmr
 
Gestion de la mobilité et de la Qos chez un opérateur de téléphonie mobile:UMTS
Gestion de la mobilité et de la Qos chez un opérateur de téléphonie mobile:UMTSGestion de la mobilité et de la Qos chez un opérateur de téléphonie mobile:UMTS
Gestion de la mobilité et de la Qos chez un opérateur de téléphonie mobile:UMTS
 
Station de cable sous marin sat3 cotonou
Station de cable sous marin sat3 cotonouStation de cable sous marin sat3 cotonou
Station de cable sous marin sat3 cotonou
 
Rapport stage fin d'études
Rapport stage fin d'étudesRapport stage fin d'études
Rapport stage fin d'études
 
Rapport de stage bts
Rapport de stage btsRapport de stage bts
Rapport de stage bts
 
Word
WordWord
Word
 
Asterisk report
Asterisk reportAsterisk report
Asterisk report
 
memoire Magaye Gaye_ESMT Fevrier 2012 Dr Ouya_Dr Boudal Ing Ousseynou Diop
memoire Magaye Gaye_ESMT Fevrier 2012 Dr Ouya_Dr Boudal Ing Ousseynou Diopmemoire Magaye Gaye_ESMT Fevrier 2012 Dr Ouya_Dr Boudal Ing Ousseynou Diop
memoire Magaye Gaye_ESMT Fevrier 2012 Dr Ouya_Dr Boudal Ing Ousseynou Diop
 
NGN MULTIMEDIA/IMS UMTS DIMENSIONEMENT
NGN MULTIMEDIA/IMS  UMTS  DIMENSIONEMENTNGN MULTIMEDIA/IMS  UMTS  DIMENSIONEMENT
NGN MULTIMEDIA/IMS UMTS DIMENSIONEMENT
 
Ass et voiri rapport
Ass et voiri rapportAss et voiri rapport
Ass et voiri rapport
 

Relevé De Compte Ccp Par Sms

  • 1. République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université des Sciences et de la Technologie Houari Boumediene Faculté d’Electronique et d’Informatique Mémoire de Licence Domaine Mathématiques et Informatique Filière Informatique Spécialité Génie Télécommunications & Réseaux Thème RELEVÉ DE COMPTE CCP PAR SMS Proposé par : Présenté par : MM. Dr. A.BELKHIR OUADJAOUT Lamine ALI MERINA Brahim Encadré par: M. M.SAKRI et Mme. W.RABHI Devant le jury : Mme. S.MOUSSAOUI Présidente M. A.BERBAR Examinateur M. Y.ZAFOUN Examinateur Mme. N.MEDJAHED Examinatrice Mlle. N.BOUZIANE Examinatrice Projet n°. 03/08/GTR
  • 2. : ‫ا‬ (SMS) ‫ة‬ ‫ر‬ ‫أن‬ ‫ا‬ ، ‫ا‬ ‫ا‬ ‫ا‬ .‫ة‬ ‫ا‬ ‫ا‬ ‫اب‬ ‫ا‬ CCP ‫ب‬ ‫ا.آ‬ ‫ا‬ ‫ة آ دود‬ ‫ا‬ ‫ت و إر ل ر‬ ‫ا‬ ‫و‬ ‫ا‬ ‫ا‬ . Résumé : Afin d’alléger les bureaux de poste, il convient de mettre un service SMS pour les téléphones portables. Chaque titulaire de compte CCP pourra interroger son compte CCP via le service SMS. L’application consiste à mettre en œuvre le traitement des requêtes SMS et l’envoi des réponses correspondantes. Abstract: To alleviate the post offices, it should put an SMS service for mobile phones. Each account holder can ask CCP's account via the SMS service. The application is to implement the processing of SMS requests and sending the corresponding responses.
  • 3.
  • 4. Remerciements Nous tenons à remercier nos familles respectives (nos chers parents, frères, cousins, etc.) pour leurs soutien, conseils et aide indéfectible, ainsi que tous nos amis (Amirouche, Salim, Rachid, Abdelkader, Zaki, Halim, Kamel, Sofiane, Meziane, Nabil et beaucoup d'autres) avec qui nous avons partagé le bon et le moins bon, les hauts et les bas de notre cursus universitaire. Nous exprimons notre reconnaissance aux professeurs, et en premier lieu à notre promoteur Dr. BELKHIR, qui nous ont apporté beaucoup de connaissances dans ce vaste domaine des « Télécommunications et Réseaux ». Nous voulons également exprimer notre profonde gratitude à Mr. OUAFI, Mr. HADDAD RAMZI, Mr. CHETIBI KAMEL, Mr. ZERROUR AKLI, Mlle ALIYAHIA LYNDA, Mr. SEBIH SEYEH, Mr. SAKRI MOHAMED, Mme. RABHI WAHIBA, ainsi qu’a tous les ingénieurs de MOBILIS qui nous ont aidés, et tous ses employés qui nous ont rendu service et tous ceux qui nous ont soutenus de prés ou de loin.
  • 5. SOMMAIRE Introduction générale -------------------------------------------------------------------------------------------- 1 CHAPITRE I – Etude du protocole SIP ------------------------------------------------------------------ 2 I.1 - Introduction ----------------------------------------------------------------------------------------------------- 3 I.2 - Présentation du protocole SIP (Session Initiation Protocol) ------------------------------------------ 3 I.2.1 - Généralités ---------------------------------------------------------------------------------------------- 3 I.2.2 - Architecture de SIP ------------------------------------------------------------------------------------ 3 I.2.2.1 - Les User Agent (UA) ----------------------------------------------------------------------- 4 I.2.2.2 – Les serveurs d’un réseau SIP ------------------------------------------------------------- 4 I.2.3 - Les adresses SIP (URL SIP) ------------------------------------------------------------------------- 6 I.3 - Structure d'un message SIP ---------------------------------------------------------------------------------- 6 I.3.1 - En-têtes SIP --------------------------------------------------------------------------------------------- 7 I.3.2 - Méthodes et codes de réponse ----------------------------------------------------------------------- 8 I.3.2.1 - Principales Méthodes ----------------------------------------------------------------------- 8 I.3.2.2 - Codes de réponse ---------------------------------------------------------------------------- 8 I.3.2.2 - Extensions du protocole SIP -------------------------------------------------------------- 8 I.4 - Diagramme d'état de l'UAC et de l'UAS ------------------------------------------------------------------ 9 I.5 - Conclusion ------------------------------------------------------------------------------------------------------ 9 CHAPITRE II – Conception des applications (MOBILIS et CCP) -------------------------- 10 II.1 - Introduction ------------------------------------------------------------------------------------------------- 11 II.2 - Le choix du langage --------------------------------------------------------------------------------------- 12 II.3 - L’application MOBILIS ---------------------------------------------------------------------------------- 12 II.3.1 - Les références --------------------------------------------------------------------------------------- 12 II.3.2 - Les Bibliothèques de classes --------------------------------------------------------------------- 12 II.3.3 – SMPP (Short Message Peer to Peer) ----------------------------------------------------------- 13 II.3.4 - Description de l’application ---------------------------------------------------------------------- 15 II.4 - L’application CCP ----------------------------------------------------------------------------------------- 15 II.4.1 - Les références --------------------------------------------------------------------------------------- 15 II.4.2 - Les Bibliothèques de classes --------------------------------------------------------------------- 15 II.4.4 - Description de l’application ---------------------------------------------------------------------- 16 II.5 – Captures d’écran ------------------------------------------------------------------------------------------- 17 II.6 - Conclusion -------------------------------------------------------------------------------------------------- 20 Conclusion générale -------------------------------------------------------------------------------------------- 21 Références bibliographiques -------------------------------------------------------------------------------- 22
  • 6. Introduction générale Ces dernières années, la téléphonie mobile a été un des secteurs les plus dynamiques et les plus innovants de l'Industrie des Télécommunications. Les challenges sont ainsi nombreux alors que les opérateurs mobiles doivent proposer de nouveaux services à leurs clients. Pour cela, et afin d’alléger les bureaux de poste, il convient de mettre un service SMS pour les téléphones portables. Chaque titulaire de compte CCP pourra interroger son compte CCP via le service SMS. L’application consiste à mettre en œuvre le traitement des requêtes SMS et l’envoi des réponses correspondantes. Pour la mise en œuvre de l’application, nous avons besoin de deux services de base, l’un c’est l’opérateur mobile et l’autre c’est le service des CCP. Pour notre stage nous avons pu travailler du 1er coté (MOBILIS) tandis que du coté CCP, nous avons simulé leur Base De Données. Nous avons organisé notre travail de la manière suivante: 1er Chapitre: Etude du protocole SIP. 2ème Chapitre: Conception des applications (MOBILIS et CCP). 1
  • 7. er 1 Chapitre Etude du protocole SIP (Session Initiation Protocol)
  • 8. 1erChapitre Etude du protocole SIP 1. Introduction : Les nouvelles capacités des réseaux à haut débit devraient permettre de transférer de manière fiable des données en temps-réel. Ainsi, les applications de vidéo ou audioconférence ou de téléphonie vont envahir le monde IP qui, jusqu’alors, ne pouvait raisonnablement pas supporter ce genre d’applications (échange de données en temps réel…). SIP normalisé par l’I.E.T.F (Internet Engineering Task Force) mars 1999 RFC 2543 (V1.0), suivi par la (V2.0) RFC 3261 (juin 2002) qui révise la RFC 2543 et qui, comme son concurrent actuel H323 [ITU 96] normalisé par l’I.T.U. (1996), régule les échanges entre ces nouvelles applications. SIP appartient à la couche application et gère la signalisation et l’établissement des sessions plus précisément. Le protocole a ainsi été présenté dans un modèle plus proprement structuré. 2. Présentation du protocole SIP (Session Initiation Protocol): 2.1 Généralités : A l'origine, SIP [HAN 99] a été spécifié par le groupe de travail MMUSIC (Multiparty Multimedia SessIon Control) de l’IETF pour être un protocole de pure signalisation. Les principales fonctions d'un protocole de signalisation sont : localiser un terminal, contacter un terminal pour déterminer sa volonté d'établir une session, échanger des informations sur les média pour permettre l'établissement d'une session, modifier les sessions media existantes, clore dune session média existante. 2.2 Architecture de SIP : Le protocole SIP est bâti sur une architecture Client/Serveur qui utilise des messages textuels pour établir une session. Ces messages sont transportés par les protocoles de transport réseaux TCP ou UDP. Fig.1 Architecture de SIP 3
  • 9. 1erChapitre Etude du protocole SIP 2.2.1 Les User Agent (UA): C’est une application installé sur un terminal qui peut être, par exemple, un terminal de téléphonie sur IP, un serveur audio ou vidéo ou encore une passerelle vers un autre protocole. On distingue deux types d’UA : User Agent Client (UAC), envoie les requêtes SIP. User Agent Server (UAS), reçoit et traite les requêtes SIP de l’UAC. 2.2.2 Les serveurs d’un réseau SIP : Serveur d’Enregistrement (Registrar Server): Le Registrar Server permet de maintenir une correspondance entre les adresses réseaux (IP par exemple) et les adresses SIP (c’est le mapping). L’enregistrement d’un l’utilisateur consiste à envoyer un message REGISTER au Registrar. Ce dernier met à jour une base de données de localisation. Serveur Proxy : Un serveur proxy a la charge de router les messages SIP. Il a uniquement un rôle dans la signalisation et il ne gère pas de media. Il n'est en général à l'origine d'aucune requête excepté la requête CANCEL utilisée pour libérer une session pendante. Fig.2 Représentation schématique des flux SIP et des flux media lors de l'utilisation d'un serveur proxy Fonctionnement du Proxy SIP en mode Sans Etat (Stateless) : Le fonctionnement en mode stateless permet aux UAC d’échanger des données sans connaître les adresses réseaux (IP par exemple). Il permet donc à un utilisateur de changer de machine ou de lieu sans avoir aucun problème de changement d'adresse. 4
  • 10. 1erChapitre Etude du protocole SIP fonctionnement du Proxy SIP en mode Avec Etat (Statefull) : Le serveur proxy en mode Statefull route les paquets et n'a aucune implication dans l'échange de flux médias qui suit. Dans cet exemple, on peut constater qu'une fois les premiers messages échangés, les UA s'envoient directement leurs messages sans passer par le Proxy. C'est une fonctionnalité fournie par SIP qui permet aux UA de se donner leurs adresses sip finales (dans un champ nommé « Contact : »). Lors de la requête suivante, les UA peuvent alors se joindre directement. Le Proxy peut forcer toutes les requêtes suivantes d'une session à passer par lui (en ajoutant son adresse dans le champ nommé : « Record-Route »). L’un des intérêts de ce type de fonctionnement est de pouvoir garder une trace des temps de communication en vue de faire des statistiques sur les usages ou de mettre en place une facturation basée sur le temps de communication. Un autre intérêt de ce fonctionnement est qu'il offre la possibilité de contrôler le nombre de communication entre deux domaines et donc l'opportunité de pouvoir contrôler la bande passante sur certains liens (nécessaire pour pouvoir offrir une garantie de service). Un type particulier de serveur Proxy, appelé serveur forking proxy, peut dupliquer une requête et l'envoyer vers plusieurs destinataires. Ces serveurs peuvent par exemple être utilisés pour contacter plusieurs terminaux appartenant à la même personne. Serveur de Redirection (Redirect Server): Les serveurs Redirect aident à localiser les User Agent SIP en fournissant une adresse alternative (URI de renvoi) dans un message (requête) de réponse de redirection contenant la ou les prochaines adresses à contacter pour joindre le destinataire final. Ce système de recherche du destinataire est totalement transparent pour les utilisateurs, ce qui est très attrayant car la mobilité est de plus en plus présente dans le monde industriel. Serveur de Localisation (Location Server): Lorsqu'une entité SIP souhaite joindre un correspondant à partir de son adresse SIP, elle est renseignée par le Location Server qui accède à la base d'information renseignée et tenue à jour par le Serveur Registrar. Le serveur de localisation peut utiliser un ou plusieurs protocoles (LDAP, Finger, rwhois,…) pour localiser l'utilisateur. Remarque : On remarque dans les usages que le serveur Registrar est souvent associé au serveur Proxy et que le Location Server est le plus souvent une entité logique (Base De Données). 5
  • 11. 1erChapitre Etude du protocole SIP 2.3 Les adresses SIP (URL SIP): Les adresses SIP se présentent sous la forme suivante: sip:info_utilisateur@domain;uri-paramètres?en-têtes Les infos_utilisateur sont sous la forme: «nom utilisateur : mot de passe (facultatif)» ou «numéro de téléphone ». La partie domaine est sous la forme: «nom de domaine (usthb.dz) ou adresse IP: port (facultatif)». Les uri-paramètres prennent la forme : parameter-name=parameter-value séparés par des (;) Les noms et valeurs d’en-tête sont codés en paires hname = hvaleur séparées par (&) Ex : sip:lamine.brahim@usthb.dz 3. Structure d'un message SIP : Fig.3 Trame SIP SIP peut être également utilisé sur ATM(AAL5), X25 et frame relay. Comme on l’a déjà cité, les messages SIP sont textuels. Ils ont une partie en-tête et une partie corps. L'en-tête d’un message SIP contient les informations nécessaires au routage du message et à l'établissement de la session. Le corps définit les caractéristiques de la session à l'aide d'un protocole de description de session (Ex : SDP). Le protocole souvent utilisé pour l’échange d'informations sur le réseau est RTP/RTCP. 6
  • 12. 1erChapitre Etude du protocole SIP 3.1 En-têtes SIP : Pour les en-têtes SIP il existe deux types : des en-têtes obligatoires qui doivent êtres insérées dans les messages SIP et d’autres qui sont optionnels. Voici un tableau qui motionne les différents en-têtes d’un message SIP: EN-TÊTES FONCTION Obligatoires Utilisé pour une identification unique de l’appel entre deux user agents Call-ID Command Sequence identifie les requêtes hors séquence & la retransmission CSeq Identifie l’initiateur de la demande From Indique le destinataire de la demande To Nombre d'octets dans le corps du message Content-Length Raccorde le chemin emprunté par la requête et utilisée pour acheminer la Via réponse Optionnels Utilisés pour transmettre des URL d'origine des ressources demandées ou Contact demande expéditeur. En-tête optionnel indiquant le sujet de la session media. Subject Indique le type de support Internet. Content-Type Fournit des informations complémentaires sur l'agent utilisateur User Agent Fournit des informations supplémentaires sur le User Agent Server Server Utilisé pour forcer l’acheminement de toutes les demandes entre UAs Record-Route Force l'acheminement à travers un chemin extrait du Record-Route Route Exerce les autorisations de l'agent utilisateur à un serveur Authorization Permet d'indiquer la portion d'un SIP message qui a été chiffré Encryption Indique le prochain saut vers un proxy pour crypter l’en-tête Via Hide Permet à l’agent utilisateur de fixer la priorité d'une demande: emergency,… Priority Liste les options mises en œuvre dans un agent utilisateur ou serveur Supported Indique les fonctionnalités qui ne sont pas supportées par le serveur Unsupported 7
  • 13. 1erChapitre Etude du protocole SIP 3.2 Méthodes et codes de réponse: 3.2.1 Principales Méthodes : Les principales Méthodes de SIP sont au nombre de 6 : ACK, INVITE, OPTION, BYE, REGISTER et CANCEL. ACK: acquittement des messages INVITE: invitation à une session multimédia OPTION: permet d'indiquer un certains nombre de paramètres qui permettent de gérer la présence sur le réseau (fonction très utilisée par le Messenger de Microsoft) BYE : Met fin à une session en cours REGISTER: enregistrement d'une entité auprès du serveur Registrar, Elle peut transporter des données utilisateur CANCEL: met fin à une session pendante 3.2.2 Codes de réponse : Les codes de réponse sont classés de la manière suivante: Codes 1xx : Information Code 200 : OK = succès Codes 3xx : Redirection Codes 4xx : Erreurs du client Codes 5xx : Erreurs du serveur Codes 6xx : Erreurs générales 3.2.3 Extensions du protocole SIP : [ROS 02] Les méthodes étendues de SIP sont : SUBSCRIBE: permet la souscription d’un UA NOTIFY: utilisée pour la notification UA PUBLISH: permet de publier l’état d’un UA MESSAGE: permet le transfert de messages instantanés REFER: renvoie le récepteur vers une ressource identifiée dans la méthode UPDATE: permet à un terminal SIP de mettre à jour les paramètres d’une session multimédia INFO: permet de transférer des informations de signalisation durant l’appel: digits DTMF, les informations relatives à la taxation, etc. PRACK: acquitte la réception de réponses provisoires, de type 1xx COMET: précise une pré-condition pour une réunion 8
  • 14. 1erChapitre Etude du protocole SIP 4. Diagramme d'état de l'UAC et de l'UAS: Fig.4 Diagramme d'état de l'UAC et de l'UAS 5. Conclusion : SIP est un protocole décrit dans le RFC 2543 et qui a été substitué depuis le mois de juillet 2002 par le RFC 3261. Ce protocole étant donné qu'un grand nombre de constructeurs travaillent dessus, il se peut qu'il cohabite fortement avec les standards utilisé jusqu'alors (principalement H323). Un autre protocole dénommé MGCP/MEGACO [MGC 99] à été développé par HSS (Hughes Software Systems) et standardisé par l'IETF (RFC 3015) et par l'ITU-T (H248). SIP reste néanmoins un protocole à la mode et seul l'avenir nous dira s’il tient ses promesses. 9
  • 15. ème 2 Chapitre Conception de deux applications (MOBILIS et CCP)
  • 16. 2ème Chapitre Conception des applications (MOBILIS et CCP) 1. Introduction : L’objectif visé par cette phase consiste à définir et à mettre au point une solution qui permettra aux clients MOBILIS [MOB 08] (qui disposent un compte CCP) : • D’accéder et d’interroger leur compte CCP par l’envoi d’un SMS, • D’obtenir en retour le relevé (Solde) du compte. A cette fin, nous avons développé deux applications : • La 1ére intitulée MOBILIS. • La 2ème intitulée CCP. L’échange des messages entre MOBILIS et CCP se fait suivant le protocole SIP. Le déroulement d’une telle opération se fait comme suit : Le client Mobilis (MS) envoi un SMS contenant son login (N0 CCP) et le password (4chiffres) précédés du mot CCP. Ex : «CCP 129790 7545». Lorsque l’application MOBILIS reçoit le SMS, elle construit une requête SIP (INVITE), invitant l’application CCP à établir une connexion. L’application CCP vérifie l’existence du compte client en interrogeant la BDD CCP. Si l’authentification est vérifiée : • Un message SIP OK est envoyé à l’application MOBILIS • L’application MOBILIS répond par un message ACK et la connexion est établie. Si le compte n’existe pas ou est erroné, • Un message d’erreur (UNAUTHORIZED) est envoyé. • La connexion est annulée. En cas de connexion, l’application CCP interroge la BDD pour avoir le solde du client puis envoi ce dernier à l’application MOBILIS sous la forme d’un message SIP (MESSAGE). L’application MOBILIS reçoit le message SIP puis construit un SMS contenant le solde qui sera envoyé au client MOBILIS. Voir fig.5. Fig.5 Schéma général des échanges entre les serveurs 11
  • 17. 2ème Chapitre Conception des applications (MOBILIS et CCP) 2. Le choix du langage : Le choix du langage pour l'implémentation s'est orienté vers C# (C#2005) [MSF 08]. En effet, on a désiré pouvoir bénéficier d'un langage objet haut-niveau multiplateforme et qui nous permet d’utiliser des bibliothèques existantes surtout du .NET (Socket, SMPP, SQL (SQL Server 2005)) et la multiprogrammation(Thread). C# est un langage de programmation conçu pour la création d'une large gamme d'applications qui s'exécutent sur le .NET Framework. C# est simple, puissant, de type sécurisé et orienté objet. Avec ses nombreuses innovations, C# permet le développement rapide d'applications tout en conservant la simplicité et l'élégance des langages de style C. Quelques définitions : Les références: Une référence contient une définition requise d’un événement '<eventname>' qui se trouve dans un assembly '<assemblyname>'. L'événement est défini dans une bibliothèque de liens dynamiques (DLL, Dynamic Link Library) ou un assembly non directement référencé dans le projet. Le compilateur Visual C# requiert une référence afin d'éviter toute ambiguïté au cas où l'événement serait défini dans plusieurs DLL ou assembly. Les bibliothèques de classes: Une bibliothèque de classes .NET Framework expose des fonctionnalités Runtime et fournit d’autres services utiles à tous les développeurs. Les classes simplifient le développement des applications .NET. Les développeurs peuvent ajouter des classes en créant leurs propres bibliothèques de classes. 3. L’application MOBILIS: 3.1 Les références: Les références utilisées pour l’application MOBILIS sont : System System.Xml AXmsCtrl //pour le protocole SMPP créé par ActiveXperts [AXC 99] 3.2 Les bibliothèques de classes: Les bibliothèques de classes utilisées sont : System: using System; System.Text: using System.Text; System.IO: using System.IO; System.Collections.Generic: using System.Collections.Generic; System.Net: using System.Net; System.Threading: using System.Threading; System.Xml: using System.Xml; System.Net.Sockets: using System.Net.Sockets; AXmsCtrl: using AXmsCtrl; //pour le protocole SMPP 12
  • 18. 2ème Chapitre Conception des applications (MOBILIS et CCP) 3.3 SMPP (Short Message Peer to Peer) v3.4: [SMP 99] Le protocole « Short Message Peer to Peer » (SMPP) est un protocole conçu pour fournir une interface flexible de transmissions pour transférer des « Short Message » entre un centre de message (dénommé SMSC, Short Message Service Center) 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. Fig.6 Schéma d’une plateforme SMS qui utilise SMPP Le protocole SMPP est basé sur l'échange de requêtes et réponses PDU (Protocol Data Unit) entre le 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 : • ESME Transceiver : Message envoyé de l’ESME (E) au SMSC et du SMSC à l’ESME (R), c’est le cas pour notre application. • ESME Transmitter : Message envoyé de l’ESME (E) au SMSC. • ESME Receiver : Message envoyé du SMSC à l’ESME (R). 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. Un ESME souhaitant envoyer et recevoir des messages est requis pour établir deux connexions réseaux (TCP/IP ou X.25) et deux sessions SMPP (Transmetteur et receveur). Cependant, dans cette version du protocole, un ESME peut établir une session SMPP Transceiver afin d'avoir une seule connexion réseau. Pendant une session SMPP, un ESME peut publier une série de demandes à un SMSC et recevra les réponses appropriées à chaque demande depuis le SMSC. De même, le SMSC peut publier des requêtes SMPP à l’ESME, qui devra répondre en conséquence. 13
  • 19. 2ème Chapitre Conception des applications (MOBILIS et CCP) 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 SMS à un SMSC qui ensuite vont être envoyés à un portable ou un autre ESME. L‘ESME peut aussi requêter, remplacer ou annuler un message précédemment soumis. 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. ESME connecté comme transceiver peu envoyer les SMS vers un SMSC. Les SMS son ensuite envoyés vers un portable ou vers un autre ESME. Egalement, dans ce cas, l'ESME peut recevoir un SMS provenant d'un portable, d’un autre ESME ou de 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. Ex : Exemple d'une session SMPP – type ESME Transceiver : Fig.7 Exemple d'une session SMPP – type ESME Transceiver 14
  • 20. 2ème Chapitre Conception des applications (MOBILIS et CCP) 3.4 Description de l’application : Cette application a deux parties (Client et Serveur), elle se connecte au début avec le SMS-C à l’aide du protocole SMPP (objSmppProtocol.Connect();) pour recevoir les SMS (partie Serveur) et se connecte au serveur CCP : udp_socket_Send.Connect(IPAddress.Parse(IP_CCP), Port_CCP);, dés qu’il y a un SMS reçu Et on crée un thread : thread_Envoi_Mobilis th_MOBILIS = new thread_Envoi_Mobilis(objSmsMessage); Thread thrdSMS_To_SIP = new Thread(new ThreadStart(th_MOBILIS.SMS_To_SIP)); thrdSMS_To_SIP.Start(); Qui rajout le client dans une liste de clients : Client client = new Client(Convert.ToString(Thread.CurrentThread.ManagedThreadId), ); Program.ClientList.Add(client); Ensuite il se charge de vérifier la syntaxe du SMS (CCP + + N0 CCP + + Password) si la syntaxe est vérifiée il lance une demande de connexion SIP sur le serveur CCP par l’intermédiaire de la méthode INVITE, si non on envoi un message (SMS) d’erreur de syntaxe objSmsMessage.Data = Veuillez verifier la syntaxe du SMS SVP ;. Si on reçoit un message OK pour la méthode INVITE donc le compte existe, alors on envoi un ACK pour confirmer l’ouverture de session et attendre le solde que l’on doit transmettre au client via un SMS. objSmsMessage.Data = Encoding.ASCII.GetString(Message); // Envoi du solde ! object obj = objSmsMessage; string strMessageRef = Program.objSmppProtocol.Send(ref obj); Si non, alors un message UNAUTHORIZED est reçu donc le compte n’est pas valide, cependant on envoi un message (SMS) d’erreur pour dire que ce Num_CCP+Passwd ne sont pas autorisés. objSmsMessage.Data = Num_CCP + + Passwd+ Non autorisé;. A la fin on envoi un message BYE pour la fermeture de session et attendre la confirmation par un ACK pour supprimer le client de la liste Program.ClientList.Remove(client);. 4. L’application CCP: 4.2 Les références: Les références qu’on a utilisées pour l’application CCP sont : System System.Xml System.Data 4.3 Les bibliothèques de classes: Les bibliothèques de classes qu’on a utilisées pour l’application CCP sont : using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; using System.Data; using System.Data.SqlClient; 15
  • 21. 2ème Chapitre Conception des applications (MOBILIS et CCP) 4.4 Description de l’application : C’est une application serveur qui ce met en écoute d’une demande de connexion du coté MOBILIS par une requête SIP INVITE : IPEndPoint ep = new IPEndPoint(IPAddress.Parse(IP_CCP), Port_CCP); udp_socket_Receive.Bind(ep); udp_socket_Receive.Receive(SIP_Recu_Byte); Lors d’une réception d’un message SIP INVITE, on lance un thread qui utilise le contenu du message reçu : thread_CCP th_CCP = new thread_CCP(SIP_Recu); Thread thrdReceive_SIP_From_Mobilis = new Thread(new ThreadStart(th_CCP.Reponse_SIP_CCP_MOBILIS)); thrdReceive_SIP_From_Mobilis.Start(); Ce thread rajoute le client dans une liste de clients en cours de demande ClientList : Client client = new Client(); Program.ClientList.Add(client); Ensuite il construire une requête SQL à partir du contenu SIP afin d’authentifier le client par le NumCCP et le Passwd on interrogeant la BDD CCP : string Requete = SELECT Solde FROM Clientccp WHERE NumCCP =' + NumCCP + ' AND Passwd =' + passwd + '; urlSqlServer = @Data Source= + IP_Serveur_SQL + SQLEXPRESS ;Initial Catalog=CCPbd; + Integrated Security=SSPI;; SqlConnection connexion = new SqlConnection(Program.urlSqlServer); SqlCommand cmdSqlServ = new SqlCommand(Requete, connexion); Si l’authentification est réussite on envoi une réponse SIP OK pour le serveur MOBILIS et on attend le ACK pour envoyer le solde, si non un message d’erreur SIP UNAUTHORIZED est envoyer. Dans les deux cas en attend la fermeture de session par une requête SIP BYE et là confirmer par un ACK puis supprimer le client de la liste de clients : Program.ClientList.Remove(client);. La forme du message (SMS) solde est la suivante : Num_CCP votre solde est de Solde DA. 16
  • 22. 2ème Chapitre Conception des applications (MOBILIS et CCP) 5. Captures d'écran : Capture d’écran pour l’application MOBILIS : Fig.8 Capture d’écran de l’application MOBILIS La figure (Fig.8) a été prise lors des essais de nos deux applications au sein du Centre GSM MOBILIS Mustafa. Celle-ci montre la réception de plusieurs SMS venants du client qui a le numéro +213697506332. L’un des contenus des messages reçu est : CCP 129790 7545. Notre application (MOBILIS) a répondu à cette requête après avoir fait les traitements (déjà cité dans la partie application MOBILIS et application CCP) via un SMS qui contient le solde de son compte CCP. Le message (SMS) est le suivant : 129790 votre solde est de 35,00DA. (Syntaxe page 16) Les figures 9, 10 et 11 indiquent les différents messages SMPP échangés entre l’application MOBILIS et le SMSC de MOBILIS lors de la connexion au SMSC, l’envoi du SMS par le client et la réponse donnée au client. Ces messages sont sauvegardés automatiquement dans un fichier texte, que nous avons spécifié dans l’application MOBILIS par l’instruction suivante : objSmppProtocol.LogFile = C:SmppLog.txt; 17
  • 23. 2ème Chapitre Conception des applications (MOBILIS et CCP) Captures d’écran sur le fichier SmppLog.txt : Fig.9 Capture d’écran d’une partie du fichier Smpplog.txt Fig.10 Capture d’écran d’une partie du fichier Smpplog.txt 18
  • 24. 2ème Chapitre Conception des applications (MOBILIS et CCP) Fig.11 Capture d’écran d’une partie du fichier Smpplog.txt Capture d’écran de la BDD : Fig.12 Capture d’écran de la BDD CCPbd table Clientccp (SQL Server 2005) 19
  • 25. 2ème Chapitre Conception des applications (MOBILIS et CCP) Captures du mobile : Fig.13 Capture du mobile lors de la réception d’une réponse d’erreur du type : Veuillez vérifier la syntaxe du SMS SVP Fig.14 Capture du mobile lors de la réception du solde: 129790 votre Solde est de 35,00DA Fig.15 Capture du mobile lors de la réception d’une réponse d’erreur: 129790 754a Non autorise Les figures 13,14 et 15 reflètent des échantillons de messages (SMS), que renvoie l’application MOBILIS comme réponses lorsqu’un client lui envoi une requête (SMS). 6. Conclusion : La version finale des deux programmes met en évidence l’utilisation du protocole SIP et SMPP dans le domaine des services de la téléphonie mobile. En effet, les deux programmes permettent la consultation du compte CCP grâce au service SMS (MOBILIS). Bien que la sécurité des messages échangés n’ait pas été prise en considération dans nos deux applications. 20
  • 26. Conclusion générale Nous pensons que le résultat obtenu pour ce projet de fin d’études est satisfaisant et même encourageant. Certes, il reste quelques modifications à apporter. Ainsi, il est déjà possible de tester et d'utiliser le service. Grâce au réseau Mobilis, les titulaires de compte CCP peuvent avoir leur relevé de compte tout simplement en envoyant un SMS au 66666 qui assure la syntaxe qu’on a définie. D’autres options peuvent être apportées à ce service, en offrant la possibilité de : prévenir automatiquement les clients (CCP/MOBILIS) lors du changement de l’état de leur compte (Solde), changer le mot de passe…etc. Sur le plan personnel, la réalisation de ce projet nous a apporté beaucoup d'enthousiasme et de motivation. Nous avons appris : à gérer les problèmes imprévus et à les résoudre, à étudier plusieurs solutions avant d'en choisir une et de la réaliser. Nous avons aussi découvert le langage C#, auquel nous n'avions pas vraiment porté attention auparavant. 21
  • 27. Références bibliographiques [AXC 99] ActiveXperts Software B.V, 1999 URL: http://www.activexperts.com/about [CCP 08] Algérie Poste, service de Comptes Chèques Postaux. URL: http://www.poste.dz URL: http://ccp.poste.dz [HAN 99] M. Handley, et al, “SIP: Session Initiation Protocol”, RFC 2543, IETF, Mars 1999 URL: http://www.ietf.org/rfc/rfc2543.txt [ITU 96] Recommandation H.323 ITU-T, 1996 URL: http://www.itu.int/rec/T-REC-H.323/fr [MGC 99] MGCP/MEGACO Recommandation H.248, ITU-T 1999 RFC 3015, IETF 1999. URL: http://www.ietf.org/ids.by.wg/megaco.html [MOB 08] Mobilis 1er operateur de téléphonie mobile en Algérie URL: http://www.mobilis.dz [MSF 08] msdn, Centre Visual C# URL: http://msdn.microsoft.com/fr-fr/vcsharp/default.aspx URL: http://www.csharpfr.com [ROS 02] J. Rosenberg, et al, “SIP: Session Initiation Protocol”, RFC 3261, IETF, Juin 2002 URL: http://www.ietf.org/rfc/rfc3261.txt B. Campbell, et al, “SIP: Extension for Instant Messaging”, RFC 3428, IETF, December 2002 URL: http://www.ietf.org/rfc/rfc3428.txt [SMP 99] SMPP “Short Message Peer to Peer“, 30 Juillet1999, v3.4 URL: http://www.alvento.com/productos/sms/smpp/smpp34.pdf 22