android voip/sip softphone

Download Android VoIP/SIP Softphone

Post on 23-Jun-2015

1.954 views

Category:

Engineering

0 download

Embed Size (px)

TRANSCRIPT

  • 1. Ministre de l'Enseignement Suprieur et de la Recherche Scientifique Universit de la Manouba cole Nationale Des Sciences de l'Informatique Rapport de projet de conception et de dveloppement SUJET : Softphone pour Android Ralis par : Ben Abdallah Kmar Lazar Hamza Sous l'encadrement de : M. Mezghani Dhafer Anne Universitaire : 2012-2013

2. Signature de l'encadrant M. Mezgheni Dhafer 3. Rsum Softphone VoIP/SIP sous Android : Ce travail, qui s'inscrit dans le cadre du projet de conception et de dveloppement (PCD) des- tin aux lves ingnieurs en deuxime anne l'cole Nationale des Sciences de l'Informatique (ENSI), a pour but la ralisation d'un client VoIP 1 mobile autour du protocole SIP 2 destin la plate-forme Android. L'application vise permetterait de tlphoner sur IP 3, grer des contacts et garder un jour- nal des appels. MjSIP, une implmentation troisime-tier crite en Java de la pile des protocoles multimdia a t utilis et la librairie ActionBarSherlock nous a permis de surmonter les pro- blmes de compatibilit lies aux versions Android antrieures 3.0 (Honeycomb). Mots cls : VoIP, SIP, SDP 4, RTP 5, Android, MjSIP, SQLite, ActionBarSherlock, Java, POO 6 1. Voice over IP 2. Session Initiation Protocol 3. Internet Protocol 4. Session Description Protocol 5. Real-time Transport Protocol 6. Programmation Oriente Objet 4. Abstract VoIP/SIP Softphone for Android : This work, conducted under the software design and implementation project for the second year engineering students at the National School for Computer Studies, aims to develop a VoIP client for the Android platform based, mainly, on SIP. The application's main purposes are telephony over IP, managing contacts and saving calls' log. MjSIP, a third-party implementation of the multimedia protocols written in Java were used as well as ActionBarSherlock library project which solved compatibility problems related to An- droid versions pre 3.0 (HoneyComb). Keywords : VoIP, SIP, SDP, RTP, Android, MjSIP, SQLite, ActionBarSherlock, Java, OOP 7 7. Object-Oriented Programming 5. Remerciements Nous voudrions exprimer notre gratitude et notre reconnaissance envers tous ceux qui ont contribu l'accomplissement de ce travail. Nos remerciements s'adressent en premier lieu notre encadrant M. Dhafer Mezghani qui a su nous faire sentir responsables et conants. Nous tenons aussi remercier nos camarades de classe de l'cole Nationale des Sciences de l'Informatique. Qu'il nous soit aussi permis de remercier Mmes Nesrine Ben Yahia, Imtiez Fliss et Emna Souilah pour leurs eorts dans la rvision et dans la correction de ce rapport. I 6. Table des matires Introduction gnrale 1 1 tude pralable 2 1.1 tat de l'art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 VoIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Protocole SIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.3 Protocole SDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.4 Protocoles RTP/RTCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.5 Exemples de ux SIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Etude de l'existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.1 Etude de clients SIP/VoIP Android existants . . . . . . . . . . . . . . . . 6 1.2.2 Description de la solution propose . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Prsentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.1 Cadre du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.2 Travail faire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Analyse et spcication 10 2.1 Expression des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 Acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.3 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Spcication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 Cas d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Description des cas d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . 14 3 Conception 19 3.1 Conception globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.1 Diagramme de paquetage . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.2 Description des paquetages . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 Conception dtaille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.1 Conception de l'IHM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.2 Conception de la base de donne locale . . . . . . . . . . . . . . . . . . . . 22 3.2.3 Traitement en arrire plan . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Diagrammes de squence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 II 7. 4 Ralisation 27 4.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.1.1 Environnement matriel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.2 Choix technologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2.1 SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2.2 ActionBarSherlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2.3 MjSip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2.4 SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 Description des interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.1 Gestion du compte SIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.2 Interface d'appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.3 Gestion des contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4 Chronogramme du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Conclusion gnrale 41 Bibliographie 41 Ntographie 42 Annexes 43 A Changer l'apparence de l'mulateur Android 44 B Ajouter la bibliothque ActionBarSherlock un projet Android sous Eclipse 47 Glossaire 48 8. Table des gures 1.1 Fonctionnement de base de SIP [3] . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Enregistrement auprs du serveur avec authentication[2] . . . . . . . . . . . . . 6 1.3 Interface de SipDroid : Activit principale avec menu apparent . . . . . . . . . . 7 1.4 Aperu de l'interface de CSipSimple . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1 Diagramme des cas d'utilisation golbal . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 Cas d'utilisation : Emettre appel . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3 Cas d'utilisation : Recevoir appel . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Cas d'utilisation : Ajouter contact SIP . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 Diagramme de squence systme : Ajouter compte SIP scnario nominal . . . . . 14 2.6 Diagramme de squence : Ajouter compte SIP scnarios exceptionnels . . . . . . 15 2.7 Diagramme de squence : Emettre appel . . . . . . . . . . . . . . . . . . . . . . . 15 2.8 Diagramme de squence de rfrence : Conversation . . . . . . . . . . . . . . . . . 16 2.9 Diagramme de squence : Recevoir appel . . . . . . . . . . . . . . . . . . . . . . . 17 2.10 Diagramme de squence : Ajouter contact SIP . . . . . . . . . . . . . . . . . . . . 18 3.1 Diagramme de paquetage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Diagramme de classes du package IHM . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3 Diagramme d'activits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4 Diagramme de classes du package Base de donnes . . . . . . . . . . . . . . . . . 22 3.5 Diagramme de classes du package SIP . . . . . . . . . . . . . . . . . . . . . . . . 23 3.6 Diagramme de squence - Ajouter Contact . . . . . . . . . . . . . . . . . . . . . . 23 3.7 Diagramme de squence - Modier Contact . . . . . . . . . . . . . . . . . . . . . 24 3.8 Diagramme de squence - Supprimer Contact . . . . . . . . . . . . . . . . . . . . 25 3.9 Diagramme de squence - Appeler Adresse SIP . . . . . . . . . . . . . . . . . . . 25 3.10 Diagramme de squence - Recevoir Appel SIP . . . . . . . . . . . . . . . . . . . . 26 4.1 Position de l'ActionBar dans l'cran . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 Activit Ajouter compte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 Message d'erreur quand un des champs au moins est laiss vide . . . . . . . . . . 32 4.4 SIP URI non conforme la norme . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.5 Ecran de chargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.6 Interface de modication du compte SIP . . . . . . . . . . . . . . . . . . . . . . . 33 4.7 Boite de dialogue de changement d'identiant SIP . . . . . . . . . . . . . . . . . 33 4.8 Boite de dialogue de changement de mot de passe . . . . . . . . . . . . . . . . . . 33 4.9 Interface d'mission des appels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 IV 9. 4.10 Interface d'appel entrant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.11 Contact nom vide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.12 Contact nom existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.13 Contact SIP Uri vide . . . . . . . . . . . . . . . . . . . . . . .