All pastes #40369 Raw Edit

Anonymous

public text v1 · immutable
#40369 ·published 2006-02-06 18:53 UTC
rendered paste body
[macro-stdexten]
 ;
 ; Standard extension macro (with smart call forwarding):
 ; ${ARG1} - Extension(we could have used ${MACRO_EXTEN} here as well
 ; ${ARG2} - Device(s) to ring
 ;
 exten => s,1,DBget(temp=CFIM/${ARG1}) ; Get CFIM key, if not existing, goto 102
 exten => s,2,Dial(${temp}|30|TtWf)   ; Unconditional forward then dial normal extensions
 exten => s,3,Dial(${ARG2}|12|TtWf) ; 12sec timeout
 exten => s,4,NoOP(choose voicemail or cellphone)
 exten => s,5,NoOP
 exten => s,6,NoOP
 exten => s,7,Wait(1)
 exten => s,8,NoOP
 exten => s,9,DBget(other=xtra_exten/${ARG2})
 exten => s,10,Set(dial_arg=${ARG2}&${other})
 exten => s,11,NoOP
 exten => s,12,NoOP
 exten => s,13,NoOp
 exten => s,14,NoOP
 exten => s,15,DBget(temp=cell/${ARG2})  ; if no cell number, goto 112
 exten => s,16,NoOP
 exten => s,17,NoOP
 exten => s,18,NoOP
 exten => s,19,NoOP
 exten => s,20,Dial(${dial_arg}&${line2}/${temp}|25|TtW)
 exten => s,21,NoOP
 exten => s,22,NoOP
 exten => s,23,NoOP
 exten => s,24,NoOP
 exten => s,25,Voicemail(u${ARG1})

 ; No CFIM key
exten => s,102,NoOP(argument1 ${ARG1})
exten => s,103,NoOP(argument2 ${ARG2})
exten => s,104,DBget(temp=dnd/${ARG2},TtWf) ; check to see if dnd is on, if not goto 205
exten => s,105,NoOP(do not disturb is set, going to voicemail)
exten => s,106,Voicemail(b${ARG1})
exten => s,107,hangup

 ; No CFBS key - voicemail ?
 exten => s,108,Voicemail(u${ARG1})

 ;no answer on the cellphone
 exten => s,109,Voicemail(b${ARG1})

 exten => s,110,Set(dial_arg=${ARG2})
 exten => s,111,goto(s,15)


 ; no answer at extention, no cell number in database
 exten => s,116,Dial(${dial_arg}|25|TtWf) ; 25 sec timeout
 exten => s,117,Voicemail(u${ARG1})
 exten => s,118,hangup

 ; DND not set
 exten => s,205,Goto(s,3)

; cell phone busy
 exten => s,121,Voicemail(b${ARG1})
 exten => s,122,hangup

 exten => i,1,NoOP(how did we get here ${EXTEN})
 exten => i,2,NoOP
 exten => i,3,NoOP(from ${MACRO_PRIORITY})
 exten => i,4,goto(${MACRO_PRIORITY})