Advertisement
Guest User

Untitled

a guest
Nov 2nd, 2020
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.29 KB | None | 0 0
  1. [macro-dialout-trunk]
  2. include => macro-dialout-trunk-custom
  3. exten => s,1,Set(DIAL_TRUNK=${ARG1})
  4. exten => s,n,GosubIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]]?sub-pincheck,s,1())
  5. exten => s,n,GotoIf($["x${OUTDISABLE_${DIAL_TRUNK}}" = "xon"]?disabletrunk,1)
  6. exten => s,n,Set(DIAL_NUMBER=${ARG2})
  7. exten => s,n,Set(DIAL_TRUNK_OPTIONS=${DIAL_OPTIONS})
  8. exten => s,n,Set(OUTBOUND_GROUP=OUT_${DIAL_TRUNK})
  9. exten => s,n,GotoIf($["${OUTMAXCHANS_${DIAL_TRUNK}}foo" = "foo"]?nomax)
  10. exten => s,n,GotoIf($[ ${GROUP_COUNT(OUT_${DIAL_TRUNK})} >= ${OUTMAXCHANS_${DIAL_TRUNK}} ]?chanfull)
  11. exten => s,n(nomax),GotoIf($["${INTRACOMPANYROUTE}" = "YES"]?skipoutcid)
  12. exten => s,n,Set(DIAL_TRUNK_OPTIONS=${IF($["${DB_EXISTS(TRUNK/${DIAL_TRUNK}/dialopts)}" = "1"]?${DB_RESULT}:${TRUNK_OPTIONS})})
  13. exten => s,n,Macro(outbound-callerid,${DIAL_TRUNK})
  14. exten => s,n(skipoutcid),GosubIf($["${PREFIX_TRUNK_${DIAL_TRUNK}}" != ""]?sub-flp-${DIAL_TRUNK},s,1())
  15. exten => s,n,Set(OUTNUM=${OUTPREFIX_${DIAL_TRUNK}}${DIAL_NUMBER})
  16. exten => s,n,Set(custom=${CUT(OUT_${DIAL_TRUNK},:,1)})
  17. exten => s,n,ExecIf($["${MOHCLASS}"!="default" & "${MOHCLASS}"!="" & "${FORCE_CONFIRM}"="" ]?Set(DIAL_TRUNK_OPTIONS=M(setmusic^${MOHCLASS})${DIAL_TRUNK_OPTIONS}))
  18. exten => s,n,ExecIf($["${FORCE_CONFIRM}"!="" ]?Set(DIAL_TRUNK_OPTIONS=${DIAL_TRUNK_OPTIONS}M(confirm)))
  19. exten => s,n(gocall),Macro(dialout-trunk-predial-hook,)
  20. exten => s,n,GotoIf($["${PREDIAL_HOOK_RET}" = "BYPASS"]?bypass,1)
  21. exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(CONNECTEDLINE(num,i)=${DIAL_NUMBER}))
  22. exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(CONNECTEDLINE(name,i)=CID:${CALLERID(number)}))
  23. exten => s,n,GotoIf($["${custom}" = "AMP"]?customtrunk)
  24. exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS})
  25. exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE})
  26. exten => s,n,GotoIf($["${ARG4}" = "on"]?continue,1:s-${DIALSTATUS},1)
  27. exten => s,n(customtrunk),Set(pre_num=${CUT(OUT_${DIAL_TRUNK},$,1)})
  28. exten => s,n,Set(the_num=${CUT(OUT_${DIAL_TRUNK},$,2)})
  29. exten => s,n,Set(post_num=${CUT(OUT_${DIAL_TRUNK},$,3)})
  30. exten => s,n,GotoIf($["${the_num}" = "OUTNUM"]?outnum:skipoutnum)
  31. exten => s,n(outnum),Set(the_num=${OUTNUM})
  32. exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS})
  33. exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE})
  34. exten => s,n,GotoIf($["${ARG4}" = "on"]?continue,1:s-${DIALSTATUS},1)
  35. exten => s,n(chanfull),Noop(max channels used up)
  36.  
  37. exten => s-BUSY,1,Noop(Dial failed due to trunk reporting BUSY - giving up)
  38. exten => s-BUSY,n,Playtones(busy)
  39. exten => s-BUSY,n,Busy(20)
  40.  
  41. exten => s-ANSWER,1,Noop(Call successfully answered - Hanging up now)
  42. exten => s-ANSWER,n,Macro(hangupcall,)
  43.  
  44. exten => s-NOANSWER,1,Noop(Dial failed due to trunk reporting NOANSWER - giving up)
  45. exten => s-NOANSWER,n,Progress
  46. exten => s-NOANSWER,n,Playtones(congestion)
  47. exten => s-NOANSWER,n,Congestion(20)
  48.  
  49. exten => s-INVALIDNMBR,1,Noop(Dial failed due to trunk reporting Address Incomplete - giving up)
  50. exten => s-INVALIDNMBR,n,Progress
  51. exten => s-INVALIDNMBR,n,Playtones(congestion)
  52. exten => s-INVALIDNMBR,n,Busy(20)
  53.  
  54. exten => s-CHANGED,1,Noop(Dial failed due to trunk reporting Number Changed - giving up)
  55. exten => s-CHANGED,n,Playtones(busy)
  56. exten => s-CHANGED,n,Busy(20)
  57.  
  58. exten => _s-.,1,Set(RC=${IF($[${ISNULL(${HANGUPCAUSE})}]?0:${HANGUPCAUSE})})
  59. exten => _s-.,n,Goto(${RC},1)
  60.  
  61. exten => 17,1,Goto(s-BUSY,1)
  62.  
  63. exten => 18,1,Goto(s-NOANSWER,1)
  64.  
  65. exten => 22,1,Goto(s-CHANGED,1)
  66.  
  67. exten => 23,1,Goto(s-CHANGED,1)
  68.  
  69. exten => 28,1,Goto(s-INVALIDNMBR,1)
  70.  
  71. exten => _X,1,Goto(continue,1)
  72.  
  73. exten => _X.,1,Goto(continue,1)
  74.  
  75. exten => continue,1(noreport),Noop(TRUNK Dial failed due to ${DIALSTATUS} HANGUPCAUSE: ${HANGUPCAUSE} - failing through to other trunks)
  76. exten => continue,n,Set(CALLERID(number)=${AMPUSER})
  77. exten => continue,n,MacroExit
  78.  
  79. exten => disabletrunk,1,Noop(TRUNK: ${OUT_${DIAL_TRUNK}} DISABLED - falling through to next trunk)
  80.  
  81. exten => bypass,1,Noop(TRUNK: ${OUT_${DIAL_TRUNK}} BYPASSING because dialout-trunk-predial-hook)
  82.  
  83. exten => h,1,Macro(hangupcall,)
  84.  
  85. ;--== end of [macro-dialout-trunk] ==--;
  86.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement