Code HTML:
[general] ; option de protection du dialplan
static=yes ; dialplan statique
writeprotect=yes ; on ne peut modifier le dialplan via le CLI d'asterisk
clearglobals=yes ; on recalcule les variables globales a chaque redemarrage d'asterisk
exten => _11.,1,Pickup(${EXTEN:3})
[globals]
;variables globales (ne pas modifier)
DYNAMIC_FEATURES => automon
SALLEINFORMATIQUE=SIP/11
SALLEDESPORT=SIP/12
CHAMBREDEINVITE=SIP/13
CUISINEDETE=SIP/14
LEASEINFO=SIP/15
MADEFORDANCE=SIP/16
[maison]
;[fromfree] ; on declare le contexte de reception d'appels depuis freephonie (redirection vers le menu interactif)
exten => s,1,Goto(accueil,666,1)
; Horloge parlante
exten = 102,1,Answer
exten = 102,2,SayUnixTime(,CET,kM)
exten = 102,3,Hangup
[default]
;section des parametres par defaut.
include => parkedcalls
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;
;Configuration du menu interactif
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;
[accueil] ; définition d’un contexte pour l’accueil
exten => s,1,Answer()
exten => s,n,Background(${sounds_path}accueil)
exten => s,n,WaitExten(10)
;on definit la redirection vers le bon contexte
exten => 1,1,Goto(cimedia,777,1)
exten => 2,1,Goto(leaseinfo,888,1)
exten => 3,1,Goto(madefordance,999,1)
;En cas de mauvaise saisie
exten => i,1,Playback(${sounds_path}agent-incorrect)
exten => i,n,Goto(accueil,666,1)
;En cas de timeout
exten => t,1,Playback(${sounds_path}vm-goodbye)
exten => t,n,Hangup()
[cimedia] ; menu interactif cimedia
exten => 777,1,Background(${sounds_path}menu_ci)
exten => 777,n,WaitExten(10)
;Si l'appelant à séelectionne un bon choix ds le menu on fait sonner le softphone correspondant
exten => 1,1,Dial(${DIRECTION}, 30, wW)
exten => 1,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 1,n(unavail),Voicemail(10,u)
exten => 1,n,Hangup()
exten => 1,n(busy),VoiceMail(10,b)
exten => 1,n,Hangup()
exten => 2,1,Dial(${COMMERCIAL}, 30, wW)
exten => 2,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 2,n(unavail),Voicemail(11,u)
exten => 2,n,Hangup()
exten => 2,n(busy),VoiceMail(11,b)
exten => 2,n,Hangup()
exten => 3,1,Dial(${SAV}, 30, wW)
exten => 3,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 3,n(unavail),Voicemail(12,u)
exten => 3,n,Hangup()
exten => 3,n(busy),VoiceMail(12,b)
exten => 3,n,Hangup()
exten => 4,1,Dial(${TECHNIQUE}, 30, wW)
exten => 4,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 4,n(unavail),Voicemail(13,u)
exten => 4,n,Hangup()
exten => 4,n(busy),VoiceMail(13,b)
exten => 4,n,Hangup()
;Si mauvaise saisie
exten => i,1,Playback(${sounds_path}agent-incorrect)
exten => i,n,Goto(cimedia,777,1)
;Si Timeout
exten => t,1,Playback(${sounds_path}vm-goodbye)
exten => t,n,Hangup()
[leaseinfo] ; menu interactif leaseinfo
;exten => 888,1,Background(${sounds_path}menu_ci)
;exten => 888,n,WaitExten(10)
;Si l'appelant à séelectionne un bon choix ds le menu on fait sonner le softphone correspondant
exten => 888,1,Dial(${DIRECTION}, 30, wW)
exten => 888,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 888,n(unavail),Voicemail(10,u)
exten => 888,n,Hangup()
exten => 888,n(busy),VoiceMail(10,b)
exten => 888,n,Hangup()
;Si mauvaise saisie
exten => i,1,Playback(${sounds_path}agent-incorrect)
exten => i,n,Goto(leaseinfo,888,1)
;Si Timeout
exten => t,1,Playback(${sounds_path}vm-goodbye)
exten => t,n,Hangup()
[madefordance] ; menu interactif ent3
;exten => 999,1,Background(${sounds_path}menu_ci)
;exten => 999,n,WaitExten(10)
;Si l'appelant à séelectionne un bon choix ds le menu on fait sonner le softphone correspondant
exten => 999,1,Dial(${MADEFORDANCE}, 30, wW)
exten => 999,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 999,n(unavail),Voicemail(15,u)
exten => 999,n,Hangup()
exten => 999,n(busy),VoiceMail(15,b)
exten => 999,n,Hangup()
;Si mauvaise saisie
exten => i,1,Playback(${sounds_path}agent-incorrect)
exten => i,n,Goto(madefordance,999,1)
;Si Timeout
exten => t,1,Playback(${sounds_path}vm-goodbye)
exten => t,n,Hangup()
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;
;Configuration des comptes locaux
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;
[rdc] ; on declare le contexte local qu'on a specifie dans le sip.conf
; numeros "locaux"
exten => 11,1,Dial(${COMMERCIAL}, 30, wW) ; quand on compose le 11, le softphone branché sur le lien "cCOMMERCIAL" sonnera
exten => 11,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 11,n(unavail),Voicemail(11,u)
exten => 11,n,Hangup()
exten => 11,n(busy),VoiceMail(11,b)
exten => 11,n,Hangup()
exten => 12,1,Dial(${SAV}, 30, wW) ; quand on compose le 12, le softphone branché sur le lien "cSAV" sonnera
exten => 12,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 12,n(unavail),Voicemail(12,u)
exten => 12,n,Hangup()
exten => 12,n(busy),VoiceMail(12,b)
exten => 12,n,Hangup()
exten => 13,1,Dial(${TECHNIQUE}, 30, wW) ; quand on compose le 13, le softphone branché sur le lien "pTECHNIQUE" sonnera
exten => 13,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 13,n(unavail),Voicemail(13,u)
exten => 13,n,Hangup()
exten => 13,n(busy),VoiceMail(13,b)
exten => 13,n,Hangup()
exten => 14,1,Dial(${COMPTA}, 30, wW) ; quand on compose le 14, le softphone branché sur le lien "pCOMPTA" sonnera
exten => 14,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 14,n(unavail),Voicemail(14,u)
exten => 14,n,Hangup()
exten => 14,n(busy),VoiceMail(14,b)
exten => 14,n,Hangup()
exten => 15,1,Dial(${LEASEINFO}, 30, wW) ; quand on compose le 15, le softphone branché sur le lien ""LEASEINFO" sonnera
exten => 15,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 15,n(unavail),Voicemail(15,u)
exten => 15,n,Hangup()
exten => 15,n(busy),VoiceMail(15,b)
exten => 15,n,Hangup()
exten => 16,1,Dial(${MADEFORDANCE}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 16,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 16,n(unavail),Voicemail(16,u)
exten => 16,n,Hangup()
exten => 16,n(busy),VoiceMail(16,b)
exten => 16,n,Hangup()
;Extension pour appeler directement le repondeur
exten => 700,1,VoicemailMain()
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;
;Configuration des appels sortants
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;
; numeros externes
; quand on compose un numero qui commence par 0,on utilise le lien "freephonie"
;et on passe le numero au peer en otant le premier digit.
exten => _0.,1,Dial(SIP/freephonie_out/${EXTEN})
Merci.