Ddicaces
.
Je ddie mon projet de fin dtudes : Mes Parents qui ont toujours t prsents pour moi. Mon cher Mari et mon adorable bb Mouadh . A toutes les personnes qui maiment et que jaime galement
Remerciements
Je tiens exprimer mes sincres gratitudes et respects mon encadreur Mr.Bentaziri Adel . Je remercie galement tous les enseignants de lUniversit Virtuelle de Tunis qui taient prsents pour nous tout au long de lanne universitaire. Je noublierais jamais de remercier tout le personnel de lUniversit virtuelle de Tunis et essentiellement Mme Leila Elhaj et Mlle Asma Errais. Enfin je remercie toutes les personnes qui ont contribu, de prs ou loin, au bon droulement du projet .
INTRODUCTION ................................................................................................................................................ 6 CHAPITRE 1 : PRESENTATION DU CADRE DU STAGE ......................................................................................... 8 I. II. III. IV. PRESENTATION DE LA SOCIETE : ......................................................................................................................... 8 ETUDE DE LEXISTANT....................................................................................................................................... 8 CRITIQUE DE LEXISTANT ................................................................................................................................... 9 SOLUTION PROPOSEE ....................................................................................................................................... 9
CHAPITRE 2 : NOTIONS THEORIQUES............................................................................................................. 11 I. II. III. IV. V. LA VOIP : .................................................................................................................................................... 11 FONCTIONNEMENT ........................................................................................................................................ 11 AVANTAGES ................................................................................................................................................. 11 DEFAUTS DE LA VOIP ..................................................................................................................................... 13 PRESENTATION DASTERISK : ........................................................................................................................ 14 1. Les Softswitchs : ................................................................................................................................... 14 2. Asterisk, Quest-ce que cest et pourquoi le choisir ? ........................................................................... 14
a) b) Fonctionnalits ................................................................................................................................................. 15 Besoins matriels : ........................................................................................................................................... 15
CHAPITRE 3 : SPECIFICATION DES BESOINS..................................................................................................... 16 I. 1. 2. II. BESOINS FONCTIONNELS ................................................................................................................................. 16 Interconnexion de deux serveurs Asterisk : .......................................................................................... 16 Mise en place dun rpondeur tlphonique interactif : ...................................................................... 17 BESOINS NON FONCTIONNELS : ........................................................................................................................ 18
CHAPITRE 4 : MISE EN UVRE........................................................................................................................ 19 I. ENVIRONNEMENT TECHNIQUE ......................................................................................................................... 19 1. Matriel ............................................................................................................................................... 19 2. Logiciels ............................................................................................................................................... 19 II. INSTALLATION .............................................................................................................................................. 20 1. Prparation Systme............................................................................................................................ 20
a) b) c) d) e) Installation OS .................................................................................................................................................. 20 Connexion au serveur UVT ............................................................................................................................... 23 Mise jour de lOS ........................................................................................................................................... 23 Installation des dpendances pour Asterisk ..................................................................................................... 25 Rcupration des pacquages du serveur Asterisk ............................................................................................ 26
2.
a) b)
3.
a) b) c) d) e)
4.
a) b) c) d)
5.
a)
b) c) d)
Mise en place de la base de donnes ............................................................................................................... 52 Configuration de lIVR ...................................................................................................................................... 54 Simulation de lIVR ........................................................................................................................................... 57
Introduction
Aujourd'hui le dveloppement d'Internet a modifi profondment la faon d'utiliser notre tlphone. En effet, la technologie de la tlphonie classique est aujourd'hui en passe d'tre supplante par la tlphonie sur IP. Similaire au tlphone, la voix sur IP (VoIP : Voice over Internet Protocol) permet de transmettre la voix en se rfrant au protocole IP (Internet Protocol). Cela permet d'effectuer des appels tlphoniques via Internet. Il suffit d'avoir trois outils en un : PC , tlphones fixe et mobile sous forme logiciel et matriel. On appel ToIP (Telephony over Internet Protocol). le service de transport de la voix sur IP permettant d'effectuer des appels tlphoniques via l'Internet au lieu d'utiliser une ligne de tlphone traditionnelle. Lusage de la VoIP a t abord au dbut sous langle de la rduction des cots, mais de plus en plus les entreprises sy intressent attires par les gains de productivit engendrs par ses nouveaux services, le rseau de tlphonie traditionnel se trouve dsormais de plus en plus remplac par une solution de ToIP. Le choix dune solution de ToIP nest pas aussi simple car cette technologie regroupe un ensemble de protocoles qui peuvent supporter des services diffrents. Ces protocoles ont leurs avantages comme ils ont leurs inconvnients. Aujourdhui, aucun protocole ne sest impos comme le standard de la VoIP, mme si le protocole SIP, semble pressentit pour jouer ce rle. On distingue des solutions libres telles que Asterisk bases sur les protocoles libres (SIP, H.323, ) et ses solutions propritaires telles que le CallManager de Cisco bases sur des protocoles propritaires tels que le protocole SCCP. Les solutions libres sont videment avantageuses en terme de cot tandis que les solutions propritaires le sont en terme de services.
La solution ToIP offre donc un meilleur service et productivit puisque les appels se font partir dordinateur, il est plus facile de sintgrer avec les applications des entreprises. Au sein du rseau de l'UVT, nous avons appliqu cette thmatique l'aide de la solution logicielle open source : Asterisk. Nous avons test une implmentation de la Tlphonie sur IP. Dans une seconde partie, nous avons mis en place un rpondeur vocal IVR en branchant un serveur Asterisk sur une ligne analogique. Ce projet mest apparut comme un sujet intressant car il ma permis de monter une solution de ToIP trs apprcies du march. Par ailleurs, cette solution savre bnfique pour lUniversit Virtuelle de Tunis, en effet le rseau ToIP permettrait dassurer des communications tlphoniques entre les diffrents sites distants de lUVT un moindre cot. Quand au rpondeur vocal, il serait utile dans le fait de faciliter laccs linformation tout moment.
L'universit Virtuelle de Tunis (UVT), tablissement public, cr en janvier 2002, propose des formations distance aux professionnels et aux tudiants, dont on peut citer des licences, mastres et des certificats. LUniversit Virtuelle de Tunis produit galement des cours multimdia interactifs pour lenseignement en ligne. Lenseignement non prsentiel ncessite une importante communication, LUVT en tant quuniversit denseignement en ligne est appele accorder beaucoup dimportance aux outils de communication qui lui permettront de faciliter le contact entre enseignants tudiants et personnel administratif.
II.
Etude de lexistant
LUVT en tant quuniversit denseignement en ligne est appele assurer une communication permanente entre diffrents acteurs qui sont gnralement distants. Ces acteurs sont forms dtudiants, denseignants et de personnel administratif. En effet lUVT collabore avec des enseignants dautres tablissements universitaires. Il est aussi signaler que et son staff administratif et technique est dispatch sur deux sites distants. Actuellement au sein de lUniversit virtuelle de Tunis la communication se fait via diffrents outils : Outils de communication synchrone : Le tlphone, le Skype, Outils de communication asynchrone : La plate forme de lenseignement distance Le site web, les news lettres, les flux RSS.
III.
Critique de lexistant
Dans le cas de la communication tlphonique diffrentes difficults sont rencontres: LUVT dispose de deux lignes directes uniquement qui sont exploites pour la communication avec le public mais aussi pour les communications qui sont lies au travail administratif. Le staff de lUVT est dispatch sur deux sites distants, les deux lignes constamment occupes pour des situations de travail urgentes ceci peut savrer trs gnant. Pas de standardiste Les secrtaires passent lappel en fonction de la requte du demandeur. le demandeur risque dans la majorit des cas de ne trouver aucune personne pour rpondre son besoin (la personne est absente, la personne nest pas en mesure de rpondre) La majorit des appels viennent dtudiants ou denseignants qui cherchent une information classique mais risque de perdre beaucoup de temps pour arriver une rponse on peut citer comme exemple demande : Etat des diplmes Etat des attestations Etat de dossiers dinscription Etat de paiement des enseignants Etat de production et de mise en ligne des cours
IV.
Solution propose
Il sagit dune solution qui se porte sur la voix sur IP qui est base essentiellement sur un softswitch open source appel Asterisk , le travail tant de: Etudier la migration du standard actuel de lUVT en standard numrique en proposant . linterconnexion de deux ou trois sites de lUVT en mettant en place un rseau ToIP(Tlphonie sur IP) en utilisant lIPBX Asterisk . Mettre en place un Rpondeur vocal interactif Ivr(Interactive Voice Response) pour la consultation des divers services de scolarit de luniversit (diplmes, attestations, cours , dossiers dinscription) Ceci va permettre la: Diminution des cots de communication pour le staff de lUVT et librer les lignes tlphoniques RTC.
9
Diminution de la dure des communications tlphoniques perdue dans la recherche dinformation demande. Disponibilit de linformation par tlphone hors horaires administratifs ou pendant les jours fris. Disponibilit de linformation pendant labsence de lappel.
10
Dans cette partie, nous allons voir pourquoi la tlphonie IP est devenue importante pour les entreprises. L'enjeu est de russir faire converger le rseau de donne IP et le rseau tlphonique actuel. "VoIP" est un abrg de langlais Voice Over IP parfois appel tlphonie IP ou tlphonie sur Internet. Cette technologie permet de communiquer par voix via le rseau Internet ou autres rseaux supportant le protocole TCP/IP Donc la voix sur IP (VoIP) comme son nom lindique correspond aux technologies de transport de la voix en mode paquet via le protocole IP et la tlphonie sur IP (ToIP) correspond aux applications et offres de services qui sappuient sur la VoIP. On peut citer comme exemple, les solutions IPBX .
II.
Fonctionnement
Lorsquun utilisateur veut entrer en communication avec un autre, une connexion est alors tablie entre les deux terminaux. Lutilisateur peut alors mettre un son par le biais dun micro (signal analogique) qui est ensuite numris et compress par la machine (signal par synthse). Une fois les donnes encapsules dans un paquet, le paquet est envoy au destinataire qui procdera aux oprations inverses assurant ainsi la mise en forme dun message audible. Avant de pouvoir communiquer directement, les membres de la discussion doivent tablir un protocole pour la dmarrer. Les principaux protocoles utiliss pour ltablissement de la communication sont : H323 ; SIP ; IAX (SIP amlior, issu du projet de PABX[3] Asterisk) ; MGCP ; SCCP ; Jingle (bas sur Jabber).
III.
Avantages
Voici les principaux avantages pour utiliser la tlphonie sur IP (Source Sage Research 2003, sondage auprs de 100 dcisionnaires IT).
11
Motivations Rduction de cots Ncessit de standardiser l'quipement Hausse de la productivit des employs Autres bnfices de productivit Hausse du volume d'appels traiter Autres facteurs
Pourcentage 75 % 66 % 65 % 64 % 46 % 50 %
La tlphonie sur IP exploite un rseau de donnes IP pour offrir des communications vocales l'ensemble de l'entreprise sur un rseau unique voix et donnes. Cette convergence des services de communication donnes, voix, et vido sur un rseau unique, s'accompagne des avantages lis la rduction des cots d'investissement, la simplification des procdures d'assistance et de configuration, et l'intgration accrue de filiales et de sites distants aux installations du rseau d'entreprise. La VoIP offre de nombreuses nouvelles possibilits aux oprateurs et utilisateurs qui bnficient d'un rseau bas sur Ip. Les avantages les plus marqus sont les suivants. Rduction des cots En dplaant le trafic voix RTC vers le rseau priv WAN/IP les entreprises peuvent rduire sensiblement certains cots de communications. Rductions importantes surtout pour des communications internationales. Standards ouverts et interoprabilit multi-fournisseurs Trop souvent par le pass les utilisateurs taient prisonniers d'un choix technologique antrieur. La VoIP a maintenant prouv tant au niveau des rseaux oprateurs que des rseaux d'entreprises que les choix et les volutions deviennent moins dpendants de l'existant. Contrairement nos convictions du dbut, nous savons maintenant que le monde VoIP ne sera pas uniquement H323, mais un usage multi-protocoles selon les besoins de services ncessaires. Par exemple, H323 fonctionne en mode "peer to peer" alors que MGCP fonctionne en mode centralis. Ces diffrences de conception offrent immdiatement une diffrence dans l'exploitation des terminaisons considres. Aucun branchement tlphonique spar ncessaire il utilise le rseau informatique Un rseau VoIP vous laisse connecter le matriel tlphonique directement au port de rseau informatique standard (quil peut partager avec lordinateur adjacent). Les solutions tlphones peuvent tre installs directement sur le PC. Cela signifie quil ny a aucun rseau de branchement spar installer et maintenir pour le rseau tlphonique, vous donnant ainsi une plus grande flexibilit pour lajout dutilisateurs/dextensions. Si vous emmnagez dans des locaux et navez pas encore install les prises tlphoniques, vous pourrez faire des conomies substantielles en installant uniquement un rseau informatique.
12
Plus de fonctionnalits: Puisque le rseau VoIP est bas sur un logiciel, il est plus simple pour les dveloppeurs de le concevoir, dajouter et damliorer les jeux de fonctionnalits. Cest pourquoi la plupart des rseaux VoIP comportent des fonctionnalits riches et varies, y compris loprateur automatique, rpondeur, appels en file dattente bien dautres. Ces options sont souvent coteuses avec les systmes propritaires. Adaptabilit : Les systmes propritaires sont faciles agrandir : lajout de lignes tlphoniques ou dextensions ncessite souvent des mises jour du matriel trs coteuses. Dans certains cas vous devrez renouveler lintgralit de votre rseau tlphonique. Il nen est pas de mme avec le rseau VoIP : un ordinateur normal peut facilement grer un large nombre de lignes tlphoniques et dextensions il suffit dajouter des tlphones votre rseau pour lagrandir! Permet aux utilisateurs de brancher leur tlphone nimporte o dans le bureau : Les utilisateurs prennent leur tlphone, le branche au port Ethernet le plus proche tout en conservant leur numro.
IV.
Dfauts de la VoIp
Comme tout produit la Voip prsente des inconvnients galement dont on peut citer : Fiabilit : Puisque VOIP se fonde sur une connexion internet, le service sera affect par la qualit et la fiabilit du service d'Internet bande large et parfois par les limitations du PC. Les connexions internet et la congestion pauvres peuvent avoir comme consquence la qualit de voix dforme ou tordue. Si vous utilisez votre ordinateur en mme temps que faire un appel de l'ordinateur VOIP, vous pouvez constater que la qualit de voix dtriore nettement. C'est plus apparent dans les rseaux fortement encombrs et/ou o il y a de longues distances et/ou interconnexion de rseaux entre les points d'extrmit. Aucun service pendant une coupure lectrique :
Pendant une panne d'lectricit un tlphone normal est maintenu dans le service par le courant fourni par la ligne tlphonique. Ce n'est pas possible avec des tlphones d'IP, ainsi quand la puissance sort, il n'y a aucun service tlphonique de VOIP. Afin d'employer VoIP pendant une coupure lectrique, une alimentation d'nergie non interruptible ou un gnrateur doit tre installe sur les lieux. Il convient noter que beaucoup de premiers adopteurs de VoIP sont galement des utilisateurs de l'autre
13
quipement de tlphone tels que les bases de PBX et de tlphone sans fil qui se fondent galement sur la puissance non fournie par les entreprises de tlphone. Qualit de voix de VoIP : VoIP a un peu amliorer sur la qualit de voix, mais pas dans tous les cas. VoIP QoS (qualit du service) dpend de tant de facteurs : le raccordement bande large, votre matriel, le service fourni , la destination de votre appel etc. De plus en plus les gens apprcient la qualit des appels tlphoniques utilisant VoIP, mais beaucoup d'utilisateurs se plaignent d'entendre Martien, doivent toujours attendre beaucoup avant d'entendre une rponse etc. Tous ces inconvnients seront surmonts temps. Il y a un montant norme de travail tant fait pour augmenter le srieux et l'utilit de VoIP.
V.
Prsentation dASTERISK :
1. Les Softswitchs :
Un Softswitch est un dispositif central dans un rseau de tlcommunications qui relie les appels tlphoniques d'une ligne une autre, gnralement via internet , entirement au moyen d'un logiciel install sur un systme informatique. Ce travail tait auparavant effectu par le matriel physique avec des tableaux physiques pour acheminer les appels. Le plus connu est ASTERISK , nous allons dcouvrir de plus prs de la chapitre qui suit : .
Ce logiciel a t conu pour une flexibilit maximale et reste un systme ouvert de nouvelles applications, do son appellation qui vient du symbole ponyme * qui sous les environnements Unix joue le rle de joker lors de la recherche ou de slection de rpertoires ou de fichiers.
a) Fonctionnalits Les solutions tlphoniques de base dAsterisk offre une gamme riche et souple de fonctionnalits. Asterisk offre la fois les fonctionnalits classiques dun PABX et des fonctionnalits innovantes et mergeantes. Il interagit avec les traditionnels systmes de tlphonie de type standard, et les systmes de VoIP.Asterisk offre les fonctionnalits que l'on attendrait d'un grand systme PBX et mme plus:
identification de l'appelant
b) Besoins matriels :
Un ordinateur classique de type PC suffit amplement pour crer un serveur Asterisk : un processeur cadenc 500 Mhz et 256 Mo de mmoire vive sont nanmoins un minimum. Ensuite, tout dpend de la charge que le serveur aura couler : plus il y aura dappels concurrents, plus de puissance sera demande (problme de latence et donc de QoS). En utilisation intensive, un processeur 2.4Ghz et 1Go de mmoire vive sont recommands, un serveur ddi (type Dell PowerEdge ou IBM OpenPower) nest ncessaire que dans les grandes infrastructures. Si le serveur est interconnect avec des connexions RTC ou RNIS, des cartes matrielles sont requises (commercialises surtout par Digium et Intel) : en analogique, on trouve la TDM400P et la X100P (cette dernire nest plus produite) et en numrique, on trouve les TE2xxP et TE4xxP. Au format PCI, elles fournissent des ports FXO (Foreign eXchange Office, pour relier aux lignes analogiques ou PBX classiques) et des ports FXS (Foreign eXchange Station, pour connecter les tlphones analogiques).
15
Figure 1 : Etat actuel La communication se fait travers les lignes tlphoniques de lUniversit. Ce que nous proposons comme solution est le service tlphonie sur Ip (ToIp) en ralisant linterconnexion de deux serveurs Asterisk fin dassurer la communication tlphonique entre les deux sites de lUVT sans avoir recours aux lignes RTC.
Figure 2 : Solution propose Linterconnexion de deux serveurs Asterisk pour les deux sites nous permettra de : Diminuer les cots de communication pour le staff de lUVT
16
Librer les lignes tlphoniques vu que lUVT ne dispose que de deux lignes . Assurer plus de contact entre les deux quipes administratives et techniques qui garantira une bonne qualit de travail vu la bonne communication.
En premier lieu ltudiant ou lenseignant doit appeler le secrtariat qui se charge de transfrer son appel vers la personne qui pourra rpondre sa demande ,ceci est contraignant vu que : Labsence du personnel entraine la non disponibilit de linformation. Linformation peut ncessiter lintervention de deux personnes pour y rpondre (le cas de deux inscriptions par exemple : certificat et licence) , ltudiant sera oblig de rappeler le standard pour joindre la deuxime personne.
Le personnel responsable du service scolarit cherche linformation dans un fichier excel,il va mettre ltudiant en attente , le temps de trouver linformation do une perte de temps pour les deux parties.
17
A fin de dviter tous ces inconvnients, nous proposons de mettre en place un rpondeur tlphonique interactif, ceci va assurer qui nous permettra de : Assurer la disponibilit de linformation. Rduire la perte de temps aux personnels de lUVT dans la recherche de linformation et augmenter la productivit en minimisant le nombre dappels de demande dinformations En configurant lIvr on a pu centraliser les informations relatives au service scolarit dans une seule base de donnes.
.
II.
A fin damliorer la qualit des services du rpondeur, il est impratif de : Amliorer le temps de rponse en minimisant les discours autrement dit essayer dtre le plus bref possible. Clarifier les discours pour garantir la rception de linformation.
18
I.
Environnement technique
1. Matriel
Le choix du matriel t effectu selon le prrequis des sites officiels dAsterisk, dans notre cas on a prconis 2 pc simple avec la configuration suivante : CPU : Dual Core RAM : 1Go HDD : 200Go NETWORK : 10/100 Mbs
Cette configuration peut supporter jusqu 50 appels simultans en mission et rception en utilisant le codec G729 et un archive denregistrement de 1 mois au format WAV. Dans le cas de production relle il faut revoir cette configuration, pour loptimisation de la scurit des enregistrements et le nombre de tlphone IP raccords.
2. Logiciels
Comme indiquer dans la premire partie thorique, on va utiliser un environnement OpenSource Linux vu la meilleure compatibilit des IPBX. Systme dexploitation : Centos 5 i386 Prrequis : Asterisk demande plusieurs prrequis pour le bon fonctionnement (gcc, gcc-c++, kernel-devel, bison, openssl-devel, libtermcap-devel, ncurses-devel, doxygen, curl-devel, newt-devel, mlocate, lynx, tar, wget, nmap, bzip2, mod_ssl, crontabs, vixie-cron, speex, speex-devel, unixODBC, unixODBC-devel, libtool-ltdl, libtool-ltdl-devel, mysql-connector-odbc, mysql, mysql-devel, mysql19
server, php-mysql, php-mbstring, php-mcrypt, flex, screen, libxml2, libxml2-devel, libtiff, libtiff-devel, gmime, gmime-devel, net-snmputils, net-snmp-devel, neon, libxml2, openssl, openssl-devel, gnutlsdevel, gnutls-utils.
II.
Installation
Pour pouvoir utiliser correctement Asterisk, il faut suivre toute une procdure dinstallation avec un acheminement cohrant. Dans cette partie on va numrer et dtailler les tapes suivre.
1. Prparation Systme
a) Installation OS
Aprs avoir dmarr la machine en utilisant le CDROM Centos 5, il faut attendre quelques minute jusqu on aura appuyer sur ENTER pour lancer la procdure dinstallation.
Aprs avoir choisi la langue et le disque utiliser pour linstallation, on va procder la configuration de ladressage IP, MASK, PASSERELLE et NOM DE MACHINE.
20
Figure 6 : Configuration rseaux Dans ltape de choisir les pacquages installer, on va personnaliser linstallation pour y ajouter (Serveur Web, Serveur Mysql).
21
Figure 8 : Dmarrage de l'installation A la fin de linstallation, le serveur redmarre et on a un serveur Centos 5 install et accessible par SSH (on utilise pour laccs SSH un client lger PUTTY).
23
Figure 11 : Ligne de commande YUM yum : Pour grer les paquets du systme. -y : Validation automatique de toutes les options update : Mise jour des paquets installs et prise en considration automatique des dpendances.
Figure 12 : Mise jour lance A la fin de mise jour, il ne faut pas avoir un message derreur.
Figure 13 : Mise jour termine Pour tre sur que le serveur est a jour, on relance la commande YUM et il faut quil ny a plus rien faire comme mentionn ci-dessous.
24
25
26
27
28
29
b) Installation ASTERISK
30
31
32
33
34
a) Principe de fonctionnement
35
b) Structure de fichier de configuration Pour pouvoir sauthentifier, mettre et recevoir des appels travers le serveur ASTERISK, on doit dclarer les paramtres des extensions et dclarer un plan de numrotation pour cet effet. Chaque fichier de configurations doit contenir au moins une section : [general] qui contiendra les paramtres gnraux. La dclarations des comptes SIP, on doit paramtrer le fichier sip.conf dans le rpertoire /etc/asterisk/ : [general]
option_1= valeur_op_1 option_2= valeur_op_1 . option_n= valeur_op_n [telephone_1] option_1= valeur_op_1 option_2= valeur_op_1 . option_n= valeur_op_n
Pour mettre en uvre un plan de numrotation, on va diter le fichier extensions.conf sous le rpertoire /etc/asterisk/ : [general] option_1= valeur_op_1 option_2= valeur_op_1 . . . option_n= valeur_op_n [context] action_1 action_2 . . . action_n
c) Ajout des extensions Le fichier /etc/asterisk/sip.conf contient les paramtres lis la configuration de l'accs client SIP pour le serveur Asterisk. Les clients doivent tre configurs dans ce fichier avant de pouvoir mettre ou recevoir des appels en utilisant le serveur Asterisk.
36
Les sections du fichier sip.conf sont dlimites par un nom entre crochets. La premire section est pour les options gnraux du serveur, telles que l'adresse IP et le numro de port publier. [general] : nom de section gnrale. context = default : Dfinit un contexte par dfaut pour tous les clients si un context personnalis nest pas dfini. bindport = 5060 : Dfinit le port dacceptation des connexions SIP prevenant des clients vers le serveur Asterisk. bindaddr = 0.0.0.0 : Adresse IP du serveur Asterisk sur le quel il accepte les connexions entrante, cette variable dois tre une addresse relle ou alias existante sur le serveur, si cette variable est dfinie 0.0.0.0 le serveur acceptera sur toutes les interfaces. La deuxime section dfinit les paramtres de client commencant par le nom dutilisateur SIP entre parenthse, et contient comme paramtres mot de passe et l'adresse IP. [400] : id et numros de tlphone utiliser pour lauthentification du client SIP. secret = 100 : Mot de passe utiliser pour lauthentification du client SIP. type = friend : Type de connexion accepter en provenance du client, trois type de connexion peuvent tre dfinis : peer : Le client SIP peut accepter des communications provenant du serveur. user : Le client SIP peut mettre des communications travers le serveur. friend : Le client peut mettre et recevoir des appels travers le serveur. host = dynamic : Dfinit ladresse prfre du client SIP, si cette variable est dfinie dynamic, le client peut sauthentifier de nimporte quelle addresse IP. callerid = Standard UVT <400> : Dfinit le nom de lappelant afficher lappel. context = context-local-uvt : Dfinit un ensemble dactions spcifiques au contexte du client SIP.
37
d) Mise en place dun plan de numrotation Le fichier extensions.conf est l'un des fichiers de configuration la plus utilise et le plus important dans lIPBX Asterisk , il contient le plan de numrotation, les actions excuter et menu IVR.
Le plan de numrotation dfinit la faon dont Asterisk PBX traite les appels entrants et sortants. Le plan de numrotation est divis en sections appeles contextes. Chaque contexte est constitu dune ou plusieurs actions excuter par le client. Le fichier /etc/asterisk/extensions est constitu de deux parties : [general] : nom de section gnrale. static=yes : donner la possibilit denregistrement les modification partir de la console CLI. writeprotect = yes : protection contre lcriture partir de la console CLI. autofallthrough = yes : cette option dfinit laction de raccrocher aprs chaque fin de communication. extenpatternmatchnew=no : aucune acclration nest utilise pour les communications. clearglobalvars=yes : vidage des variables utilises par asterisk chaque recharge ou redmarrage.
38
;userscontext=default : cette ligne est dsactive vu quelle commence par ; , dans le cas normal on attribut a tous les utilisateurs un contexte suivre . [globals] : nom de section globales. Cette partie contiendra les variable. Dans notre cas, on dclare des paramtres utiliser pour la connexion et la rcupration des informations des utilisateurs partir dune base de donne MySql . srv_mysql = 127.0.0.1 : adresse ip du serveur MySql. srv_user = root : nom d(utilisateur ayant droit daccder au serveur Mysql. srv_password = : Mot de pass de lutilisateur srv_password. srv_base = uvt : Nom de la base des donnes qui contient les informations relatives lappelant.
Contexte et application
Dans la deuxime partie du fichier extensions.conf, il y aura la dclaration des contextes (ordre des actions excuter par lutilisateur appartenant au contexte) et les applications utiliser au sein du serveur Asterisk comme dans notre cas lIVR qui sera dtaill dans une partie ultrieure. La structure des contextes ou applications commence toujours par la dctaration de son nom entre deux crochets [nom_context] ou [nom_application], suivi dune suite dinstruction ayant la forme suivante : exten => action_dclanche,priorit,action_a_faire Laction enclench est tout action faite par lappelant comme lenvoi dun DTMF ou composer un numro et selon le contexte dans lequel on a affect lutilisateur, le serveur
39
recherche le contexte adquat et la ligne commenant par cette action ou une chaine comportant cette action. Soit lexemple suivant, un utlisateur compose 420 pour joindre son collgue, on peut dclarer deux type daction : exten => 420, priorit, action_a_faire ou en utilisant les caractre gnrique comme : exten => _4XX,priorit, action_a_faire Pour cet effet, on peu utilis ces caractres gnrique : - X : un chiffre de 0 9 - Z : un chiffre de 1 9 - N : un chiffre de 2 9 - [12679] : un des chiffre dclars dans les parenthses (dans l'exemple: 1,2,6,7,9). -. - (dot) joker, correspond tout ce qui reste. _1234. - correspond tout commenant avec 1234 l'exclusion 1234 lui-mme. _4XX : correspond tout nombre compos de trois chiffres et commenant par 4 (du 400 au 499). - i - Invalid - s - Start - h - Hangup - t - Timeout La priorit est lordre dacheminement des actions dans un contexte, la premire priorit est celle portant le numro 1, la suivante est celle comportant le chiffre 2. Et on peut utiliser la lettre n dans le cas ou on a plusieurs action effectuer, dans ce cas lacheminement des actions se fait selon le nombre de la ligne. Laction faire est laction suivsre une demande de lutilisateur, il existe plusieurs type comme (DIAL : appeler, HANGUP : raccrocher, ).
exten => _.,1,Goto(i,1) : pour nimporte quel numros compos par lutilisateur ayant le contexte DEFAULT, xecuter lapplication dclare la ligne i avec la priorit 1 dans le mme contexte DEFAULT. _. : nimporte quel numros compos. Goto(i,1) : atteindre lapplication i la priorit 1. exten => i,1,NoOp(Invalid) : executer lapplication NoOp avec le parameters Invalid. NoOp : aucune application et afficher sur la console un texte dclar en variable entre parenthses. exten => i,n,Congestion() : suite de la ligne prcdente en excutant lapplication Congestion ; envoier un signe doccupation lutilisateur. exten => i,n,Hangup() : suite de la ligne prcdente en excutant lapplication Hangup ; raccrocher et terminer la communication. exten => h,1,NoOp(Hanging up) : enclonchement de laction h ; raccrocher et terminer la communication ds que lutilisateur raccroche. Dans notre cas dutilisation on a cr un contexte local pour les utilisateur nomm [context local-uvt] : [context-local-uvt] : nom du context. exten => _4XX,1,Set(TIMEOUT(absolute)=60) : pour nimporte quel numros compos comportant 3 digits et commenant par le chiffre 4, dfinir en premier lieu le TIMEOUT(absolute)=60 la dur de sonnerie pendant le quel le tlphone de destinataire sonnera et si aucune rponse couper la communication. exten => _4XX,n,DIAL(SIP/${EXTEN}) : suite de la ligne prcdente qui permet de rechercher et appeler en utilisant lapplication DIAL un autre utilisateur local en utilisant le protocole SIP, la variable ${EXTEN} prendra la valeur du numros saisie par lappelant (400, 401, 402, ).
e) Configuration dun softphone et test dun appel local Divers SoftPhone sont disponible gratuitement, ces SoftPhone remplace dans notre cas les tlphones IP ou on va utiliser FREE ZOIPER : http://www.zoiper.com/download_intermediate.php?os=Windows&ap=z2&location=zoiper_f ree_2_installer_zip
Aprs avoir tlcharg et installer, on lance lapplication et ouvre le menu de configuration.
41
Figure 43 : Dmarrer Zoiper Dans la fentre Options, sous le menu SIP accounts, on clique sur Add new SIP account et on spcifie un nom au nouveau compte et on valide.
Figure 44 : Ajouter un nouveau compte SIP Ds la validation de lajout, une nouvelle fentre apparaitra avec les paramtres suivant : Domain : IP_Serveur_ASTERISK Username : Utilisateur Password : mot_de_passe Caller ID Name : Pas obligatoir vu quon a declare des Caller Id sur le serveur.
42
Figure 45 : Configuration du compte SIP Ds la validation, on remarque sur la fentre principale de Zoiper que le compte UVT Test Zoiper est enregistr sur le serveur et ds maintenant pour mettre et recevoir des appels.
Figure 46 : Etat du compte Uvt Test Zoiper sur Zoiper Sur la console sur serveur asterisk r , on peut vrifier letat de lutilisateur travers la commande sip show peer 401 .
43
Figure 47 : Etat du compte Uvt Test Zoiper sur le serveur Test de communication Cas correct Pour ce test on va configurer deux comptes SIP sur deux PC diffrents dont lun le 401 et lautre le 400 dans le mme contexte context-local-uvt . Le 400 appel le 401, ce dernier reoit un appel avec le Caller Id dclar pour lutilisateur 401 Standard UVT <400> .
44
Figure 49 : Acheminement d'un Appel Cas numros erron Dans ce cas, lutilisateur demande de joindre linterlocuteur 600 dont on na pas dclarer les actions effectuer lors de la rception dun nombre commenant par 6.
45
Figure 51 : Reject d'un appel erron Cas du contexte DEFAULT Dans ce test, on attribut lutilisateur 402 le contexte DEFAULT qui bloque tout appel. Lutilisateur 402 appel lextension 400 qui existe et prt recevoir des appels, ci-dessous le rsultat.
46
a) Principe de fonctionnement Linterconnexion de deux serveurs Asterisk se base sur la notion de Trunk en utilisant le protocole SIP ou IAX.
Chaque protocole a ses avantages, dans le cas dune interconnexion sur un rseaux haut dbit comme le cas dun rseau local 10/100/1000 Mb on utilise le protocole SIP pour une trs haute qualit de communication et dans le cas dun rseaux faible dbit comme le cas dune connexion Internet ADSL, on utilise le protocole IAX pour pouvoir bnficier dune bonne qualit de communication et gagner en consommation de bande passante. Pour les deux protocoles, il existe divers codecs de compression avec une bande passante de 64K jusquau 8K. Codec Dbit utile par communication G711a 64 Kb/s G726-32 32 Kb/s G726-24 24 Kb/s G726-16 16 Kb/s Ilbc 15,2 Kb/s Gsm 13 Kb/s G729 8 Kb/s G723 6,3 Kb/S Figure 54 : Liste des codecs Dans notre cas, on va utilis le protocole IAX Inter-Asterisk eXchange qui est un protocole propre Asterisk et trs efficace pour les Trunks.
47
b) Configuration dun trunk IAX entre deux serveurs Linterconnexion entre serveurs Asterisk se base sur le fait que chaque serveur donne lautre la possibilit de sauthentifier avec un croisement entre les deux serveurs et acceptation dauthentifier un utilisateur qui aura des droits dexcuter des commande dans un contexte.
La mise en uvre seffectue sur deux tapes : * Cration des utilisateurs IAX sur les deux serveurs : Comme le cas du SIP, lIAX se base sur son propre fichier de configuration /etc/asterisk/iax.conf qui comprend deux grandes parties (gnrale et dclaration des comptes utilisateurs IAX). [general] : nom de la section gnrale. register => uvt:secret@192.168.251.50 : chane denregistrement du trunk du serveur UVT vers le serveur CS. register => utilisateur :password@adresse_ip_serveur_distant [cs] : nom de lutilisateur. username=uvt : utilisateur pour lacheminement des appels. secret=secret : mot de pass. type=friend : ici le type friend pour mettre et recevoir des appels. host=dynamic : accepter toute addresse ip lors de lauthentification. qualify=yes : verifier ltat de la connexion IAX. usercontext=from-cs : contexte dauthentifaication. context=from-cs : context local. deny=0.0.0.0/0.0.0.0 : interdire toute connexion. permit=192.168.251.50/255.255.255.255 : accepte toute connexion seulement de cette addresse Ip. Ces deux configuration sont duplique sur les deux serveurs Asterisk en croisement.
48
Figure 56 : Serveur CS
c) Routage des communications entre les deux serveurs : Le routage des communications se base comme mention en avant sur le fichier /etc/asterisk/extensions.conf, dont la dclaration seffectue au sein du contexte de lutilisateur pour lui permettre dmettre des appels vers le second serveur. Et mme si cette configuration a t effectue, par default le serveur naccepte pas connexion venant dautre serveur car larriv il doit connaitre le contexte de la connexion entrante, cest pour ca quil faut faire aprouver ces contextes et leur donner des droits dexcution au sein du serveur analoge aux utilisateurs locaux. Pour ce fait, on dclare les contextes distants dans le fichier extensions.conf et pour ne pas recrire toute un plan de numrotation on peut faire appel un contexte local en utilisant la commande INCLUDE.
Dans notre cas, on a mis en place deux serveurs comportant la configuration suivant : Adresse IP Utilisateur Contexte local Contexte distant Serveur UVT 192.168.251.40 400, 401, 402 Context-local-uvt From-uvt Serveur CS 192.168.251.50 500, 501, 502 Context-local-cs From-cs
49
Sur chaque serveur local on autorise le contexte distant excuter le contexte local pour pouvoir joindre le destinataire. [from-cs] : nom du contexte distant. include => context-local-uvt : lors de la reception dune communication route dun autre serveur avec le contexte FRM-CS, on incluse avec laide de la commande INCLUDE le contexte local qui est le seul qui donne la possibilit de joindre un utilisateur et cela pour ne pas reproduire tout les commandes du contexte local. En deuxime lieu on indique le chemin suivre pour joindre un utilisateur distant, dans le cas de lutilisateur 401 de lUVT qui veux joindre lutilisateur 502 du CS, le serveur va suivre le trunk cs en utilisant le protocole IAX.
51
a)
Principe de fonctionnement LIVR est un ensemble de commandes intelligentes permettant un change continu entre le serveur et lutilisateur ou lappelant, cet change est renforc par des commandes externe Asterisk comme les commandes systme ou autre application.
Dans notre cas, cest la mise en place dun IVR pour la consultation des tats des dossiers et diplmes stocks dans une base de donnes MySql pour les tudiants de lUVT.
Figure 59 : Principe de fonctionnement b) Mise en place de la base de donnes Cette base de donnes va recueillir les principales informations relatives et ncessaires pour la rcupration des informations et les annoncer automatiquement lappelant. Pour la cration on utilise linterface web de PhpMyAdmin ; un outil de gestion du serveur MySql.
52
Figure 61 : Cration de la table diplme La table diplome contiendra 5 champs : id : id de la ligne insrer dans la base de donnes. nom : nom de ltudiant. prenom : prnom de ltudiant. cin : Numros de la carte didentit nationale qui sera la liaison entre ltudiant, lIVR et la base de donnes. etat_diplome : cest une valeur de 0 si le diplme nest pas encore prt et prendra la valeur 1 si le diplme est disponible. Cette table sera alimente par deux exemples pour pouvoir identifier ltudiant et rcuprer son tat de diplme.
Note : La modlisation de donnes de tous les services de lUVT na pas t aborde dans ce projet, le cas e consultation de diplme est utilis comme exemple pour tester le rpondeur interactif.
53
54
Ce diagramme reprsente lacheminement dun appel selon les saisies fournit par lappelent jusquau lannonce du rsultat. Cette structure est reproduite dans le fichier de configuration /etc/asterisk/extensions.conf sous forme daction excuter selon ltape atteinte. Dans notre cas on a divis cet IVR en deux grandes partie ; premire partie contiendra lacceuil et un menu de choix ivr_bien_venu , la seconde contiendra les divers menu consultaion_diplome, consultation_dossier . Acceuil : [ivr_bien_venu] : nom du menu principal. exten => s,1,Set(TIMEOUT(digit)=3) : dfinir le dlais dattente de saisie dun choix. exten => s,n,Background(uvt/bien_venu) : lecture dun enregistrement vocal en arrire plan, cet lecture peut tre interrompu ds la saisie dun choix. exten => s,n,WaitExten : attente du saisie dun choix.
Choix du service : exten => 1,1,Goto(consultation_dossier,s,1) : lors le saisie du digit 1, lappelant sera orient vers le menu/application du consultation des dossiers. exten => 2,1,Goto(consultation_diplome,s,1) : lors le saisie du digit 2, lappelant sera orient vers le menu/application du consultation des diplomes. exten => 9,1,DIAL(SIP/400) : lors le saisie du digit 9, lappelant peut joindre le standard. exten => *,1,Hangup : lors le saisie du digit *, fin de communication. exten => i,1,Playback(pbx-invalid) : lors le saisie de nimporte quel autre digit, lappelant recevra un disque que la saisie est invalide. exten => i,n,Goto(ivr_bien_venu,s,1) : suite de la ligne prcdente qui va renvoyer lappelant vers le dbut de ce menu. exten => t,1,Goto(ivr_bien_venu,s,1) : si le temps dattente de saisie est dpass, lappelant est renvoy vers le dbut de ce menu.
Service de consultation de dossier : exten => s,1, Playback (uvt/cin) : lecture dun enregistrement vocal, dans ce cas la lecture ne peut pas tre interrompue contrairement la fonction Background.
55
exten => s,n,Read(CIN,,8,,,) : la fonction Read permet de lire les infos saisies par lappelant, dans notre cas on va lire les digits saisies jusquau 8 digits vu que la CIN contiens 8 chiffres.
exten => s,n,MYSQL(Connect con ${srv_mysql} ${srv_user} ${srv_password} ${srv_base}) : connexion a la base de donnes en utilisant les variables dclares dans la section [global]. exten => s,n,MYSQL(Query result ${con} SELECT\ etat_diplome\ from\ diplome\ where\ cin=${CIN}) : selectionner lentr contenant le champ cin gale la valeur de cin saisie par lappelant. exten => s,n,MYSQL(Fetch fetchid ${result} etat) : rcupration de la valeur de ltat diplme. exten => s,n,MYSQL(Clear ${result}) : vidage des variables. exten => s,n,MYSQL(Disconnect ${con}) : dconnexion de la base de donne.
exten => s,n,GoToIf($["${etat}" = "1"]?consultation_diplome,p,1) : si la valeur rcupre est gale 1, le diplme est prt et on oriente lappelant vers laction p avec la priorit 1 dans ce menu. exten => s,n,GoToIf($["${etat}" = "0"]?consultation_diplome,n,1) : si la valeur rcupre est gale 0, le diplme nest pas prt et on oriente lappelant vers laction n avec la priorit 1 dans ce menu. exten => s,n,GoToIf($["${etat}" = ""]?consultation_diplome,r,1) : si aucun rsultat nest rcupr on oriente lappelant vers laction p avec la priorit 1 dans ce menu.
exten => p,1,Playback(uvt/dip_pret) : lecture dun enregistrement indiquant que le diplme est prt et au choix de choisir un autre service. exten => p,n,WaitExten : suite de la ligne prcdente et en attente dun digit de la part de lappelant.
exten => n,1,Playback(uvt/dip_n_pret) : lecture dun enregistrement indiquant que le diplme n est pas prt et au choix de choisir un autre service. exten => n,n,WaitExten : suite de la ligne prcdente et en attente dun digit de la part de lappelant.
56
exten => r,1,Playback(uvt/recomp_cin) : aucun enregistrement dans la base de donne portant le CIN saisi par lappelant et demande de ressaisir un CIN valide. exten => r,2,GoTo(consultation_diplome,s,2) : suite de la ligne prcdant et orientation de lappelant vers la ligne 2 de ce menu pour saisir un CIN. exten => 0,1,GoTo(ivr_bien_venu,s,1) : si lappelant saisi le digit 0, il est renvoy vers le dbut de lIVR.
d) Simulation de lIVR Pour tester cet IVR, on va dclarer un numro dappel interne sous le contexte context-localuvt dans le fichier /etc/asterisk/extensions.conf qui redirige lappel vers notre IVR. exten => 71583633,1,Goto(ivr_bien_venu,s,1)
57
58
Conclusion
La VoIP est une technologie mergente qui tente plusieurs entreprises pour lexploiter vu les avantages quelle prsente. En Tunisie, cette technologie nest pas encore trs bien dveloppe vu labsence des fournisseurs de VoIP. Cependant, il est possible de dployer quelques applications de cette technologie au sein des entreprises multi-sites ce qui permettra de migrer les communications du rseau RTC vers le rseau IP. Dans ce contexte, nous avons mis en place une solution qui permet dinterconnecter deux sites distants via le logiciel IPBX open source Astrisk ,et en utilisant les options de ce logiciel on a pu mettre en place galement un rpondeur tlphonique interactif qui sera d un grand aide dans le service scolarit de lUVT en se basant essentiellement sur lIvr de lAsterisk. La solution dploye a t test sur un rseau local, la performance dune solution VoIP dpend de plusieurs facteurs, principalement de : La bande passante : la bande passante doit tre suffisante pour vhiculer un nombre important de communications. De ce fait, un bon dimensionnement de la bande passante sera ncessaire pour pouvoir vhiculer un grand nombre de communications simultanes tout en assurant une bonne qualit de son. Le codec utilis : le choix du codec pour la VoIP est primordial. Il sagit, en effet, de trouver un compromis entre la qualit du son et la consommation de la bande passante parce quun codec performant de point de vue qualit de son est gourmand en terme de bande passante. La capacit de la machine sur laquelle on a install Asterisk puisque la performance de ce logiciel est lie la configuration matrielle du pc (RAM, vitesse, CPU, etc) Cest pourquoi une tude plus dtaille sera faite fin dappliquer cette solution au sein de lUniversit Virtuelle de Tunis sur le plan technique (besoins matriels) ,administratifs(consultation des diffrent services pour les besoins concernat le rpondeur), et budgtaires(tude de projet avec le service financier de lUniversit).
59
Bibliographie
www.asterisk.org www.digium.com http://www.voip-info.org/wiki/view/Asterisk+installation+tips http://www.asteriskguru.com/ Asterisk The future of Telephony 2nd Edition Asterisk 1.4
60
FIGURE 48 : RECEPTION D'APPEL............................................................................................................................ 44 FIGURE 49 : ACHEMINEMENT D'UN APPEL ............................................................................................................. 45 FIGURE 50 : CAS D'UN NUMERO ERRONE ................................................................................................................ 45 FIGURE 51 : REJECT D'UN APPEL ERRONE ............................................................................................................... 46 FIGURE 52 : CAS DU CONTEXTE DEFAULT ........................................................................................................... 46 FIGURE 53 : RACCROCHAGE AUTOMATIQUE - CONTEXTE DEFAULT ................................................................. 47 FIGURE 54 : LISTE DES CODECS .............................................................................................................................. 47 FIGURE 55 : SERVEUR UVT ................................................................................................................................... 49 FIGURE 56 : SERVEUR CS....................................................................................................................................... 49 FIGURE 57 : ROUTAGE INTER A STERISK ................................................................................................................ 50 FIGURE 58 : ACHEMINEMENT INTER ASTERISK ...................................................................................................... 51 FIGURE 59 : PRINCIPE DE FONCTIONNEMENT ......................................................................................................... 52 FIGURE 60 : CREATION DE LA BASE DE DONNEES UVT .......................................................................................... 52 FIGURE 61 : CREATION DE LA TABLE DIPLOME....................................................................................................... 53 FIGURE 62 : CREATION DES CHAMPS ...................................................................................................................... 54 FIGURE 63 : ORGANIGRAMME D'IVR ..................................................................................................................... 54 FIGURE 64 : CONFIGURATION IVR ......................................................................................................................... 57 FIGURE 65 : MENU DE BIEN VENU .......................................................................................................................... 58 FIGURE 66 : DEMANDE DE SAISIR LE CIN .............................................................................................................. 58 FIGURE 67 : CAS D'UN CIN INEXISTANT ................................................................................................................. 58
62