Professional Documents
Culture Documents
Thme :
Seifeddine Tlili
Encadrants :
Ddicaces
A mes parents, A mon frre, A ma soeur, A Weal et Youssef A mon beau frre Hamadi A toute ma famille, Je ddie ce modeste travail
ii
Remerciements
Ce projet, ralis au sein du Groupe OneTech dans lentreprise OneTech dveloppement sinscrit dans le cadre du Projet de Fin dEtudes lEcole Suprieure des Communications de Tunis (SUPCOM) pour lobtention du diplme dingnieur en Tlcommunications. Au terme de ce projet, je tiens exprimer ma profonde gratitude et mon immense respect M.. Riadh Tebourbi, matre assistant SupCom, ainsi que M. Nizar Hedili Directeur Technique OneTech Dveloppement pour mavoir soutenu durant la priode de mon projet. J'aimerais tmoigner du plaisir qu'tait pour moi de travailler sous leurs directives. Je tiens galement exprimer ma profonde reconnaissance M. Samy Chapoutot, directeur Commercial OneTech dveloppement pout sa disponibilit, ses qualits humaines et ses conseils prcieux. De mme, je souhaite transmettre l'expression de ma reconnaissance et ma plus profonde gratitude aux ingnieurs de OneTech Dveloppement qui mont offert un excellent cadre de travail ainsi quun climat extrmement agrable.
Avec beaucoup d'gard, je ne manquerai pas d'exprimer ma grande reconnaissance tous les enseignants et administrateurs de l'cole suprieure des communications de Tunis et tous les membres du jury pour avoir accept de juger ce modeste travail
iii
Avant propos
Dans le cadre da ma formation dingnieur en tlcommunication lcole Suprieure des communications de Tunis, jai effectu un projet de fin dtudes au sein de lentreprise OneTech dveloppement filiale du groupe tunisien One TECH Group. Le sujet porte sur la conception et limplmentation de services lis la tlphonie IP et le couplage tlphonie informatique sur la plateforme Cisco CallManager.
Avec son concept One Stop Shop , le groupe One TECH fournit une multitude de solutions complmentaires pour la ralisation dun large ventail de sous-ensembles complets et de produits finis selon les exigences des clients et les normes internationales. Les socits du groupe One Tech offre des solutions complmentaires, garantissant ainsi des conomies de temps, de transport et dintgration [1].
Conscient des volutions et des mutations dans le domaine des Technologies de linformation et des communications, vecteurs de croissance et de dveloppement lchelle mondiale, et des enjeux vitaux rduire la fracture numrique, OneTech affirma la dtermination orienter sa stratgie vers les nouvelles Technologies de linformation et des communications dans le cadre de partenariats internationaux axs sur la complmentarit [1].
iv
Table des matires II.3.2.2. Choix du client CRM .......................................................................................... 15 II.4. Diagrammes de cas dutilisation de la solution ........................................................... 15 II.4.1. Dfinition des diffrents acteurs agissant sur le systme.......................................... 15 II.4.2. Les packages du diagramme de cas dutilisation ...................................................... 17 II.4.3. Diagrammes de cas dutilisation ............................................................................... 18 II.4.3.1. Package IpPhoneService ..................................................................................... 18 II.4.3.2. Package PushtoPhone.......................................................................................... 19 II.4.3.3. Package Database................................................................................................ 20 II.4.3.4. Package GUICrm ................................................................................................ 21 II.4.3.5. Package Telephony ............................................................................................. 22 II.5. Diagrammes de classes................................................................................................... 22 II.5.1. Diagramme de classe du Client Crm......................................................................... 23 II.5.1.1. La Classe CallerInfoServer ................................................................................. 24 II.5.1.2. La classe GuiCrm ................................................................................................ 24 II.5.1.3. La classe updateDb.............................................................................................. 24 II.5.1.4. La classe NumberFind......................................................................................... 25 II.5.1.5. La classe Affiche................................................................................................. 25 II.5.1.6. La classe AddToDb ............................................................................................. 25 II.5.1.7. La classe main ..................................................................................................... 25 II.5.2. Diagramme de classe du serveur dapplication CTI ................................................. 26 II.5.2.1. La classe PushXML ............................................................................................ 27 II.5.2.2. La classe Findnum............................................................................................... 27 II.5.2.3. La classe Index .................................................................................................... 27 II.5.2.4. La ClasseMenuDirectory..................................................................................... 28 II.5.2.5. La Classe Search ................................................................................................. 28 II.6. Digrammes de squence................................................................................................. 28 II.6.1. Diagramme de squence du serveur dapplication CTI ............................................ 29 II.6.2. Digramme de squence du client CRM..................................................................... 30 II.7. Conclusion....................................................................................................................... 30 Chapitre 3 : Solution et implmentation III.1. Introduction .................................................................................................................. 31 III.2. Environnement et langage de programmation .......................................................... 31 III.3. Choix de larchitecture logicielle................................................................................. 32 III.3.1.Le package JTAPI ..................................................................................................... 32 vi
Table des matires III.3.2.LAPI Swing : ........................................................................................................... 36 III.3.3.LAPI JDBC ........................................................................................................ 36 III.3.4.Les serveurs............................................................................................................... 37 III.3.5.Le systme de gestion des bases de donns : ............................................................ 37 III.3.6.Les JSP ...................................................................................................................... 37 III.3.7.XML .......................................................................................................................... 38 III.4. Les interfaces ................................................................................................................ 38 III.4.1.Les interfaces utilises pour les IP Phones................................................................ 39 III.4.2.Les interfaces graphiques .......................................................................................... 40 III.4.3.Lancement du Service ............................................................................................... 44 III.5. Conclusion ..................................................................................................................... 46 Conclusion gnrale .............................................................................................................. 46 Annexe..................................................................................................................................... 49 Bibliographie........................................................................................................................... 54
vii
Table de figures
Table de figures
Figure 1 Interfaces applicatives de CallManager ....................................................................... 4 Figure 2 Architecture Cisco CTI................................................................................................ 5 Figure 3 Composants essentiels pour les services de tlphonie IP Cisco................................. 6 Figure 4 Enregistrement du tlphone IP et consultation des services ...................................... 7 Figure 5 Architecture matrielle de la solution ........................................................................ 13 Figure 6 Diagramme de dploiement du Service ..................................................................... 14 Figure 7 Les packages utiliss.................................................................................................. 17 Figure 8 Diagramme des packages........................................................................................... 17 Figure 9 Diagramme du package IpPhoneService ............................................................. 19 Figure 10 Package PushToPhone............................................................................................. 20 Figure 11 Package PushToPhone............................................................................................. 21 Figure 12 Package GuiCrm ...................................................................................................... 21 Figure 13 Package Telephony .................................................................................................. 22 Figure 14 Diagramme de classe du Client Crm ....................................................................... 23 Figure 15 Diagramme de classe du serveur d'application CTI................................................. 26 Figure 16 Diagramme de squence du serveur d'application CTI ........................................... 29 Figure 17 Diagramme de squence du Client Crm .................................................................. 30 Figure 18 Modle dappel Jtapi................................................................................................ 33 Figure 19 Transition dtat du Provider ................................................................................... 34 Figure 20 Diagramme de transition dun call........................................................................... 35 Figure 21 Initialisation du moteur JTAPI et connexion au CallManager ................................ 36 Figure 22 Exemple d'utilisation de l'API XML de Cisco......................................................... 38 Figure 23 Interfaces du service de tlphonie IP ..................................................................... 39 Figure 24 Page daccueil .......................................................................................................... 40 Figure 27 Interfaces Swing ...................................................................................................... 41 Figure 28 Ajout dun agent dune socit ................................................................................ 42 Figure 29 Rechercher un utilisateur ......................................................................................... 42 Figure 30 Ajout dinformations dune socit dans notre base de donnes............................. 43 Figure 31 Recherche dinformations dune socit.................................................................. 43 Figure 32 Affichage des coordonnes de linterlocuteur ......................................................... 44 Figure 33 Affichage des donnes l'cran du poste IP............................................................ 45 Figure 34 Numros non reconnus dans la base de donnes ..................................................... 45 Figure 35 Architecture globale du CTI .................................................................................... 51
viii
A
ACD API Automatic Call Distributor Application Programming Interface
C
CCM CRM CTI CTIQBE Cisco CallManager Customer Relationship Management Computer Telephony Integration Computer Telephony Interface Quick Buffer Encoding
G
GUI Graphical User Interface
H
HTML HTTP HyperText Markup Language HyperText Transfer Protocol
I
IVR Interactive Voice Response
J
JDBC JSP JTAPI JVM Java DataBase Connectivity Java Server Page Java Telephony API Java Virtual Machine
L
LDAP Lightweight Directory Access Protocol
ix
T
TAPI TAPI SRV TOIP TSP Telephony API TAPI Server Telephony Over IP Tapi Service Provider
U
UML Unified Modelling Language
X
XML Extensible Markup Language
Introduction gnrale
Introduction gnrale
Dans un monde conomique toujours plus actif, il n'est pas ncessaire de rappeler l'importance de la relation clientle. S'il est ncessaire de trouver de nouveaux prospects, il est aussi important de conserver ses actuels clients. Hors, il apparat que la relation avec ces derniers passe en grande partie par le tlphone : le mdia le plus utilis et le plus accessible. Traditionnellement spars, la tlphonie et linformatique font aujourdhui lobjet dune convergence de plus en plus marque se manifestant notamment par lmergence des solutions de tlphonie sur IP. Cette convergence a donn naissance un nouveau concept, le CTI ou le Couplage Tlphonie Informatique.
Le concept de Couplage Tlphonie Informatique permet de mettre en place des applications nouvelles qui sappuient sur lexploitation simultane de deux grandes dynamiques : la puissance des services de commutations en temps rel des plates-formes de communications, et la capacit de traitement de linformation des rseaux informatiques.
La plupart des projets d'intgration entre tlphonie et informatique concernent, essentiellement, la gestion de la relation client ou le help desk, au sein des centres d'appels. Fonction la plus courante : la monte de fiche ; le numro de l'appelant est reconnu et sa fiche apparat.
Cest dans ce cadre que ce projet sinscrit. Il sagit de concevoir, implmenter et intgrer le service Client CRM sur une plateforme base dquipements Cisco qui aura comme acteur principal le serveur IPPBX de Cisco, le CallManager. Le projet slargit encore plus, permettant dintgrer cette fonctionnalit au tlphone IP Cisco ainsi que le dveloppement et lintgration de services de tlphonie IP accessible partir de ce poste. La plupart des terminaux IP de Cisco faisant partie de la gamme 7900 savoir le IP phone 7940 peuvent accder diffrents services en utilisant le langage XML. Ce qui offre une facilit d'utilisation via une interface graphique et permet ainsi laccroissement de la productivit personnelle.
Introduction gnrale Dans ce rapport de fin dtude, nous commencerons, dans un premier chapitre par une recherche bibliographique. Nous prsenterons travers cette partie linfrastructure sur laquelle nous nous sommes bass pour implmenter ce service partir de cette tude, nous allons choisir la solution qui va tre implmente, et nous spcifierons les besoins de cette solution. Dans le deuxime chapitre, nous nous sommes bass sur le formalisme UML pour concevoir la solution choisie. Dans le troisime chapitre, nous prsentons les diffrents outils utiliss et les interfaces daccs aux services, soit partir dun poste PC ou dun tlphone IP.
Etude de problmatique
I.1.Introduction
Le CRM (Customer Relationship Management) est lun des aspects des applications du CTI, il permet l'entreprise d'obtenir des donnes importantes sur ses clients (liste de contacts, pistes, opportunits, contrats, messages lectroniques, comptes, historiques d'achats et prfrences) de manire leur proposer des produits et des services qui rpondent prcisment leurs besoins lors dun appel tlphonique et ainsi amliorer la qualit de service offerte aux clients. Parmi les applications CRM qui sont troitement lies au CTI on cite la monte de fiche client lors dun appel. L'analyse de ces donnes aide notamment les entreprises dterminer qui sont leurs meilleurs clients, enrichir et personnaliser les relations avec ces clients, grer leurs campagnes de marketing, rduire les dlais de rponse lors dun processus de transaction tlphonique. Dans ce chapitre nous allons analyser la solution que nous allons dvelopper qui se rsume la monte de fiche client lors dun appel tlphonique que se soit sur lordinateur de lutilisateur ou encore sur un tlphone IP de la gamme Cisco 7900 ainsi que lintgration de services de tlphonie IP pour un poste IP afin de lui permettre dinteragir avec un serveur de base de donnes utilisateurs. Dans cette partie nous allons prsenter larchitecture Cisco pour limplmentation de solutions CTI ainsi que le dploiement de JTAPI dans une telle infrastructure. Puis nous passons larchitecture adopte par Cisco pour le dploiement et lintgration de solutions de services de tlphonie IP.
Etude de problmatique
TAPI et JTAPI permettent de faire connecter au CallManager via les ports CTI les clients ou encore les serveurs dapplication CTI. Parmi les applications CTI on retrouve la messagerie unifie, Call Center, E-Conferencing et les systmes IVR. L'Access aux services d'annuaire partir de requtes LDAP permettent l'authentification d'appel dans un environnement dapplication d'entreprise. En utilisant XML travers des message http,Cisco 7940 et 7960 IP Phones sont quips dun client web leur permettent dafficher des donnes sous forme XML[2].
Etude de problmatique
Le CallManager est capable de traduire diffrents protocoles CTI savoir le CTIQBE (CTI Quick Buffer Encoding) vhicul travers un lien TCP/IP. Le lien entre lapplication et le CallManager renferme un ensemble de protocoles CTI comprhensible par le CallManager puisque ce dernier ne distingue pas entre les applications TAPI et JTAPI. Pour permettre une application de dialoguer avec le Serveur de CallManager, Cisco fourni un logiciel quon appelle TSP ou Telephony Service Provider. Ce logiciel peut tre install sur le serveur CTI ou sur une machine part. Dans notre exemple le TSP offre des API comme le TAPI ou le JTAPI aux applications du serveur CTI et dun autre ct dialogue avec le CallManager via le protocole propritaire de Cisco le CTIQBE. Ce TSP est reli au CallManager grce au lien CTI travers le LAN de lentreprise. Tlili Seifeddine -PFE Juin 20075
Etude de problmatique Les implmentations Cisco Tapi Service provider (TSP) et le JTAPI traduisent les APIs utilises par notre application en message CTIQBE comprhensible par le CallManager Les applications CTI peuvent contrler un certain nombre dentit travers le CallManager parmi lesquelles on retrouve : Appareil ou Device : Les appareils tel que IP Phones peuvent tre contrls et surveills partir dune application CTI. Port CTI : Les Ports CTI sont des dispositifs virtuels qui servent manipuler les applications CTI. Par exemple, un IP Softphone de Cisco peut tre reli au CallManager par l'intermdiaire d'un port de CTI. Point ditinraire CTI (CTI route Point) : Un point d'itinraire CTI est un dispositif virtuel qui peut manipuler simultanment des appels multiples et tous sur la mme ligne. Par exemple, un point d'itinraire CTI peut tre un numro 1800 qui recevra des appels et assurera la fonction de routage de ces appels au port CTI appropri [2].
Etude de problmatique
Etude de problmatique
Etude de problmatique Le client doit imprativement passer par le serveur Web de la socit et donc devra connatre lemplacement exacte du lien du service. Le temps de traitement est assez long puisque le flux dinformations qui passera travers le rseau sera assez charg donc risque de blocage et le service ne pourra pas tre ainsi lanc.
Etude de problmatique pour que ce service soit accessible et facile utiliser par tout le monde, pour cela, la solution intgrant linterface utilisateur sous forme de formulaire HTML est carter. La solution qui sera retenu pour limplmentation de ce service est celle qui permettra un accs facile pour les utilisateurs. Pour cela on a opt pour la solution interface utilisateur graphique, il sagit de dvelopper une interface graphique pour les utilisateurs finaux du service, cette interface contiendra les mmes champs quun formulaire HTML. Non seulement, cette approche offre la possibilit de jouer sur la prsentation mais elle est trs maniable et extensible. Mais cependant lintgration de se service au poste de tlphone IP utilisera lapproche adopte pour la partie serveur puisque les tlphones IP de Cisco nintgre pas la machine virtuelle Java et peuvent supporter laffichage XML selon les spcifications de Cisco.
I.6.1. Spcifications des besoins fonctionnels I.6.1.1. Dveloppement de la partie Serveur dapplication CTI
Cette partie constitue le noyau de notre projet vu que celle ci qui va sinterfacer avec le CallManager et observer ainsi ltat de la ligne tlphonique, si ltat de la connexion passe du mode IDLE en mode ALERTING (annexe) le serveur dapplication CTI alerte le client quun appel lui ait destin et affiche ainsi les donnes de linterlocuteur sur le tlphone IP. Ce serveur dapplication contient aussi une gamme de service accessible partie du tlphone IP afin dinteragir avec le serveur de base de donnes.
Etude de problmatique
I.8.Conclusion
Dans ce chapitre nous avons prsent larchitecture rseau et lenvironnement propice pour le dploiement dapplications CTI dans une plateforme Cisco .Nous avons aussi explor le service quon va intgrer dans cette architecture en prsentant diffrentes solutions pour limplmentation, ainsi que la spcification des diffrents besoins fonctionnels et non fonctionnels requis pour limplmentation de la solution. Dans le chapitre suivant nous allons passer la partie conception de notre solution sous forme dapproche UML.
11
Architecture et conception
II.1.Introduction
Pour mettre en oeuvre les propositions expliques dans le chapitre prcdent, il faut avant tout spcifier larchitecture matrielle et logiciel ncessaire. Cette tape est trs importante car elle permet par la suite de concevoir la solution dune faon plus prcise et de ne pas tre oblig de refaire la conception au cours de limplmentation effective de la solution. Dans ce chapitre, nous allons prsenter la conception du projet. Notre tude se base sur le
formalisme UML, nous identifierons les diffrents acteurs agissant sur notre solution ainsi que larchitecture de dploiement propos pour ce type de service CTI.
12
Architecture et conception
PSTN
CT IQB E/J AV
TC P/ IP
AJ
TA PI
SC
TP
Les diffrents lments ncessaires pour cette architecture sont : Un serveur CallManager : Ce serveur est llment le plus important car il englobe plusieurs fonctions tel que la collecte des flux concernant les appels entrants, la communication avec les clients JTAPI et la supervision des IP phones. Un serveur de base de donnes : Dans ce serveur, nous allons stocker les contenus statiques telles que les informations de la partie appelante ainsi que les informations de la socit concerne par la transaction avec lagent. Un serveur dapplication CTI : Cette partie prendra en charge les diffrents services que peut y accder le tlphone IP ainsi que laffichage des informations de la partie appelante lors dun appel, ce serveur est en communication permanente avec Cisco CallManager. Le client JTAPI : Ce client renferme lapplication CRM dveloppe qui, de son cote aussi, est en communication permanente avec le CallManager.
HT
HT
TP
CP
C SC
13
Architecture et conception Notre mission consiste dvelopper le client JTAPI ainsi que le serveur dapplication CTI et de les intgrer avec les autres quipements prsents dans la figure 5 pour assurer le fonctionnement du service.
LAN
Cisco CallManager
LAN
Module Ip Phone Service Module DataBase
LAN LAN
Serveur Base de donne relative aux clients
Serveur de donne
Module DataBase
JTAPI/ CTIQBE
Module JTAPI
Module JVM
Client CRM
14
Architecture et conception
Architecture et conception affichant les donnes concernant linterlocuteur ainsi que lentreprise concerne par la transaction lors de lappel tlphonique. Cette partie offre aussi la possibilit lutilisateur de sinteragir avec le serveur de base de donnes. CallManager : Cisco CallManager est un composant serveur de traitement et de contrle des appels de la solution de tlphonie IP de Cisco. Il a pour rle dinterprter le flux dinformations changes avec lapplication et de superviser de ltat de la connexion de ladresse rattache au poste tlphonique, le flux chang avec notre application est un flux JTAPI interprt par le CallManager sous forme de messages CTIQBE. Tlphone IP Cisco : Cest ce terminal qui affichera les informations de linterlocuteur lors dun appel, cet affichage est sous formes de balise XML interprtable par la gamme Cisco 7900, laccs au service de tlphonie IP sera initi partir de ce composant. Le serveur dapplication CTI : Il est responsable de la partie CTI conus pour rcuprer le numro de linterlocuteur, faire une recherche dans la base de donnes selon le numro de linterlocuteur et afficher le rsultat sur lcran du tlphone IP. Une autre fonctionnalit a t intgre ce serveur : Celle des services de tlphonie IP. Parmi les services intgrer on cite : Recherche dans la base de donnes partir du tlphone, consultation de lannuaire qui tablie une connexion notre base de donnes et consultation de lactualit en ligne de Cisco et de CNN La base de donnes : Elle contient des donnes relatives aux clients Parmi ces donnes on cite le numro de tlphone partir duquel le systme extrait les informations de linterlocuteur.
16
Architecture et conception
Include
PushToPhone IpPhoneServices
Include
Telephony
CallManager
Include Include
DataBase GUICrm
Include
Serveur Base de donne
Client Crm
17
Architecture et conception
18
Architecture et conception
Architecture et conception Cette partie force le terminal IP afficher des donnes sur son cran sans pour autant avoir besoin de lintervention de lutilisateur.
IpPhone Cisco
uses
uses
uses
20
Architecture et conception Effectuer une mise jour des informations relatives un client ou dune socit.
21
Architecture et conception
II.5.Diagrammes de classes
Les diagrammes de classes modlisent les interactions et les hirarchies entre les classes les plus importantes conues pour la ralisation de ce service. Pour modliser les diffrentes classes du systme final. Nous avons regroup les principales classes en des paquetages selon leurs rles. Dans ce qui suit nous reprsentons le Diagramme de classes constituants chaque paquetage. Nous nous sommes appuys sur le formalisme UML pour les reprsenter.
22
Architecture et conception
CallerInfoServer -CTIServer -DestNumber -IdJTAPI -PassJTAPI +ProviderChangeEvent() +CallChangeEvent() +GetActiveCallPartyNumbers() +GetCallerInfoServer() NumberFind -NumberOrigin +FindfirmInformationByNumber() +FindCustumerInformationbyNumber() +LoadJDBCDriver() +Connection() +AddfirmInformation() +AddCustumerInformation() +LoadJDBCDriver() +Connection() AddToDb
GuiCrm -OrigNumber -JPannel1 -JPannel2 -JPannel3 -JPannel4 +NumberFind() +AddToDb() +Affiche() +updateDb()
Affiche updateDb +UpdatefirmInformation() +UpdateCustumerInformation() +LoadJDBCDriver() +Connection() +DisplayfirmInformation() +DiplayCustumerInformation() +LoadJDBCDriver() +Connection()
23
Architecture et conception
24
Architecture et conception
25
Architecture et conception
PushXml -firmName -FirmAddress -FirmActivities -Firmphone -Fcomments -Cname -Cfname -Cphone -Ccomments -CustumerContact -CustumerComment -NumbersOrigin -NumbersDest -XML +termTo.sendData()() +CalleInfoServer() +getCallerInfoServer()
Search
26
Architecture et conception Le serveur dapplication CTI fournit le mme service que celui du ClientCrm lexception prs que laffichage des informations de linterlocuteur seront affiches lcran du tlphone IP de lutilisateur du service. Il offre galement dautres services qui seront accessibles partir dun poste tlphonique IP Cisco.
27
Architecture et conception
II.6.Digrammes de squences
Les diagrammes de squence permettent de dcrire les interactions entre les objets pour chaque cas d'utilisation. Dans notre cas, ces diagrammes sont lis aux diagrammes de cas dutilisation reprsents auparavant. Pour illustrer la diffrence entre nos deux clients : le client CRM et le cas du serveur dapplication CTI qui prend en charge laffichage du service sur les postes IP de lutilisateur. Nous allons assigner chaque type de client le diagramme de squence correspondant.
28
Architecture et conception
29
Architecture et conception
II.7.Conclusion
Dans ce chapitre, nous avons prsent les diffrents diagrammes de cas dutilisation et de classes de notre application pour enfin aboutir ltablissement des diagrammes de squences. Dans le chapitre suivant nous allons expliquer les choix utiliss pour limplmentation de la solution adopte et dcrire la dmarche de la ralisation.
30
Solution et implmentation
III.1.Introduction
Aprs avoir dtermin les besoins de lapplication et conu les diffrentes parties de ce service, nous sommes passs la ralisation de la solution conue. Mais avant tout, nous prsentons les outils utiliss pour le dveloppement du service de tlphonie IP ainsi que de monte de fiche client.
31
Solution et implmentation ils sont prvus, le code Java est compil vers un tat intermdiaire. Le programme rsultant doit tre excut via une machine virtuelle JVM (Java Virtual Machine). La machine virtuelle quant elle est lie la plateforme utilise, nanmoins lheure actuelle, de trs nombreux systmes sont supports tels que les PC tournant sous Windows, les Macintosh, etc. Il existe mme des JVM allges pour les PDA (Personnal Digital Assistant) ou certains tlphones portables. Grce cette technique, un programme ne doit tre compil quune seule fois, et peut ensuite tre utilis sur nimporte quelle version de la JVM. Traditionnellement, les langages interprts tels que Java sont moins rapides que leurs concurrents compils, mais le dveloppement de plus en plus pouss de la JVM, est en train de rapprocher les performances de Java de celles des langages tels que le C++.[4]
32
Solution et implmentation
La partie qui va suivre dtaillera les principaux acteurs lors du processus dappel tlphonique entre deux terminaux utilisant lAPI Jtapi.
III.3.1.1.1. Provider
Un provider reprsente lentit logicielle dun central tlphonique avec ces interfaces et un systme de tlphonie sous-jacent dans notre cas le provider est le CallManager. Un provider peut se trouver dans l'un de ces trois tats : Provider.IN_SERVICE,
Provider.OUT_OF_SERVICE ou Provider.SHUTDOWN. L'tat du provider dtermine la validit de ces diverses actions possibles. Dtaillons quelque peu ces diffrents tats [5] : IN_SERVICE : Cet tat indique que le provider est actuellement en service et disponible pour les utilisateurs. OUT_OF_SERVICE : Cet tat indique qu'un provider n'est temporairement pas disponible pour une utilisation. Beaucoup de mthodes du provider sont incorrectes lorsquil se trouve dans cet tat. Les providers peuvent revenir en service tout moment, cependant, l'application ne peut prendre aucune mesure directe pour causer ce changement.
33
Solution et implmentation SUTDOWN : Cet tat indique qu'un provider n'est plus disponible une utilisation. La plupart des mthodes du provider sont incorrectes lorsquil se trouve dans cet tat Le diagramme suivant montre les transitions d'tat permises pour le provider dfini par le core package :
III.3.1.1.2. Call
Un objet call reprsente un appel tlphonique.
34
Solution et implmentation
III.3.1.1.3. Connection
Une connexion reprsente un lien (une association) entre un call et une adresse. Le but d'une connexion est de dcrire le rapport entre un call et une adresse. Une connexion existe si une adresse particulire reprsente une partie dun appel tlphonique. Chaque connexion a un tat qui dcrit ltat actuel du rapport entre le call et l'adresse.
35
Solution et implmentation La premire chose faire est de se connecter l'interface JTAPI du Call Manager une fois la connexion tablie nombre d'vnements JTAPI pourront tre traits par notre application suivant qu'on dveloppera le code ncessaire la figure 21 illustre la premire tape de lancement du moteur Jtapi et de lobtention dun provider.
36
Solution et implmentation base de donns relationnelle, et des pilotes JDBC sont disponibles pour tous les systmes connus de bases de donnes. [4]. Nous avons utilis cette API pour permettre aux classes Java de communiquer avec les bases de donns.
37
Solution et implmentation
III.3.7. XML
Cisco met la disposition des dveloppeurs de service de tlphonie IP, une API bas sur le XML et qui permet dafficher des donnes sur les IP Phones Cisco de la gamme 7900. Ces services sont gnralement utiliss laide du protocole HTTP. Les tlphones se comportent donc comme une sorte de navigateur web, lexemple suivant illustre laffichage du menu en utilisant la spcification Cisco pour le XML.
III.4.Les interfaces
Comme cela a dj t voqu, le service dvelopp prsente deux approches dutilisation : Une approche pour les utilisateurs de Pc et une approche pour les IP Phones Cisco. Nous allons essayer dans cette partie de prsenter les principales interfaces auxquelles un utilisateur est confront selon les approches cites ci-dessus.
38
Solution et implmentation
39
Solution et implmentation La premire interface mise la disposition de lutilisateur renferme diffrents menus qui permettent linteraction avec le serveur de base de donnes et la consultation des bulletins dinformations tlchargs partir du site Cisco et CNN. La figure 22 illustre le menu voqu ci-dessus :
40
Solution et implmentation
Les diffrents menus ; Add custumer et Add Firm permettent lutilisateur dajouter de nouvelles entres au serveur de base de donnes tandis que les champs Find Firm et Find Custumer offrent la possibilit de rechercher un client soit par nom de socit ou par nom et prnom de lagent ainsi que la possibilit deffectuer une mise jour concernant les informations des clients. Les figures 26 29 illustrent un cas dexemple dutilisation de ces interfaces.
41
Solution et implmentation
42
Solution et implmentation
43
Solution et implmentation
Cas du IP Phone Cette partie renferme laspect CTI. En effet, pour pouvoir extraire le numro de tlphone de linterlocuteur et pousser laffichage des donnes ainsi rcupres partir de la base de donnes, notre application fait appel au serveur dapplication CTI qui est responsable deffectuer cette tache. La figure 31 illustre le cas de rception dun appel avec un numro de tlphone enregistr dans notre base de donnes tandis que la figure 32 voque le cas o le numro est inconnu dans notre base.
44
Solution et implmentation
45
Solution et implmentation
III.5.Conclusion
A loccasion de ce chapitre nous avons trait la mthodologie adopte afin de raliser notre application. Une mthodologie qui a mis en oeuvre toute une panoplie assez complexe doutils. Lobjectif de ce projet est de simplifier le dploiement de solutions CTI dans un rseau de tlphonie IP. Le serveur dapplication CTI ainsi que le client CRM constituent le cur de notre application.
46
Conclusion Gnrale
Conclusion et perspective :
La gestion des donnes client permet de fournir une gestion simple et efficace des informations personnelles de la partie appelante. Ce processus de gestion dappel utilise les identifiants de la partie appelante ou appel pour rcuprer partir dune base de donnes les informations relatives au client et lassocier lappel pendant sa dure de vie. Cela permet l'appel d'tre trait de manire plus efficace et cest exactement dans ce but ou intervient notre application.
Au cours de projet, nous nous sommes intrss llaboration des diffrents points qui englobent le dploiement et lintgration de solutions de couplage tlphonie informatique dans un environnement logicielle Cisco, ainsi que le dveloppement de services de tlphonie IP. En premier lieu, nous avons pos la problmatique du projet savoir les objectifs atteindre ou encore les diffrentes approches qui peuvent tre utiliser pour notre application. Ensuite, nous avons conu et dvelopp un modle capable de rpondre nos besoins. Enfin, nous sommes passs ltape test et implmentation, en effet ce stade l nous pouvons affirmer que notre application a rpondu dune manire impressionnante aux attentes et aux objectifs fixs pralablement.
En effet, lapplication a t teste avec succs sur une plateforme de Tlphonie IP Cisco intgrant le CallManager. Loin de se contenter du dveloppement dune application rserve unique aux utilisateurs de PC, nous avons tendu notre tude en intgrant la partie CTI au IP Phone Cisco ainsi que le dveloppement de services de tlphonie IP.
Les fonctions que peut offrir le CTI sont particulirement extensibles et comme
perspectives ce projet, on pourra intgrer le concept de routage de fiche client dun utilisateur un autres ou encore intgrer dans cette dernire les diffrents concepts dun SoftPhone savoir composer un appel ou rpondre un appel.
Llaboration de ce projet ma permit dapprofondir et de concrtiser mes connaissances en informatique et surtout dans le domaine du dveloppement des applications de tlphonie. Nanmoins, ces connaissances, ne suffisent pas pour dvelopper des services de tlphonie valeurs ajouts. Il ma donc t donn dapprendre au cour de ce stage quil
47
Conclusion Gnrale faut joindre le monde informatique au monde des tlcommunications pour pouvoir crer de nouveaux services.
48
Annexe
2. Historique du CTI :
Le CTI a t introduit en 1970 pour les ordinateurs grande puissance de calcul dans le but de commander les systmes de PBX. En 1990 la notion de personnel computer technology ou ordinateur personnel a t intgre dans le CTI et depuis, plusieurs standards ont vus le jour. Parmi les organismes qui ont contribu mettre au point le standard CTI on distingue [8] :
ITU Union international de Tlcommunication (Internationnal Telecommunication Union) a spcifi les applications de tlcoms pour les Commutateurs et les ordinateurs : Le TASC (Telecommunication Application for Switch and Computers) en 1994. Ces spcifications incluent un aperu gnral sur la norme TASC, larchitecture fonctionnelle et les services associs.
TTC comit de la technologie de tlcommunication (Telecommunication Technology Comittee) du japon a spcifi linterface entre les PBXs et les applications informatiques cette spcification concorde avec la norme SCAI (Switch-to-Computer Application Interface). [8]
ECMA lassociation europenne de constructeurs informatique (European Computer Manufacters Association) supervise le dveloppement du standard CSTA (Computer Supported Telecommunication Application) depuis 1988, ce standard spcifie
Intel et Microsoft ont dvelopp en 1993 la spcification TAPI (Telephony Application Programming Interface) pour linterface de dveloppement dapplication CTI pour les systmes dexploitation Windows. [8]
49
Annexe Novel et Lucient ont lanc la norme TSAPI en 1993 pour la plateforme Netware contrairement TAPI qui est destin pour une plateforme Microsoft.
4. Composants CTI
Le CTI comporte trois composants : le Switch-to-host interface, lAPI et le CTI ressource architecture . Le Switch-to-host interface est linterface du type CSTA (Computer Supported Telephony Applications) ou SCAI (Switch-to-Computer Application Interface) qui fournit la connexion entre le PABX (ou IP-PBX) et le serveur CTI. LAPI permet un dveloppeur de crer une nouvelle fonction ou un service pour le CTI. Le CTI ressource
50
Annexe architecture est le gestionnaire de la tlphonie et des ressources dans le systme telle que la reconnaissance de la voix, la figure 33 illustre les diffrents composants voqus dans larchitecture CTI. [8]
51
Annexe Le dveloppement du CSTA a t initi par lassociation ECMA tant dis que le SCAI est la version dveloppe par lANSI (American National Standards Institute) qui repose sur les mmes concepts que celui du CSTA mais il est plus complexe quant son intgration et dploiement dans une architecture de dveloppement dapplication CTI [9].
Annexe JTAPI : (Java Telephony) Dveloppe par SunMicrosysteme, cette API fournit une portabilit et une approche orient objet pour les applications tlphonique dveloppes en Java.
53
Annexe
54
Annexe
Annexe B :
CallManager
La plate-forme Cisco CallManager tend les fonctionnalits tlphoniques dans lentreprise aux quipements connects sur le rseau de donnes tels que les tlphones IP, les quipements de traitement de la voix, les passerelles VoIP et les applications multimdia. Les services additionnels de data, voix et vido tels que la messagerie unifie, la confrence multimdia, le centre de contact collaboratif et les systmes de rponse multimdia interactifs interagissent avec la solution dIP Tlphonie par lintermdiaire des interfaces de programmation ouverts (APIs) natifs de Cisco CallManager. Cisco CallManager sinstalle sur les serveurs de convergence de mdia de Cisco (MCSs) ainsi que sur un choix de serveurs dautres constructeurs (HP, IBM). Cisco CallManager est livr avec une srie dapplications et dutilitaires qui comprend Cisco CallManager Attendant Console, qui est un logiciel de poste oprateur pour PC, une application de confrence en mode impromptu (ad-hoc), Bulk Administration Tool (BAT), CDR Analysis and Reporting tool (CAR), Real-Time Monitoring Tool (RTMT), Cisco CallManager Auto-Attendant, qui est un standard automatique simple et de petite capacit, Tool for Auto-registered Phones Support (TAPS) et IP Manager Assistant (IPMA). [10]
55
Annexe
Annexe C :
1. Le format RSS
Format de syndication de contenu Web, bas sur le XML, qui permet dindexer de faon automatise le contenu dun site Web et de le mettre instantanment disposition dautres sites. Le format RSS est en fait une manire de dcrire le contenu dun site Web (articles, informations, vnements) et plus gnralement toute page qui prsente un contenu mis jour chronologiquement. Il permet des sites Web dafficher automatiquement les derniers titres parus sur un autre site. Cr lorigine par Netscape, le format RSS est dsormais utilis couramment pour partager du contenu entre sites Web [11]. RSS est lacronyme de Really Simple Syndication (RSS 2.0), RDF Site Summary (RSS 0.9, 1.0 et 1.1) ou Rich Site Summary (RSS 0.91), suivant les diffrentes versions [11].
2. Le langage XML
Extensible Markup Language (langage de balisage extensible), gnralement abrg XML, est un standard du World Wide Web Consortium qui sert de base pour crer des langages de balisage : c'est un mtalangage . En ce sens, XML permet de dfinir un vocabulaire et une grammaire associe sur base de rgles formalises. Il est suffisamment gnral pour que les langages bass sur XML, appels aussi dialectes XML, puissent tre utiliss pour dcrire toutes sortes de donns et de textes. Il s'agit donc partiellement d'un format de donns. L'extensibilit de XML est principalement assure par la notion d'espace de nommage. L'objectif initial de XML tait de faciliter le partage de textes et d'informations structures, par exemple au travers d'Internet, en sparant le contenu du contenant. Il constitue une simplification de SGML tout en continuant assurer la portabilit des documents, notamment grce l'intgration d'Unicode.
56
Bibliographie
Bibliographie
[1] www.onetech-group.com [2] CTI Applications Architecture and Design for CallManager 3.1 October, 2001 IP Telephony Design Guide. [3] http://uml.free.fr/index-cours.html, Laurent Piechocki
[4] Cay S. Horstmann And Gary Cornell, Au Coeur de Java 2, CampusPress, dition 2000
[5] JTAPI specifications, 22 Mars 2000. [6] http://www.a525g.com/programmation/java-swing.htm [7] www.rr0.org/java/Tomcat.html [8] Cisco Lessons documentations, Computer Telephony Integration and ICM. [9] Michael Bayer ,Computer Telephony Demystified - Putting CTI, Media Services, and IP Telephony to Work, New York McGraw-Hill Professional, Janvier 2000. [10] John Alexander, Chris Pearce, Anne Smith, Delon Whetten, Cisco CallManager Fundamentals Second Edition, Cisco Press, 22 Septembre 2005.
57
[11] http://fr.wikipedia.org/wiki/Really_Simple_Syndication
Titre :
Rsum
Le Couplage tlphonie informatique permet de coupler la tlphonie, principal canal de communication client distance, et le systme informatique de lentreprise, source de connaissance du client. Il constitue le point cl pour la relation client pour toutes entreprises. C'est dans cette perspective que s'inscrit notre projet qui a pour objectif de concevoir et de raliser une application CTI adapt la fois au IP Phone Cisco et au PC, base sur la plateforme Cisco dont le CallManager constitue le noyau, mais le projet slargit encore plus, afin de faire profiter lutilisateur des avantages que fournit cette plateforme savoir la possibilit dintgrer de nouveaux services de tlphonie IP accessible partir du IP Phone. Pour cela, nous mettons en oeuvre un serveur dapplications CTI constituant une couche architecturale part entire pour les IP Phones, dans le but dafficher les informations de linterlocuteur ainsi que les diffrents services de tlphonie IP dvelopps pour les IP Phone. Le Client CRM assura cette tache pour les utilisateurs de PC.
Mots cls
JTAPI, CTI, Cisco CallManager, Java, CRM, IP Phone, services de tlphonie IP.