Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [macro-dialout-trunk]
- include => macro-dialout-trunk-custom
- exten => s,1,Set(DIAL_TRUNK=${ARG1})
- exten => s,n,GosubIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]]?sub-pincheck,s,1())
- exten => s,n,GotoIf($["x${OUTDISABLE_${DIAL_TRUNK}}" = "xon"]?disabletrunk,1)
- exten => s,n,Set(DIAL_NUMBER=${ARG2})
- exten => s,n,Set(DIAL_TRUNK_OPTIONS=${DIAL_OPTIONS})
- exten => s,n,Set(OUTBOUND_GROUP=OUT_${DIAL_TRUNK})
- exten => s,n,GotoIf($["${OUTMAXCHANS_${DIAL_TRUNK}}foo" = "foo"]?nomax)
- exten => s,n,GotoIf($[ ${GROUP_COUNT(OUT_${DIAL_TRUNK})} >= ${OUTMAXCHANS_${DIAL_TRUNK}} ]?chanfull)
- exten => s,n(nomax),GotoIf($["${INTRACOMPANYROUTE}" = "YES"]?skipoutcid)
- exten => s,n,Set(DIAL_TRUNK_OPTIONS=${IF($["${DB_EXISTS(TRUNK/${DIAL_TRUNK}/dialopts)}" = "1"]?${DB_RESULT}:${TRUNK_OPTIONS})})
- exten => s,n,Macro(outbound-callerid,${DIAL_TRUNK})
- exten => s,n(skipoutcid),GosubIf($["${PREFIX_TRUNK_${DIAL_TRUNK}}" != ""]?sub-flp-${DIAL_TRUNK},s,1())
- exten => s,n,Set(OUTNUM=${OUTPREFIX_${DIAL_TRUNK}}${DIAL_NUMBER})
- exten => s,n,Set(custom=${CUT(OUT_${DIAL_TRUNK},:,1)})
- exten => s,n,ExecIf($["${MOHCLASS}"!="default" & "${MOHCLASS}"!="" & "${FORCE_CONFIRM}"="" ]?Set(DIAL_TRUNK_OPTIONS=M(setmusic^${MOHCLASS})${DIAL_TRUNK_OPTIONS}))
- exten => s,n,ExecIf($["${FORCE_CONFIRM}"!="" ]?Set(DIAL_TRUNK_OPTIONS=${DIAL_TRUNK_OPTIONS}M(confirm)))
- exten => s,n(gocall),Macro(dialout-trunk-predial-hook,)
- exten => s,n,GotoIf($["${PREDIAL_HOOK_RET}" = "BYPASS"]?bypass,1)
- exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(CONNECTEDLINE(num,i)=${DIAL_NUMBER}))
- exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(CONNECTEDLINE(name,i)=CID:${CALLERID(number)}))
- exten => s,n,GotoIf($["${custom}" = "AMP"]?customtrunk)
- exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS})
- exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE})
- exten => s,n,GotoIf($["${ARG4}" = "on"]?continue,1:s-${DIALSTATUS},1)
- exten => s,n(customtrunk),Set(pre_num=${CUT(OUT_${DIAL_TRUNK},$,1)})
- exten => s,n,Set(the_num=${CUT(OUT_${DIAL_TRUNK},$,2)})
- exten => s,n,Set(post_num=${CUT(OUT_${DIAL_TRUNK},$,3)})
- exten => s,n,GotoIf($["${the_num}" = "OUTNUM"]?outnum:skipoutnum)
- exten => s,n(outnum),Set(the_num=${OUTNUM})
- exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS})
- exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE})
- exten => s,n,GotoIf($["${ARG4}" = "on"]?continue,1:s-${DIALSTATUS},1)
- exten => s,n(chanfull),Noop(max channels used up)
- exten => s-BUSY,1,Noop(Dial failed due to trunk reporting BUSY - giving up)
- exten => s-BUSY,n,Playtones(busy)
- exten => s-BUSY,n,Busy(20)
- exten => s-ANSWER,1,Noop(Call successfully answered - Hanging up now)
- exten => s-ANSWER,n,Macro(hangupcall,)
- exten => s-NOANSWER,1,Noop(Dial failed due to trunk reporting NOANSWER - giving up)
- exten => s-NOANSWER,n,Progress
- exten => s-NOANSWER,n,Playtones(congestion)
- exten => s-NOANSWER,n,Congestion(20)
- exten => s-INVALIDNMBR,1,Noop(Dial failed due to trunk reporting Address Incomplete - giving up)
- exten => s-INVALIDNMBR,n,Progress
- exten => s-INVALIDNMBR,n,Playtones(congestion)
- exten => s-INVALIDNMBR,n,Busy(20)
- exten => s-CHANGED,1,Noop(Dial failed due to trunk reporting Number Changed - giving up)
- exten => s-CHANGED,n,Playtones(busy)
- exten => s-CHANGED,n,Busy(20)
- exten => _s-.,1,Set(RC=${IF($[${ISNULL(${HANGUPCAUSE})}]?0:${HANGUPCAUSE})})
- exten => _s-.,n,Goto(${RC},1)
- exten => 17,1,Goto(s-BUSY,1)
- exten => 18,1,Goto(s-NOANSWER,1)
- exten => 22,1,Goto(s-CHANGED,1)
- exten => 23,1,Goto(s-CHANGED,1)
- exten => 28,1,Goto(s-INVALIDNMBR,1)
- exten => _X,1,Goto(continue,1)
- exten => _X.,1,Goto(continue,1)
- exten => continue,1(noreport),Noop(TRUNK Dial failed due to ${DIALSTATUS} HANGUPCAUSE: ${HANGUPCAUSE} - failing through to other trunks)
- exten => continue,n,Set(CALLERID(number)=${AMPUSER})
- exten => continue,n,MacroExit
- exten => disabletrunk,1,Noop(TRUNK: ${OUT_${DIAL_TRUNK}} DISABLED - falling through to next trunk)
- exten => bypass,1,Noop(TRUNK: ${OUT_${DIAL_TRUNK}} BYPASSING because dialout-trunk-predial-hook)
- exten => h,1,Macro(hangupcall,)
- ;--== end of [macro-dialout-trunk] ==--;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement