Vous êtes sur la page 1sur 37

Rapport de projet fin

dtude
Client VoIP/SIP RATP

Encadr par :
Sbastien LERICHE
Laurent BERNARD
Yves PREMEL-CABIC

Alaeddine MESBAHI
Shuting WANG

Contenu
1.

Contexte .......................................................................................................................................... 4

2.

Expression des besoins .................................................................................................................... 4


a.

Besoins utilisateurs...................................................................................................................... 5

b.

Propositions de mise en uvre ................................................................................................... 5

3.

Choix dun systme dexploitation mobile ...................................................................................... 5

4.

Client SIP .......................................................................................................................................... 6

5.

Propositions d'interfaces graphiques ............................................................................................ 11

6.

Interactions SIP entre client et serveur ......................................................................................... 14

7.

Architecture technique et fonctionnelle ....................................................................................... 15


a.

Appel SIP .................................................................................................................................... 16

b.

Ajout dun compte..................................................................................................................... 17

c.

Java Native Interface: ................................................................................................................ 18

d.

PJSIP:.......................................................................................................................................... 18

e.

Caractristique technique de PJSIP : ......................................................................................... 18

f.

PJSUA & PJSIP-JNI : .................................................................................................................... 19

g.

Une architecture en couche : .................................................................................................... 20

8.

Diagramme de squence ............................................................................................................... 21

9.

Spcifications techniques .............................................................................................................. 26


a.

Appel SIP .................................................................................................................................... 26


i.

Cration dun vue .................................................................................................................. 26

ii.

La classe principale HandiDialer.java .............................................................................. 27

iii.

Intgration la classe HandiDialer.java au SipHome.java ........................................... 29

b.

10.

Comptes..................................................................................................................................... 30
i.

Gestion automatique des comptes au dmarrage de lapplication ...................................... 30

ii.

Ajouter dun compte ............................................................................................................. 30

iii.

Rsolution DNS ...................................................................................................................... 31


Tests........................................................................................................................................... 32

a.

Environnement de test .............................................................................................................. 32

b.

Test qualit de la voix ................................................................................................................ 33

c.

Test communication avec adresse IP ........................................................................................ 33

d.

Test avec rsolution DNS ........................................................................................................... 34

e.

Tlchargement et installation de lapplication........................................................................ 34

11.

Planning prvisionnel d'implmentation .................................................................................. 35

12.

Conclusion ................................................................................................................................. 37

1. Contexte
La RATP souhaite mettre la disposition de ses usagers mobilit rduite des outils leur facilitant
lutilisation du rseau ferr dle de France. Dans le cadre de cette politique de modernisation, une
mission tudie la faisabilit de la mise en place dun service permettant une personne mobilit
rduite dtablir une communication vocale rapidement et simplement avec un agent de la RATP
pour quil puisse lui venir en aide.
Cette communication sera tablie partir du tlphone mobile de lusager travers le rseau sans fil
dploy au sein de la station RATP et par consquent sans passer par le rseau GSM/3G dun
oprateur.
Ce service a pour vocation dtre propos sur des smartphones supportant linstallation
dapplications tierces, comme liPhone dApple ou les terminaux utilisant lOS libre Android de
Google, et ncessitera la mise en uvre de diffrentes technologies gravitant autour de la voix sur
IP.
La solution sans fil cible dans cette tude est la technologie WiFi.

2. Expression des besoins


Le but du projet est dvelopper une application mobile dinterphonie sur IOS ou Android au-dessus
dune couche WIFI.
Description globale du besoin :

Choix dun systme dexploitation mobile


Choix dun client SIP open source existant sur cet OS
Dveloppement dune application Interphone partir ce client
Tests de lapplication sur des serveurs de VoIP (OpenSIPS, Asterisk)

Optionnel :

Implmentation de la partie serveur en se basant sur des briques SIP libres


(OpenSIPS/Asterisk)

Utilisateurs : Equipe projet RATP

a. Besoins utilisateurs
Ce chapitre dcrit les besoins utilisateurs concernant lapplication Client SIP.
BU-1 Mise en place une interface graphique
Lapplication doit avoir une interface graphique daccueil, qui a deux fonctions principales : Appel et
Raccroche.
BU-2 Fonction Initialisation
Lapplication doit avoir une fonction dinitialisation, qui permet de configure et initialiser logiciel.
BU-3 Fonction Ajout un compte
Lapplication doit avoir une fonction dajouter un compte SIP, le nom dutilisateur, le Domain et le
mot de passe.
BU-4 Fonction Appel
Lapplication doit avoir une fonction dappeler qui permet de raliser une communication vocale.
BU-5 Fonction Raccroche
Lapplication doit avoir une fonction draccrocher qui permet de terminer la communication vocale.
BU-6 Fonction Destruction
Lapplication doit avoir une fonction de purger lespace utilise.

b. Propositions de mise en uvre


Ce scnario consiste fournir une solution aux besoins utilisateurs cits ci-dessus.
On traitera les parties suivantes :

Interactions SIP entre client et serveur


Choix dun systme dexploitation mobile
Interface propose
Choix dun client SIP open source existant sur cet OS
La description du fonctionnement globale de lapplication

3. Choix dun systme dexploitation mobile


Dans cette partie, nous allons comparer les deux systmes dexploitation mobiles Android et IOS.
IPhone iOS
Lenvironnement de dveloppement pour liPhone est Xcode. Iphone est bas sur le systme MAC OS
ou UNIX, il nest donc pas compatible avec Windows.
Le dveloppement dapplications pour iPhone OS se fait avec Objective C, une extension du langage
C, orient objet et rflexif.

Andoid
Le dveloppement dapplications pour Android se fait en Java. Java est un puissant langage orient
objet, utilis trs largement dans le monde du dveloppement.
Le dveloppement dapplications Android est possible aussi bien sur Eclipse, que sur Apache Ant ou
JDK. Cest pourquoi le dveloppement dapplications Android est possible aussi bien sur Windows
que sur Linux ou Mac.
Aprs la comparaison, nous avons choisi Android comme support dapplication.

4. Client SIP
Plusieurs clients SIP sur android ont t compars sur plusieurs aspects, le but de cette tude
comparative est de choisir le client open-source qui correspond aux besoins du projet, et qui
permettra davoir une bonne assise pour la suite du projet.

IMSDroid
IMSDroid est le premier client open-source IMS pour les plateformes android. Le but principal de ce
projet bas sur la plateforme doubango est de proposer un client IMS complet la communaut
open-source. Doubango est un projet exprimental open-source pour les framework 3GPP IMS/LTE
la fois pour les systmes embarqu (Android, Windws Mobile, Symbian, iPhone, ) et les postes de
travail (Windows XP/Vista/7, MAC OS X, GNU Linux, ).
Limplmentation SIP est base sur le RFC 3261 et 3GPP TS 24.229 Rel-9, ce qui le rend compatible
avec tous les SIP registrar.
Le projet offre un nombre trs impressionnant de fonctionnalits orient IMS :

SIP (RFC 3261, 3GPP TS 24.229 Rel-9)

IMS-AKA (RFC 3310, 3GPP TS 33.203, 35.205, 35.206, 35.207, 35.208 and 35.909)

Private extension headers for 3GPP

IPv4/IPv6 dual stack

UDP, TCP, TLS and SCTP

Service-Route Discovery (RFC 3608)

Proxy-CSCF discovery using DHCPv4/v6 or/and DNS NAPTR

SigComp (RFC 3320, 3485, 4077, 4464, 4465, 4896, 5049, 5112 and 1951)

IPSec

Security Agreement (RFC 3329)

NAT Traversal (STUN, TURN and ICE)

Preconditions (RFC 3312, 4032 and 5027)

SMS over IP (3GPP TS 23.038, 24.040, 24.011, 24.341 and 24.451)

ENUM (RFC 3761)

The tel URI for Telephone Numbers (RFC 3966)

SIP SIMPLE (Presence Subscription/Publication and Pager Mode IM)

MMTel (UNI)

SDP (RFC 3264)

RTP/RTCP

XCAP (RFC 4825)

MSRP (RFC 4975 and 5547)

Audio/Video (AMR, Speex, G.711, GSM, H.264, H.263, Theora...)

...

Protocole supports :

SIP/SigComp

SDP

RTP/RTCP

XCAP (RFC 4825)

MSRP/MSRPS (RFC 4975 and 5547)

HTTP/HTTPS (RFC 2616 and 2617)

DHCPv4 (RFC 2131)

DHCPv6 (RFC 3315)

DNS (RFC 1034, 1035, 3401, 3402, 3403, 3404, 3596, 2035, 2671, and 2782)

Le projet IMSDroid est un gr bar bossiel@yahoo.fr responsable de lvolution et des versions


officielles. Le projet est trs actif sur le plan code et la documentation est relativement abondante.
Le projet reste cependant complexe, et propose un nombre trs important de fonctionnalits qui ne
sont pas en relation avec ce projet.

aSIP
Le projet aSIP dont le but tait de dvelopper la pile SIP pour android est inactif depuis des annes
(15 septembre 2008). Le code du projet est toujours disponible sur le site de google code, sauf que
quaucune documentation nest disponible, et personne nanime le projet.

Linphone

Lentreprise Linphone propose une varit de client SIP open-source sur plusieurs plateformes (Linux,
Windows, Android, ). Son client VoIP fonctionnant sur wifi et 3G est trs stable et suit une ligne de
dveloppement fixe.

Nous avons cependant eu normment de difficults pour avoir des informations sur le
fonctionnement interne ou sur la documentation du projet. La mailing list [linphone-developpers]
sert principalement annoncer les nouvelles fonctionnalits et les trains dvolution du projet.

SipDroid
Sipdroid est un client VOIP open-source donnant la possibilit de passer et de recevoir des appels
tlphoniques par Internet en utilisant un compte SIP.
Le projet SIPDroid est trs actif avec une communaut de dveloppeurs assez large. SIPDroid ne
sinsprie dans son dveloppement daucun projets externes, ce qui oblige tout refaire depuis le
dbut.

Le forum ddi au projet est trs actif, plus de 1000 message ont t post, et plus de 30 membre
participe activement ce projet.

Le code de SIPDroid est assez complexe compar aux autres projets. De plus la documentation
technique ne couvre que la configuration et la manipulation de loutil. Aucune documentation
naborde les aspects techniques du dveloppement.
Dun point de vue qualit sonore et ergonomie, malgr les avances qua ralises loutil depuis ses
dbuts, lapplication reste difficile manipuler, et la qualit sonore est trs mauvaise.
CSIPSimple
CSIPsimple est un nouveau projet compar son concurrent SIPDroid. Le principal avantage de cet
outil est sa qualit sonore du fait quil se base sur une librairie SIP externe ddie aux systmes
embarqus.
La communaut active sur le projet se compose de 5 membres et la documentation reste assez rare.
Cependant le projet PJSIP sur lequel est bas CSIPSimple est trs mature, la documentation est de
trs bonne qualit et le cycle de dveloppement est trs stable.

CSIPSimple tant dans ses dbuts, le code reste relativement simple compar SIPDroid.
CSIPSimple bnficie dune excellente qualit sonore, et reste trs facile manipuler et configurer.

5. Propositions d'interfaces graphiques


RATP a besoin une interface graphique offrant deux fonctionnalits : appel et raccroche .
Nous nous sommes inspirs du code source dapplications existantes VoiDroid dont voici
linterface de ce logiciel :

Le fichier main.xml gr le modle dinterface. Aprs avoir bien compris la structure de ce fichier,
nous avons chang le style de linterface :
1. Nom de logiciel : HandiRATP
2. Un logo de RATP
3. Deux buttons call et Hangup pour les fonctions appel et raccroche
Voici une proposition beta de test de linterface :

Ceci est linterface du prototype finale. Le bouton Hangup a t supprim, et une nouvelle activit
est charge au moment de lappel. Cette activit rappelle ltat de la communication (En appel, En
conversation, ).

6. Interactions SIP entre client et serveur

Dans ce schma :
1.
2.
3.
4.
5.

Le SmartPhone se connecte au rseau WIFI et demande une adresse IP


Le Serveur de lagence RATP distribue une adresse IP
Configuration du Client SIP et appel de lagentRATP
Le Serveur transmet lappel au Tlphone IP
Appel accept

6. Connexion vocale est en cours

4. Transmission de
lappel

5. Appel
accept
1. Demande ladresse
2.
IP Distribution de ladresse
IP3. Appel du Agence
6.
Appel
RATP
accept
7. Architecture technique et fonctionnelle
Nous avons commenc par la manipulation du code Voidroid et la libraire PJSUA, ce qui nous a
permis de bien comprendre le processus des communications SIP.
Aprs avoir consacr plusieurs semaines de travailler dessus, nous avons constat quil tait trs
difficile de reconstruire le processus des communications SIP partir Voidroid pour les raisons
suivantes :
-

Voidroid ne fonctionne pas sur mobile


Les fonctions Voidroid sont incompltes

Nous avons donc dcid dutiliser CSipSimple et de modifier son code natif. Nous avons modifi deux
parties du code source du CSipSimple principalement : Appel SIP et Comptes

CSipSimple

Appel
classique

Appel sip

Configuration

Mdia

Comptes

Rseau

a. Appel SIP
Dans la classe SipHome.java qui gre la page daccueil, plusieurs Tabs sont disponibles. En
appuyant sur chaque tab, vous pouvez accder la vue qui y correspond.
-

Vue Tl :

CSipSimple a deux interfaces dans la vue Tl , Linterface Numro et linterface SIP Adress .
En prenant comme argument le numro de tlphone ou ladresses SIP, on peut appeler le client en
appuyant sur le bouton appel .
-

Vue Appels :

Vue Appels se charge denregistrer tous les appels dans lhistorique.


Dans le cadre de notre application, LURI SIP est intgr dans loutil. Nous avons utilis un fichier XML
main.xml se trouvant dans res/layout/ pour dcrire le style de la page daccueil dHandiRATP.
Dans cette vue, le bouton lextrmit de linterface est li la mme fonction que CSipSimple.

CSipSimple

HandiRATP

b. Ajout dun compte


Quand nous utilisons CSipSimple de faon normale, et afin de crer un compte avec une adresse IP, il
faut se trouver dans le menu Comptes et choisir le type de compte LOCAL , et par la suite
entrer le nom du compte. Ci-dessous est le processus dajout dun compte local dans CSipSimple :

AccountList.java

WizardsChooser.java BasePrefsWizards.java (Utilisant le


model du LOCAL

Dans notre cas, nous avons dfini un compte par dfaut avec lURI usager@Adresse IP, pendant
lutilisation dHandiRATP, ce compte est utilis pour appeler et recevoir.

c. Java Native Interface:


JNI est un framework de programmation permettant un code Java tournant sur une machine
virtuelle (JVM) dappeler ou dtre appel par une application native (Programme ou application
spcifique un hardware ou un systme dexploitation), des librairies ou une application cod dans
un autre langage (C/C++, assembleur).

d. PJSIP:
PJSIP est une librairie SIP open-source sous licence GPL, dont la principale caractristique est la
performance et lempreinte digitale trs petite et trs adapte pour les systmes embarqus. La
libraire est crite en C afin de garantir le niveau de performance et dvolutivit requis.
En plus de la vocation de servir pour des systmes embarqus, la libraire PJSIP permet de crer des
applications avec des stacks protocolaire trs performant. Elle a dailleurs t utilis dans plusieurs
client SIP. Pour nen citer que quelques un :

CSIPSimple
Yass
Siphon
PuppySIP

e. Caractristique technique de PJSIP :


Portabilit : PJSIP a t conu dans le but dtre extrmement portable et fonctionnant sur plusieurs
plateformes logicielle et matrielles (16 bit, 32 bit, 64 bit, big endian, little endian, multi-proc).
Taille : Lun des point pris en compte lors du dveloppement de PJSIP est la taille trs petite de la
libraire afin quelle soit adapte pour les systmes embarque avec de forte contrainte despace de
stockage.
Performance : PJSIP permet davoir les meilleures performances sur la machine hte, chose que nous
avons constat lors de nos tests de CSIPSimple et SIPDroid, qui tait largement moins performant en
qualit sonore.
Allocation mmoire : Afin dassurer les performance les plus optimales, PJSIP nutilise pas la fonction
malloc() pour lallocation de mmoire, mais puise ses ressources dans un espace mmoire alloue au

dbut de lancement de lapplication. Ce choix darchitecture permet des gains de performance allant
30 plus rapide avec certaine configuration.
Abstraction du systme dexploitation : PJSIP est capable de faire abstraction des fonctionnalits
suivantes du systme dexploitation, souvent non portable entre systme dexploitation :

Threads
Thread Local Storage.
Mutexes.
Semaphores.
Atomic Variables
Critical sections.
Lock Objects
Event Object.
Time Data Type and Manipulation.
High Resolution Timestamp
etc.

f. PJSUA & PJSIP-JNI :


PJSUA est thoriquement la couche suprieure de PJSIP. Elle offre un nombre trs importants de
fonctions et mthodes dont le but est dabstraire les couches infrieur (rseau socket, codec, QoS,
), tout en faisant appel aux mthodes simples, comme lenregistrement, lappel,
PJSUA est la seule partie de PJSIP avec des interfaces JNI. Le projet open-source PJSIP-JNI a t utilis
par le projet CSIPSimple pour sinterfacer avec PJSIP.
Le projet a appliqu quelques modifications sur le PJSIP-JNI afin de le rendre plus adapt pour
lenvironnement android.

g. Une architecture en couche :


Larchitecture de notre application sinspire de larchitecture de CSIPSimple. Cette dernire utilise un
interfaage JNI avec la librairie PJSIP afin de profiter de la puissance et la performance de PJSIP crite
en C++ tout en gardant le confort la simplicit propose par la machine virtuelle dandroid.
Le fonctionnement de lapplication est trs simple. La gestion des vnements, linterface graphique
et lintelligence de lapplication sont toutes dans la partie client crite en JAVA. Pour faire appel aux
fonctions PJSIP, comme lenregistrement ou la ralisation dun appel, le client fait appel aux
interfaces JNI de PJSIP, ou pour tre plus prcis, de la partie PJSUA de PJSIP. Linterface JNI fait appel
son tour aux vraies fonctions PJSUA pour raliser les fonctions denregistrement et dappel.

8. Diagramme de squence
Quand le client lance lapplication HandiRATP , elle sera initialise premirement, ensuite elle
attend des actions. Si le client appuie sur Botton Call , lapplication va lancer la fonction Appel,
nous allons spcifier laction Appel en diagramme de squence :

h HandiRATP

pj pjsua

Lancer lapplication

Lancer lappel
Terminer lappel
destroy()

Nous nous sommes inspir des sources de lapplication VoiDroid , et les libraires de CSipSimple
pour ce projet :

Voici le code de la fonction OnCreate de VoiDroid :

Ci-dessous les algorithmes des fonctions modifies:


Initialisation :
Created = false;
Creating = false;
Si Created et Creating sont vrais faire
Status = 0 : Int
Configuration globale
Configuration log
Configuration media
Status=pjsua.initialisation()
Si Status nest pas 1 alors faire

Pjsua.destroy()
Created = false
Creating = false
Retourner ;
Fin si
Ajouter Tansport UDP
Status = pjsua.start()
Si stauts nest pas 1 alors
Pjsua.destroy ()
Created = false
Creating = false
Retourner
Fin si
Created = true
Creating = false
Fin si

Ajout un compte SIP


Status=0 : Int
accId = int[1] : int[]
Cfg : pjsua_acc_config
Username : pj_str_t
Domain : pj_str_t
Password : pj_str_t
Data: pjsip_cred_info
Data.setRealm(domain)
Data.setUsername(username)
Data.setData(password)
Cfg.setId(sip:username@domain)
Status = pjsua.acc_add(cfg, accId)
Si status nest pas 1 alors
acc_id = acid[0];
Fin Si
Retourner status
Appel
Status
Adress
Status
Return

: int
: pj_str_t // adresse SIP cible
= pjsua.call_make_call (status, adresse)
Status

Voici le diagramme de squence de la fonction Appel :

h HandiRATP

pj pjsua

Action appel

=
R
f

>0
fS

Status=pjsua_verify_sip_url( url)

>0

Raccroche
Status : int
Adress : pj_str_t // adresse SIP cible
Status = pjsua.call_hangup_all (status, adresse)
Pjsua.destroy();
Return Status

9. Spcifications techniques
Lobjet du prsent chapitre est de dtailler les spcifications techniques pour lapplication android
HandiRATP.
Ce document est destin :
- Aux enseignants
- Aux tudiants qui poursuivront le dveloppement de lapplication
- A la RATP
HandiRATP se base sur le code source de CSipSimple. Ci-dessous larchitecture de ce dernier :
Nous avons modifi deux parties du code source du CSipSimple : Appel SIP et Comptes. Nous avons
galement modifi les options de rsolution DNS de loutil. Ce rapport dtaillera les modifications et
changements apportes.

a. Appel SIP
i. Cration dun vue
Dans rpertoire res/layout , se trouve le fichier main.xml dcrivant le style de la page
daccueil :

TextView

ImageView

Botton

ii. La classe principale HandiDialer.java


Cette classe est cre partir dune classe Dialer.java , elle permet :
-

La cration automatique dun compte automatique (Voir 2.2.2.)


Lintgration de linterface main.xml dans la classe principale
Lajout dune fonction placeCall associe au bouton Call

Dans la classe HandiRATP , lidentifiant de lusager et de lagent RATP agent@ratp.fr ont t


dfinis. Pour dmarrer un appel, il faut utiliser la fonction placeCall . Dans cette fonction, n appel
la mthode makeCall se charge de lancer le service SIP.

iii. Intgration la classe HandiDialer.java au SipHome.java

b. Comptes
i. Gestion automatique des comptes au dmarrage de lapplication
Aprs le lancement de CSipSimple, lactivit Comptes est lance dans le cas o cest le premier
dmarrage de lapplication, sinon, HandiRATP dsactive cette activit.

ii. Ajouter dun compte


Pour crer un compte SIP dans CSipSimple , il faut procder de faon manuelle. Nous utilisons
lidentifiant : usager@Adresse IP comme URI SIP pour la cration du compte. Au lancement de
lapplication, le compte est cr automatiquement.
Ce type de compte identifi avec adresse IP est associ au compte LOCAL , dj dfini dans
CSipSimple . Do lutilisation de lidentifiant LOCAL dans le WIZARD_ID qui indique le template
utiliser :

Ensuite le transmettre une autre activit BasePrefsWizard ,


LOCAL :

qui aide crer un compte

La classe BasePrefsWizard.java vrifie si compte est dj cr, sinon procde sa cration :

iii. Rsolution DNS


Larchitecture rseau se basait sur des requtes DNS type SRV, conformment la norme SIP.
Lactivation de ce type de rsolution DNS est gre par le HashMap BOOLEAN_PREFS.
Src/utils : preferenceWrapper.java :

Res/xml: prefs_network.xml

Fichier prefs_network.xml gre lactivation de loption DNS SRV sur linterface graphique (Cocher
ou pas) ; preferenceWraper.java gre pour sa part la vraie configuration relle de cette option.

10.

Tests

Ceci sont les principaux jalons sur lesquels nous avons travaill durant les phases de tes :

Qualit de voix
CSipSimple

Code Java
HandiRATP

Etablissement
de la connexion
(Appel
10.0.0.x)

Rsolution DNS
(Appel
agent@ratp.fr)

Prototype

a. Environnement de test
Lenvironnement de test qui a t mis notre disposition se compose des briques suivantes :
-

Une machine virtuelle sous Debian Lenny


Serveur DHCPDHCP3
Serveur SIP OpenSIPS
Serveur DNS BIND9
Borne wi-fi linksys
Tlphone samsung sous android v1.6
Tlphone HTC Hero sous android 2.0

Toutes les briques logicielles utilises sont issues du monde opensource et requiert un effort de
configuration relativement important.
Sur le serveur DHCP, il faut indiquer le bloc IP gr, les adresses du serveur DNS, du gateway et le
mask du bloc IP.
Le serveur DNS est responsable (master) du domaine ratp.fr, et rfrence ladresse du serveur SIP
(sip.ratp.fr).
Le serveur SIP est en charge de lenregistrement des agents de la RATP, dans notre cas,
agent@ratp.fr .

Un softphone SIP est install sur une des machines de test, et permet de simuler le poste du client de
lagent de la RATP.

b. Test qualit de la voix


Le premier test que nous avons effectu dans le cadre de ce projet, est le test de la qualit Voix des
deux softphones CSIPSimple et SipDroid.
Lenvironnement de test est trs simple, en configurant de comptes locaux sur les softphones et en
requtant le client SIP sur nos machines de test, on tait capable de tester, dune part la facilit de
configurations de ces clients, et deuximement

c. Test communication avec adresse IP


Ce test a pour but de sassurer que lapplication respectait le changes SIP, et que les champs
modifis (SIP URI, Domain_Name) tait bien prise en compte.
Nous avons donc pu tablir des communications avec un client SIP sur une des machines de test.
Durant ces phases de test, notre application avait un champ spcial pour indiquer ladresse du client
contacter, afin de faciliter et simplifier les tests.

d. Test avec rsolution DNS


Les tests de rsolution DNS avaient pour but de sassurer que lapplication effectuait correctement
lopration de rsolution du nom de domaine ratp.fr.
En utilisant un capteur de trafic install sur le serveur DNS, il tait possible dcouter les requtes
mises (ou non mises) par lapplication HandiRATP.
Comme indiqu dans les chapitres prcdents, nous avons constat plusieurs problmes de
rsolution DNS que nous avons rsolu en modifiant le type de requte mises par lapplication.

e. Tlchargement et installation de lapplication


Un des scnarios qui nous a t inspir M. LERICHE tait lutilisation dune affiche publicitaire avec un
tag QRCode renvoyant vers le lien de lapplication.

11.

Planning prvisionnel d'implmentation

12.

Conclusion

Nous esprons que ce rapport fournit une ide claire sur le fonctionnement dHandiRATP, et sur les
diffrentes modifications appliques CSIPSimple.
La section spcification technique dtaille le fonctionnement de lapplication, et a pour but de
faciliter la reprise de ce projet pour de nouvelles volutions.
Une des points importants que nous avons constat durant nous travaux, est limportance de
lenvironnement de test, en passant par le tlphone mobile, la borne wifi jusquau serveur. Il est
primordial que toutes ces briques soient oprationnelles, car il est souvent impossible de dterminer
la cause de plusieurs difficults et problmes de connexion et de communication que nous avons
constate.
Nous tenons finalement remercier tous nos encadrants pour leurs soutien et leurs aide prcieuse,
que sans, sera projet naurait certainement pas pu aboutir sa fin.