All pastes #34353 Raw Edit

Miscellany

public text v1 · immutable
#34353 ·published 2005-12-20 17:50 UTC
rendered paste body
Example stdexten

[macro-stdexten]

; Standard extension macro
; ${ARG1} - Voicemail box
; ${ARG2} - Device extension(s) to ring
; Usage
; in main context do exten => 1000,1,Macro(stdexten,1000,1000)
; I use variables defined in the globals section so it becomes
; exten => ${PHONE1},1,Macro(stdexten,${PHONE1},${PHONE1})
;
exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum

exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)

exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce

exten => s-BUSY,2,Goto(public,s,1) ; If they press #, return to start

exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce

exten => s-NOANSWER,2,Goto(public,s,1) ; If they press #, return to start

exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer 


OLD stdexten
[macro-stdexten]

exten => s,1,GotoIf($[${CALLERID(num)}=${ARG2}]?s|500:2)
exten => s,2,Dial(${ARG1},15)
exten => s,3,gotoif($[${ARG2}=NONE]?s|5:4)
exten => s,4,Voicemail(u${ARG2})
exten => s,5,Hangup
exten => s,102,gotoif($[${ARG2}=NONE]?s|104:2)
exten => s,103,Voicemail(u${ARG2})
exten => s,104,Hangup
exten => s,500,VoicemailMain(${CALLERID(num)})
exten => s,501,Hangup

New stdexten
[macro-stdexten]

exten => s,1,GotoIF($[$CALLERID(num)}=${ARG2}]?s|500:2)
exten => s,2,Dial(${ARG2},20)
exten => s,3,Goto(s-${DIALSTATUS},1)
exten => s-BUSY,1,Voicemail(b${ARG1})
exten => s-BUSY,2,Goto(public,s,1)
exten => s-NOANSWER,1,Voicemail(u${ARG1})
exten => s-NOANSWER,2,Goto(public,s,1)
exten => _s-.,1,Goto(s-NOANSWER,1)