Vous avez déja du, en appelant un service administratif ou le SAV d’un magasin,
Vous avez déja du, en appelant un service administratif ou le SAV d’un magasin, tomber sur une voix robotisé qui vous demandais de taper sur des touches de votre clavier téléphonique pour joindre un service spécifique? Vous trouvez ça énervant? Hé bien c’est ce que nous allons mettre en place dans ce tuto ! Qu’est-ce qu’un IVR? Un IVR (Interactive Voice Response) permet de guider les utilisateurs vers le service qu’ils souhaitent joindre, on peut s’en servir aussi pour simplement annoncer les horraires d’ouvertures etc… La mise en place d’un IVR va se faire en deux étapes, la première il faut que nous apprenons à Asterisk à nous parler, la seconde est la création de l’IVR. Comment faire parler Asterisk? Pour faire parler Asterisk, nous allons installer un moteur de synthèse vocale (Text To Speech) et nous allons mettre en place celui de Google appeléGoogleTTS. Installation de GoogleTTS Tout d’abord GoogleTTS à besoins de quelques dépendances pour fonctionner: apt-get install perl libwww-perl sox mpg123 Puis nous allons aller dans le dossier /var/lib/asterisk/agi-bin/ et y mettre le fichier googletts.agi qui est le script pour mettre en place la synthèse vocale. cd /var/lib/asterisk/agi-bin wget https://raw.github.com/zaf/asterisk-googletts/master/googletts.agi chmod +x googletts.agi Et voila googletts est installé, maintenant voyons comment le faire parler. Les premiers mots d’Asterisk La configuration des IVR se fait dans le fichier extensions.conf Ouvrez votre fichier extensions.conf et copiez les lignes suivantes à la fin du fichier ;Premier IVR exten => 8000,1,Answer() exten => 8000,2,agi(googletts.agi,"Par Toutatix je parle !",fr) exten => 8000,3,Hangup() Explications: exten => 8000,1,Answer() : On crée l’extensions 8000 pour appeler l’IVR et on utilise l’application Answer() pour que ça soit Asterisk qui réponde étant donné que ce n’est pas un utilisateur que l’on appele. exten => 8000,2,agi(googletts.agi, »Par Toutatix je parle ! »,fr) : Après avoir répondu on utilise donc googletts pour dire la phrase suivante : Par Toutatix je parle !, en spécifiant la langue de sortie (fr) exten => 8000,3,Hangup(): A la fin de la phrase Asterisk raccroche Maintenant faites un reload et appelez le 8000 à partir de n’importe quel utilisateur pour entendre Asterisk parler. Mettre en place un vrai IVR Maintenant nous allons mettre en place un véritable IVR qui va permettre d’appeler nos utilisateurs John et Albert. ;Second IVR ;Asterisk répond exten => 8001,1,Answer() ;On met un timeout de 10 secondes pour le choix du destinatire exten => 8001,2,Set(TIMEOUT(response)=10) ;On annonce les différents choix exten => 8001,3,agi(googletts.agi,"Bienvenues chez test point com!",fr,any) exten => 8001,4,agi(googletts.agi,"Qui souhaitez vous joindre?",fr,any) exten => 8001,5,agi(googletts.agi,"Pour John Doe tapez 1",fr,any) exten => 8001,6,agi(googletts.agi,"Pour Albert Dupont tapez 2",fr,any) exten => 8001,7,agi(googletts.agi,"Appuyez sur dièse si vous souhaitez réécouter ce message",fr,any) ;On attend que l'utilisateur appuis sur une touche exten => 8001,8,WaitExten() ;Si l'utilisateur appuis sur 1 on va à la priorité 1 du numéro 6001 exten => 1,1,Goto(6001,1) ;Si l'utilisateur appuis sur 1 on va à la priorité 1 du numéro 6002 exten => 2,1,Goto(6002,1) ;Si l'utilisateur tape un numéro compris entre 3 et 9 et # il retourne à l'étape 3 de l' exten => _[3-9#],1,Goto(8001,3) ;Si l'utilisateur ne fais rien il retourne à l'étape 3 de l'IVR au bout de 10 secondes. exten => t,1,Goto(8001,3) Et voila vous pouvez maintenant faire un reload et tester votre IVR. Rendre plus clair le fichier extensions.conf avec des Goto Nous pouvons rendre plus clair et lisible le fichier extensions.conf avec des Goto Voici par exemple la même déclaration des IVR dans le fichier extensions.conf mais avec des Goto ;extensions des IVR exten => 8000,1,Goto(first-ivr,s,1) exten => 8001,1,Goto(second-ivr,s,1) ;Contexte first-ivr [first-ivr] ;Premier IVR exten => s,1,Answer() exten => s,2,agi(googletts.agi,"Par Toutatix je parle !",fr) exten => s,3,Hangup() ;Contexte second-ivr [second-ivr] ;Second IVR exten => s,1,Answer() exten => s,2,Set(TIMEOUT(response)=10) exten => s,3,agi(googletts.agi,"Bienvenus chez test point com!",fr,any) exten => s,4,agi(googletts.agi,"Qui souhaitez vous joindre?",fr,any) exten => s,5,agi(googletts.agi,"Pour John Doe tapez 1",fr,any) exten => s,6,agi(googletts.agi,"Pour Albert Dupont tapez 2",fr,any) exten => s,7,agi(googletts.agi,"Appuyez sur dièse si vous souhaitez réécouter ce message",fr,any) exten => s,8,WaitExten() exten => 1,1,Goto(work,6001,1) exten => 2,1,Goto(work,6002,1) exten => _[3-9#],1,Goto(second-ivr,s,3) exten => t,1,Goto(second-ivr,s,3) Je vous laisse découvrir les différents changements par vous mêmes. uploads/s1/ ivr-asterisk.pdf
Documents similaires










-
41
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 21, 2021
- Catégorie Administration
- Langue French
- Taille du fichier 0.1893MB