rendered paste body[macro-superdial]
; add some abilities to Dial(Technology/resource[&Technology2/resource2...][|timeout][|options][|URL]):
; ${ARG1} - Technology/resource[&Technology2/resource2...]
; ${ARG2} - timeout
; ${ARG3} - options
; ${ARG4} - URL
; ${ARG5} - Group
; ${ARG6} - Max. group number
; ${ARG7} - Caller ID name (typically for outgoing calls only)
; ${ARG8} - Caller ID number (typically for outgoing calls only)
; ${ARG9} - CDR account name
; ${ARG10} - voicemail to send to if noanswer (typically for incoming calls only)
;SetCallerID(clid[|a])
;SetCIDName(cname[|a])
;SetCIDNum(cname[|a])
exten => s,1,SetGroup(${ARG5})
exten => s,2,CheckGroup(${ARG6}) ; jump to 103 if count on group ${ARG5} is already at ${ARG6}
exten => s,3,GotoIf(${ARG7}?macro-superdial,s,4:macro-superdial,s,5)
exten => s,4,SetCIDName(${ARG7}) ; skip this if ARG7 is empty
exten => s,5,GotoIf(${ARG8}?macro-superdial,s,6:macro-superdial,s,7)
exten => s,6,SetCIDNum(${ARG8}) ; skip this if ARG8 is empty
exten => s,7,GotoIf(${ARG8}?macro-superdial,s,8:macro-superdial,s,9)
exten => s,8,SetAccount(${ARG9}) ; skip this if ARG9 is empty
exten => s,9,Dial(${ARG1},${ARG2},${ARG3},${ARG4})
exten => s,10,Goto(s-${DIALSTATUS},1)
exten => s,103,Goto(s-CHANUNAVAIL,1)
exten => s-BUSY,1,Busy
exten => s-CHANUNAVAIL,1,Noop
exten => s-NOANSWER,1,GotoIf(${ARG10}?macro-superdial,s-NOANSWER,2:macro-superdial,s-NOANSWER,3)
exten => s-NOANSWER,2,Voicemail(${ARG10})
exten => s-NOANSWER,3,Noop
exten => _s-.,1,Congestion