Vous êtes sur la page 1sur 21

GROUPE :

CISSE Mame Siny DJOMATIN A. Komlan GNANG Essoyomewe GUEYE Ndye Fatou HAMID Arim Akori Formateur : James TAMGNO

PROMOTION IGTT2 2011

PLAN Introduction Premire partie : introduction a la ToIP 1. Principes de la ToIP 2. Enjeux et motivations Deuxime partie : prsentation et configuration d Asterisk 1. 2. 3. 4. 5. Prsentation d Asterisk Les fonctionnalits d'asterisk Installation dAsterisk Configuration basic dAsterisk Les termimaux

Troisime partie : Mise en place du Serveur Vocal Interactif (SVI) 1. Plateforme de gestion transfert automatis des appels 2. Service oprations de banque Conclusion

INTRODUCTION La numrisation et linformatique sont de nos jours en grand essor, ce qui a conduit une importante volution au niveau des rseaux tlphoniques. Nous assistons une mise en place dapplications logicielles pour une meilleure gestion du flux des appels entrants et sortants. Le premier essai d'application des SVI a t ralis par IBM en 1972 pour le compte de la Banque Bred. L'introduction des SVI dans les entreprises s'est gnralise dans le milieu des annes 1980. Depuis 1991, les serveurs vocaux ne sont plus seulement prsents dans les grandes entreprises mais aussi dans les petites et moyennes entreprises qui sactivent dans les domaines de lartisanat et des services fournis aux particuliers. Le SVI a constitu une tape historique de l'volution des technologies informatiques et des tlcommunications, au sens o c'tait la premire fois que l'intgration des technologies informatiques et vocales, et des technologies tlphoniques au sein d'un unique quipement, dbouchait sur un vritable march d'quipements de tlcommunication. Le serveur vocal interactif constitue la premire tape dans l'volution du Couplage TlphonieInformatique (CTI).

1. Principe de la tlphonie sur IP La Voix sur IP (aussi appele tlphonie IP) est la possibilit de transporter les conversations tlphoniques dans des paquets IP. Par Voix sur IP nous dsignons tlphonie par Internet au sens large. Nous ne nous rfrons pas un mcanisme concret de transport de la voix sur Internet en particulier. Parmi ces mcanismes on peut distinguer deux catgories : systmes ferms / propritaires et ouverts / libres. Dans la premire catgorie nous trouvons le trs populaire Skype et le lgendaire protocole de CISCO, Skinny (SCCP). On numrise la voix, on la dcoupe en petits paquets qui seront transports sur le rseau local dune entreprise ou vers Internet. Les paquets sont rassembls larrive pour que le destinataire puisse entendre son interlocuteur de manire intelligible. Synoptique d'une architecture raccorde avec un PABX traditionnel

Ci-dessus, un synoptique d'une solution "ToIP" avec interconnexion avec un PBX existant et une liaison vers le rseau public partir de la passerelle (gateway) qui peut servir soit en permanence, soit dans certains cas (routage international ou oprateur diffrent du PBX). Dans notre cas cidessus, les composants sont : Un switch, Deux postes IP (Cisco 7960), Une application SoftPhone sur PC, Un routeur servant de passerelle vers le PBX et vers le PSTN, Un serveur de communications IP(le serveur peut tre intgr dans un seul et mme lment).

Les diffrents codecs et taux de compression Les codecs sont des chipsets qui font office de codeurs/dcodeurs. Certains terminaux IP-PHONES n'acceptent qu'une partie ou mme un seul codec, tout dpend du modle de terminal et du constructeur. Les principaux taux de compression de la voix sont les codecs officiels suivants : Codecs G.711 PCM G.726 AD PCM G.728 LD CELP G.729 CS ACELP G.729 x 2 Encodings G.729 x 3 Encoding G.723.1 MPMLQ Debits en Kbits/s 64 32 16 8 8 8 6.3

Les diffrents protocoles non propritaires sont les trois suivants : 1 - H323 Le protocole H323 est le plus connu et se base sur les travaux de la srie H.320 sur la visioconfrence sur RNIS. C'est une norme stabilise avec de trs nombreux produits sur le march (terminaux, gatekeeper, gateway, logiciels). Il existe actuellement 5 versions du protocole (V1 V5). Vous trouverez plus de renseignement sur H323 ici. 2 - SIP Le protocole SIP est natif du monde Internet (HTTP) et est un concurrent direct de l'H323. A l'heure actuelle, il est moins riche que H.323 au niveau des services offerts, mais il suscite actuellement un trs grand intrt dans la communaut Internet et tlcom. Vous trouverez plus de renseignement sur SIP ici. 3 - MGCP Le protocole MGCP est complmentaire H.323 ou SIP, et traite des problmes d'interconnexion avec le monde tlphonique (SS7, RI).

2. Les enjeux et motivations La tlphonie na jamais t une application simple. Les contraintes temps rel et de synchronisation psent lourdement sur sa mise en uvre, et la tlphonie par paquet ne fait que compliquer le transport. Cependant, plusieurs raisons expliquent le succs de la tlphonie par paquet, et plus spciquement de la tlphonie sur IP : Convergence : Quel que soit le type de donnes vhicules, le rseau est unique : Les ux de voix, de vido, de textes et dapplicatifs transitent sur le mme rseau. Les communications deviennent plus riches, et sans avoir besoin de multiplier les canaux de transport. Les utilisateurs peuvent, par exemple, envoyer un compte rendu dactivit en mme temps quils tlphonent leur correspondant. Pour les utilisateurs, la convivialit est accrue.

En entreprise, la productivit est amliore. Pour les administrateurs, un seul rseau est administrer, ce qui simplie grandement la gestion. Optimisation des ressources : Le rseau IP utilisant un transfert de paquets, lutilisation des ressources est optimise en comparaison des solutions de type commutation de circuits. Dans le rseau RTC, qui est commutation de circuits, des ressources sont ddies pour toute la dure de la communication, quelles soient utilises ou non. Or les trs nombreux silences dune conversation tlphonique rendent le dimensionnement du canal rserv systmatiquement trop grand. Pour que la voix supporte simultanment la superposition des deux paroles correspondant aux deux intervenants dune communication tlphonique (full-duplex), les rseaux RTC doivent allouer pour chaque intervenant des canaux diffrents, lun en mission, lautre en rception. Dans la pratique, lors dune conversation tlphonique, une seule personne ne parle en mme temps. Les ressources sont donc globalement gaspilles. Cest pourquoi la rservation effectue dans les rseaux RTC reprsente un cot nettement suprieur celui des rseaux IP. Cot de transport quasiment nul : Grce lintgration de la tlphonie parmi de nombreuses autres applications, le cot du transport devient pratiquement nul. Le rseau permettant deffectuer le transport est le rseau cur des oprateurs, celui qui effectue tous les transports de donnes. Ces oprateurs, qui taient auparavant obligs de maintenir au moins deux rseaux, celui de tlphonie et celui de donnes, nen ont plus quun seul maintenir. Lintgration supplmentaire de la tlvision dans le rseau de donnes fait galement chuter les cots de transport de cette application. Services exclusifs : Certains services sont propres aux rseaux IP. Par exemple, le service de prsence, consistant dtecter si un utilisateur est connect au rseau ou non, ne ncessite aucune rservation de ressources dans un rseau IP, la diffrence du rseau RTC. De faon analogue, pour le nomadisme des utilisateurs, il est plus simple de passer, partout dans le monde, par le rseau IP plutt que par le rseau RTC. Disparition des commutateurs locaux : Lie la prcdente, cette nouvelle donne rsulte de la possibilit de grer les tlphones depuis le rseau de loprateur. Des solutions intermdiaires, comme les PBX-IP, permettent de passer petit petit des circuits numriques aux liaisons paquet IP.

I.

PRESENTATION D'ASTERISK

Asterisk est un PABX open source dvelopp par Mark Spencer Offre une plate-forme personnalisable et modulable pour la mise en uvre de services de tlphonie Garantit une trs large interconnexion avec plusieurs serveurs PBX, mais aussi des rseaux de tlphonie non-IP (RTC, GSM..). Implmente des protocoles H.323, MGCP, SIP et IAX. extensible par des scripts ou des modules en Perl, en C, en Python, en PHPetc.

II.

LES FONCTIONNALITES D'ASTERISK

Les fonctionnalits dAsterisk sont multiples : Accs au systme direct Appels 3 directions Confrence audio Mise en attente Prdictif dappel Appel par le nom Authentification Base de donnes interne permettant lecture et criture Bureau distance (manager) Blocage par identifiants d'appelants (nom et numro) Conversion de protocoles Reconnaissance vocale Dpistage d'appels Dtection de parole E911 Enregistrement dappel ENUM Musique d'attente Musique dattente sur transferts d'appels Intgration flexible de la norme MP3 Lecture alatoire ou linaire Contrle du volume Passerelles VoIP Prpos automatique Prposs tlphonique locaux et distants Prise dappels distance Protocole OSP Rapports dtaill des appels (CDR) Rception dalertes au tlphone Recherche dextensions peler et dicter File dattente (queue) Gestion de cartes dappels Gestion de la confidentialit Heures et dates dappels Identification dappelants (callerid) Identification dappelants sur appels en attente Interception dappel (pickup) Insertion de messages vocaux dans courriels Intgration diffrents types de BDD (Dynamic Realtime et Static Realtime) Listes noires Ne pas dranger (DnD) Macros Menu numrique Messagerie SMS Stationnement (parking) Systme de menu lcran ADSI Systme de rponse automatis interactif (IVR) Transcodage Transferts dappels (aveugles et superviss) Transferts dappels lors de non-rponses Transferts dappels lorsque le canal est occup Transmission et rception de tlcopies: Dtection, envoi et rception de tlcopie/fax

Recherche de personnes Rpertoire tlphonique interactif Routage dappels (par appel, par appelant ) Sonneries distinctes (si support par les tlphones IP utiliss) Support DUNDI Surveillance

Des passerelles existent vers des solutions de fax connexes tels que Hylafax, Asterfax(fax vers email / email vers fax), Bakelite Messagerie vocale Indicateur visuel de message en attente Tonalit rythme pour indication de message Redirection des messages vocaux par courriel Gestion des groupes de boites de messages Interface Web pour gestion des messages

III.

INSTALLATION ET CONFIGURATION D'ASTERISK

Installation manuellement Tlcharger les paquets ncessaires Asterisk : Cur du logiciel, ce programme est le seul vritablement indispensable son fonctionnement. Il est donc indispensable de le tlcharger. Asterisk-addons: Ce paquetage comporte le code source du logiciel Asterisk, ainsi que plusieurs modules complmentaires qui peuvent se rvler utiles. Il est vivement recommand de linstaller. Asterisk-sounds: Ces modules sont fournis sur plusieurs fichiers de paquetage. Ils fournissent une quantit de sons qui peuvent tre utiliss dans des messages daccueil ou pour signaler lappelant diverses informations. Libiax: Cette bibliothque de codes source pour les communications utilisant le protocole IAX nest pas indispensable. Elle est surtout destine au dveloppement de clients IAX Libpri:. Cette bibliothque est utilise pour assurer linterface avec diffrents types de rseaux non IP Zaptel: Ce paquetage contient les pilotes permettant de prendre en charge les car tes dinterface avec les rseaux non-IP Une fois les tlchargements termins, on peut ouvrir un terminal, se placer lemplacement o les archives ont t tlcharges puis dcompresser et compiler avec les commandes suivantes : Dsarchivage Configuration Slection fonctionnalits Compilation Installation tar xvzf asterisk-1.X.tar.gz ./configure make menuselect make make install &&make samples

Cependant il faut respecter lordre dinstallation des composants. Si lon souhaite les utiliser, les modules Libpri et Zaptel doivent imprativement tre installs avant le serveur Asterisk. Le module Asterisk-addons peut tre install la fin.

Installation en utilisant un installeur de logiciel Linstalleur a lavantage dtre totalement automatis, et il vite de devoir dcompresser puis installer manuellement le logiciel. Nanmoins, il est propre une distribution particulire, ce qui implique de trouver linstalleur adquat. Ce dernier se prsente le plus souvent comme un fichier portant lextension .rpm pour les distributions Redhat et Mandriva ou .deb pour Debian. Toutefois la mthode prcdente reste quant elle indpendante de la distribution utilise. CONFIGURATION BASIQUE DASTERISK Cration de compte Le fichier sip.conf est le fichier de cration de comptes SIP. Chaque compte est imbriqu dans un bloque o sont numr tous les paramtres qui lui sont lis. Syntaxe gnrale [utilisateur1] type=friend/user/peer host=dynamic user=utilisateur1 secret=mysecret context=esmt mailbox=102 language=fr dtmfmode=rfc2833 nat=yes pickupgroup= 1

; dbut du bloc de cration de compte SIP. ; type de compte ; adresse IP adresse du serveur ( PABX ) ; nom dutilisateur ; mot de passe en clair ; contexte dans lequel le compte est associ. ; numro de la bote vocale associe. ; langue associ au compte ; ; activation du nat (Network adress translation) sur le rseau ; pour rcuprer l'appel d'un tlphone qui sonne depuis un autre poste

callerid= < Nom Prnom> XXX callgroup =1 ; pour attribuer un canal a tine ou plusieurs familles de poste

Gestion du routage des appels(Dial-plan) Le fichier extensions.conf permet de dfinir les rgles de routage. Dans ce fichier on dfinit les contextes et les plans de numrotation. Chaque extension a un plan de numrotation interne qui va tre interprt et achemin vers des liens physiques (IAX, SIP, ). La rponse est fournie sous forme de rgles qui sont structures et dont la syntaxe est dfinie par les quatre lments suivants : le contexte lidentifiant dextension la priorit lapplication

Syntaxe gnrale [contexte_1] exten => identifiant_dextension_1, priorit_1, application_1 exten => identifiant_dextension_2, priorit_2, application_2 exten => identifiant_dextension_3, priorit_3, application_3 [contexte_2] exten => identifiant_dextension_4, priorit_4, application_4

Mettre en place des boites vocales La configuration se fait au niveau du fichier voicemail.conf. La messagerie vocale est utilise pour laisser un message votre correspondant au cas o il n'est pas disponible Syntaxe: repondeur=motdepasse,nom[,email[,pager_email[,options]]] L'argument rpondeur est le numro de la boite vocale. L'argument motdepasse est le code que le propritaire de la boite vocale doit entrer pour accder ses messages. Si le mot de passe est prcd du signe moins ( - ), alors le propritaire de la boite vocale ne pourra pas le modifier. Les arguments email et pager_email sont les adresses e-mail auxquelles seront envoyes les notifications de nouveau message Exemple: 5000=>5008,martialDJO,martialdjo@esmt.sn,martialdjo@esmt.sn,attach=yes|serveremail=m ail.esmt.sn

Attribuer un utilisateur une boite vocale Linformation est ajouter dans le fichier compte de lutilisateur et dans le fichier extensions.conf grce la fonction VoiceMail() Exemple: Dans sip.conf on ajoute le paramtre mailbox=5000@esmt au compte de lutilisateur Dans extensions.conf voicemail(n_bote@context,options) o option peut tre gal u pour indisponible et b pour occup Exemple: exten => 1000,1,Dial(SIP/martial,40,tr) exten => 1000,2,voicemail(5000@esmt,u)

Consulter une boite vocale On utilise la fonction VoicemailMain() Syntaxe: VoiceMailMail(n_bote@context) Exemple: exten=>9000,1,voiceMailMain(${callerid(num)@esmt}) NB: les utilisateurs doivent avoir sur leur compte le paramtre callerid IV. LES TERMINAUX Les Softphones SIP: X-lite QuteCom Sipcommunicator Ekiga Polycom etc Les Softphones IAX: Iaxcomm Zoiper

Les Softphones H323: - Polycom - Ekiga - Ephony

Les Softphones SCCP(Cisco) ou UNISTIM (Nortel): IP Blue : vtgo (SCCP) 2050 IP Softphone (UNISTIM)

Les tlphones IP

Exemple de configuration de X-LITE Installer et excuter le logiciel

1. Plateforme de gestion transfert automatis des appels Cration des comptes dans le fichier sip.conf [902] type=friend context=ecole secret=902 host=dynamic username=902 disallow=all allow=ulaw allow=alaw allow=g723.1 allow=g729

[900] type=friend context=ecole secret=900 host=dynamic username=900 disallow=all allow=ulaw allow=alaw allow=g723.1 allow=g729

[901] type=friend context=ecole secret=901 host=dynamic username=901 disallow=all allow=ulaw allow=alaw allow=g723.1 allow=g729 [903] type=friend context=ecole secret=903 host=dynamic username=903 disallow=all allow=ulaw allow=alaw allow=g723.1 allow=g729

[904] type=friend context=ecole secret=904 host=dynamic username=904 disallow=all allow=ulaw allow=alaw allow=g723.1 allow=g729

Dans le fichier extensions.conf [ecole] exten=>100,1,Answer exten=>100,2,Background(/var/lib/asterisk/sounds/accueil) exten=>100,n,Goto(ecole,100,1) exten=>1,1,Goto(fafa,s,1) exten=>2,1,Goto(tonton,s,1) exten=>3,1,Goto(servicecti3,s,1) exten=>904,1,Dial(sip/904,tr) exten=>904,2,hangup exten=>602,1,VoicemailMain(602@vocale) exten=>900,1,wait(3) exten=>900,2,Record(/tmp/tonton.gsm) exten=>900,n,wait(3) exten=>900,1,Playback(/var/lib/asterisk/sounds/accueil) exten=>900,n,wait(3)

exten=>900,n,hangup() [fafa] exten=>s,1,Playback(/var/lib/asterisk/sounds/fafa) exten=>s,2,Goto(sip/902,10) [tonton] exten=>s,1,Playback(/var/lib/asterisk/sounds/tonton) exten=>s,2,Dial(sip/904,tr) [siny] exten=>s,1,Playback(/var/lib/asterisk/sounds/fafa) exten=>s,2,Goto(sip/902,10)

2. Service oprations de banque Consultation de compte bancaire par tlphone Pr requis Base de donnes MySQL Fonction CURL PHP Cration de la base de donnes CREATE TABLE IF NOT EXISTS `compte` ( `numcompte` int(11) NOT NULL AUTO_INCREMENT, `nom` varchar(30) DEFAULT NULL, `prenom` varchar(30) DEFAULT NULL, `tel` varchar(30) DEFAULT NULL, `solde` int(11) DEFAULT NULL, `code` int(11) DEFAULT NULL, PRIMARY KEY (`numcompte`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; --- Contenu de la table `compte` -INSERT INTO `compte` (`numcompte`, `nom`, `prenom`, `tel`, `solde`, `code`) VALUES (1, 'DJO', 'mart', '1020', 1996999, 1234), (2, AVEC', Simp', '1021', 250000, 2345), (3, NG, fafa', '1001', 25000, 3456), (4, 'CISSE', 'siny', '1000', 5000, 4567); (5, 'AKO', 'arim', '1004', 23000, 5678);

Dans le fichier extensions.conf on ajoute : Pour enregistrer les fichiers sonores

exten=>7000,1,Answer() exten=>7000,n,Record(banq.gsm) ;Bienvenu sahelbanque exten=>7000,n,Record(banq1.gsm) ;veuillez entrer votre code secret exten=>7000,n,Record(banq2.gsm) ;veuillez entrer le code du destinataire exten=>7000,n,Record(solde1.gsm) ;votre solde est de Consultation de compte exten=>8000,1,Playback(banq) exten=>8000,n,Read(secret,banq1,4,10) ;veuillez entrer votre code secret exten=>8000,n,Set(solde=${CURL(http://localhost/banque.php,code=${secret})}) exten=>8000,n,Playback(solde1) ;votre solde est de exten=>8000,n,SayNumber(${solde}) exten=>8000,n,Playback(vm-goodbye) Le fichier banque.php <?php $code=$_REQUEST['code']; mysql_connect("localhost","root", "passer"); mysql_select_db(banque); $a="select solde from compte where code='$code'"; $b=mysql_query($a); while($c=mysql_fetch_array($b)) { $d=$c['solde']; } echo $d; ?> Transfert d'argent exten=>8001,1,Playback(banq) exten=>8001,n,Read(numdest,banq2,4,30) ;veuillez entrer le code du destinataire exten=>8001,n,Read(montant,banq3,7,20) ;veuillez entrer le montant transfrer exten=>8001,n,Read(code,banq1,4,15) ;veuillez entrer votre code exten=>8001,n,Set(transfert=${CURL(http://localhost/transfert.php,numdest=${numdest}&montan t=${montant}&code=${code})}) exten=>8001,n,GotoIf($[${transfert}=ok]?8002,1:8003,1) ;test de vrification exten=>8002,1,PlayBack(transfertok) ;si le montant tranfrer est infrieur au solde alors:"le transfert a bien t effectu" exten=>8003,1,PlayBack(transfertko) ;si le montant tranfrer est suprieur au solde alors:"dsol cette opration ne peut pas tre effectue votre solde est insuffisant" le fichier transfert.php <?php //Rcuparation des donnes envoyes par asterisk

$code=$_REQUEST['code']; $montant=$_REQUEST['montant']; $numdest=$_REQUEST['numdest']; //Connexion la base de donnes mysql_connect("localhost","root","fantax"); //slection de la base de donnes banque mysql_select_db('banque'); //Vrification du solde de l'expditeur $a="select solde from compte where code='$code'"; $b=mysql_query($a); $c=mysql_fetch_array($b); $d=$c['solde']; if ($d>$montant) { $trans="update compte set solde=$d-$montant where code='$code'"; $trans1=mysql_query($trans); $soldedestinataire="select solde from compte where code='$numdest'"; $e=mysql_query($soldedestinataire); $f=mysql_fetch_array($e); $g=$f['solde']; $trans2="update compte set solde=$g+$montant where code='$numdest'"; $trans3=mysql_query($trans2); echo "ok"; } else echo "ko"; ?>

CONCLUSION Les serveurs vocaux apparaissent partout, conqurant aussi bien le monde professionnel que le grand public, simmisant dans nos divertissements, dans la formation, au travail, dans lassistance, etc.... Elles prsentent nanmoins quelques limites significatives actuellement. En effet il est trs difficile dcider la quantit (ou la qualit) dinformation dont des utilisateurs ont besoin. Trop peu d'information peut crer l'ambigut, les malentendus et le sentiment d'une approche plutt artificielle. Rciproquement, trop de dtails peuvent mener la confusion et l'utilisateur peut alors perdre le temps en essayant de corriger ses erreurs. Par consquent, une bonne application de voix reprsente un compromis quilibr qui vite trop ou peu d'informations.