ASTERISK – Configuration de l’ouverture du standard téléphonique

Vos bureaux sont généralement ouvert d’une certaine heure à une certaine heure. Cependant la configuration actuelle ne permet pas de couper les appels durant les horaires de pause déjeuner par exemple ou de fermeture de bureau. C’est la dernière étape à mettre en place avant de pouvoir faire la connexion avec l’extérieur. Prenons le cas suivant, vos bureaux sont ouverts de 8H à 12H30 et de 14H à 18H, il faut donc qu’en dehors de ces horaires, les téléphones ne sonnent pas et que les clients tombent directement sur la messagerie.

Pour se faire nous allons faire du code dans le fichier extensions.conf dans le contexte [IVR_FR]. Pour commencer nous allons rajouter le message vocal spécifiant que le bureau est fermé et l’utilisateur sera renvoyé vers une boite vocal pour laisser un message. Pour se faire rajouter les lignes suivantes après exten => 8001,12,WaitExten() :

exten => 8001,13,Goto(8001,4)

exten => 8001,14,agi(googletts.agi,"Bienvenue chez exemple.",fr,any,1.2)

exten => 8001,15,agi(googletts.agi,"Nos bureaux sont ouverts de huit heures à douze heures trente.",fr,any,1.3)

exten => 8001,16,agi(googletts.agi,"Et de quatorze heures à dix huit heures.",fr,any,1.3)

exten => 8001,17,agi(googletts.agi,"Merci de votre compréhension.",fr,any,1.3)

exten => 8001,18,Voicemail(101@Bureau_Interne)

Voilà comme vous pouvez le constater l’ordre de priorité des extensions et à la suite de celui de la ligne waitexten qui est de 12. Surtout pensez à bien les modifier car c’est la première erreur qui est la plus récurrente. Faite en sorte que tous vos ordres de priorité se suivent et que vous n’en aillez pas plusieurs identiques dans le même contexte. Bref, maintenant que nous avons notre joli message il faut maintenant pouvoir effectuer les tests d’heure pour savoir si on envoi l’utilisateur vers notre menu informatique ou le texte que nous venons d’ajouter. Ajoutez donc les ligne suivantes dans le contexte [IVR_FR] après la ligne exten => 8001,1,Answer() :

;On vérifie que les horaires sont bien compris dans les horaires d'ouverture du bureau

exten => 8001,2,GotoIfTime(8:00-12:30,mon-fri?IVR_FR,8001,4:IVR_FR,8001,3)

exten => 8001,3,GotoIfTime(14:00-18:00,mon-fri?IVR_FR,8001,4:IVR_FR,8001,13)

Lorsque vous ajoutez ces lignes, pensez à modifier tous les ordres de priorité des lignes inférieurs de telle sorte que vous vous retrouvez avec ceci :

Passons à l’explication. Les deux lignes que nous venons d’ajouter permettent de vérifier que nous sommes bien dans une plage horaire. La première vérifie que nous sommes bien entre 8H et 12H30, si c’est le cas on se rend directement à l’étape 4 du menu qui est le message de bienvenue avec les choix, sinon on passe à l’étape trois, qui elle vérifie si nous sommes bien entre 14H et 18H. Si c’est le cas on passe à l’étape 4 comme la précédente sinon on passe à l’étape 16 qui est le message comme quoi les bureaux sont fermés. Pour ceux qui s’y connaissent un peu en développement vous aurez remarqué que c’est une méthode ternaire. Le GotoIfTime marche de cette manière (plage horaires, jours de la semaine ? Opération si vraie : opération si faux). Voilà maintenant si vous voulez effectuer un test modifiez les horaires d’ouverture et fermeture du GotoIfTime pour que lorsque vous appelez vous ne rentrez pas dans la plage horaire et vous verrez que vous serez directement redirigé vers le message d’ouverture des bureaux. Bon bah la configuration est bientôt terminée il ne nous reste plus qu’à faire la configuration vers l’extérieur de notre réseau et la téléphonie IP avec le standard intégré sera opérationnel.

Leave a Reply

Your email address will not be published. Required fields are marked *