All pastes #510 Raw Edit

schurig

public text v1 · immutable
#510 ·published 2004-08-08 16:30 UTC
rendered paste body
[macro-dial-std-exten]
;
; test for CFIM (Call Forwarding Immediate)
exten=s,1,DBget(temp=CFIM/${MACRO_EXTEN})
exten=s,2,Goto(default,${temp})

; no CFIM
exten=s,102,DBGet(temp=DND/${MACRO_EXTEN})
; no CFIM, DND set
exten=s,103,GotoIf($[${ARG2}vm = 1vm]?105:104)
; no CFIM, DND set, but no voicemaiL:
;TODO: set cause code
exten=s,104,Hangup
; no CFIM, DND set, voicemail set:
exten=s,105,Macro(voicemail,u${MACRO_EXTEN})
exten=s,106,Hangup

; no CFIM, no DND
exten=s,203,DBGet(dsec=DSEC/${MACRO_EXTEN})
exten=s,204,NoOp
exten=s,205,DBGet(dopt=DOPT/{MACRO_EXTEN})
exten=s,206,NoOp
exten=s,207,Dial(${ARG1},${dsec},${dopt})
; Dial result Dial Timeout
exten=s,208,SetVar(vmopt=u)
exten=s,209,Noop

exten=s,210,DBGet(temp=CFBS/${MACRO_EXTEN})
exten=s,211,Goto(default,${temp})

; no CFIM, no DND, no DSEC (Dial Seconds)
exten=s,304,SetVar(dsec=5)
exten=s,305,Goto(205)
; no CFIM, no DND, no DOPT (Dial Options)
exten=s,306,SetVar(dopt=Ttr)
exten=s,307,Goto(207)

; Dial result was Unavailable
exten=s,308,SetVar(vmopt=b)
exten=s,309,Noop
exten=s,310,Goto(210)

; it was busy, CFBS not set
exten=s,311,GotoIf($[${ARG2}vm = 1vm]?313:312)
exten=s,312,Hangup
exten=s,313,Macro(voicemail,${vmopt}${MACRO_EXTEN})

;
; format: Macro(voicemail,<VoiceMail2 arguments>)
;
[macro-voicemail]
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,VoiceMail2(${ARG1})