Category Archives: Asterisk

Exemple de la fonction Authenticate() sous Asterisk

Sous Asterisk, si vous avez besoin d’effectuer une authentification par code, une fonction toute prête nommée « Authenticate() » peut être utilisée. Cette dernière demande le code afin de pouvoir poursuivre l’exécution de la prochaine priorité. Trois chances sont laissées et si au bout de la troisième le code n’est pas bon, Asterisk mets fin à la communication. Cette fonction est utilisable suivant ce schéma : Authenticate(password[,options[,maxdigits]]).  (je vous laisse voir la doc pour les différentes options)

Une mise en pratique simple de cette fonction ci-dessous :

exten => 988,1,Answer()
exten => 988,n,Authenticate(1234,,4)
exten => 988,n,Background(vm-enter-num-to-call)
exten => 988,n,Read(NUMBER,,10)
exten => 988,n,Set(DB(to_call/number_to_call)=${NUMBER}))
exten => 988,n,Background(vm-num-i-have)
exten => 988,n,SayDigits(${NUMBER})
exten => 988,n,Background(vm-dialout)
exten => 988,n,Dial(${NUMBER})
exten => 988,n,Hangup()

Dans cette fonction, l’appel du numéro 988 demandera le mot de passe à 4 chiffres (mot de passe : 1234) Si le code est bon, l’interlocuteur sera invité à entrer un numéro de téléphone à 10 chiffres maximum. Ce même numéro est enregistre dans la base de données AstDB et ensuite répéter pour le système. Enfin, la numérotation du numéro est effectuée.

Simple et pratique, ça peut servir…