cedricscha
08/09/2010, 10h08
Voici un bout de code pour pouvoir mettre comme fonctionnalité sur vos asterisk une activation et désactivation d'un répondeur sur vos ligne.
A adapter bien sur à vos configuration
Code à mettre dans votre extensions.conf :
[repondeur]
;Description du BLF
exten => **24**,hint,Custom:Repondeur
;Reponds à l appel
exten => **24**,1,Answer()
;Controle si le repondeur est activé ou non
exten => **24**,n,GotoIf($[${DB(Repondeur/Etat) = 1]?Actif:PasActif)
exten => **24**,n,Hangup()
;Si le répondeur est actif on le desactive
exten => **24**,n(Actif),Set(DB(Repondeur/Etat)=0)
;on joue un message pour dire qu'il est desactive
exten => **24**,n,Playback(Repondeur_desactive)
;on met la led de signalisation à off
exten => **24**,n,Set(DEVICE_STATE(Custom:Repondeur)=NOT_IN USE)
exten => **24**,n,Hangup()
;Si le répondeur est desactive on l active
exten => **24**,n(PasActif),Set(DB(Repondeur/Etat)=1)
;on joue un message pour confirmer que le repondeur est actif
exten => **24**,n,Playback(Repondeur_actif)
;on allume la led
exten => **24**,n,Set(DEVICE_STATE(Custom:Repondeur)=BUSY)
exten => **24**,n,Hangup()
;Controle de l etat de votre repondeur
exten => 24,1,GotoIf($[${DB(Repondeur/Etat)} = 1]?Actif:PasActif)
exten => 24,n(PasActif),Return()
;Repondeur
exten => 24,n(Actif),NoOp(Redirection Repondeur)
exten => 24,n,..... ; Votre redirection sur le répondeur, messages ......
exten => 24,n,Hangup()
A mettre à l'entrée de vos appels et a adapter selon votre configuration :
exten => s,1,Gosub(repondeur,24,1)
exten => s,n,..... ;Votre traitement d'appel si le répondeur n'est pas active
Dans votre contexte du téléphone, ne pas oublié de rajouter un :
include => repondeur
afin de pouvoir bénéficier de cette fonctionnalité.
et enfin de rajouter dans votre téléphone, selon l'exemple ci-dessus, un blf sur le numéro **24**
A adapter bien sur à vos configuration
Code à mettre dans votre extensions.conf :
[repondeur]
;Description du BLF
exten => **24**,hint,Custom:Repondeur
;Reponds à l appel
exten => **24**,1,Answer()
;Controle si le repondeur est activé ou non
exten => **24**,n,GotoIf($[${DB(Repondeur/Etat) = 1]?Actif:PasActif)
exten => **24**,n,Hangup()
;Si le répondeur est actif on le desactive
exten => **24**,n(Actif),Set(DB(Repondeur/Etat)=0)
;on joue un message pour dire qu'il est desactive
exten => **24**,n,Playback(Repondeur_desactive)
;on met la led de signalisation à off
exten => **24**,n,Set(DEVICE_STATE(Custom:Repondeur)=NOT_IN USE)
exten => **24**,n,Hangup()
;Si le répondeur est desactive on l active
exten => **24**,n(PasActif),Set(DB(Repondeur/Etat)=1)
;on joue un message pour confirmer que le repondeur est actif
exten => **24**,n,Playback(Repondeur_actif)
;on allume la led
exten => **24**,n,Set(DEVICE_STATE(Custom:Repondeur)=BUSY)
exten => **24**,n,Hangup()
;Controle de l etat de votre repondeur
exten => 24,1,GotoIf($[${DB(Repondeur/Etat)} = 1]?Actif:PasActif)
exten => 24,n(PasActif),Return()
;Repondeur
exten => 24,n(Actif),NoOp(Redirection Repondeur)
exten => 24,n,..... ; Votre redirection sur le répondeur, messages ......
exten => 24,n,Hangup()
A mettre à l'entrée de vos appels et a adapter selon votre configuration :
exten => s,1,Gosub(repondeur,24,1)
exten => s,n,..... ;Votre traitement d'appel si le répondeur n'est pas active
Dans votre contexte du téléphone, ne pas oublié de rajouter un :
include => repondeur
afin de pouvoir bénéficier de cette fonctionnalité.
et enfin de rajouter dans votre téléphone, selon l'exemple ci-dessus, un blf sur le numéro **24**