All pastes #180 Raw Edit

Anonymous

public text v1 · immutable
#180 ·published 2004-05-31 15:45 UTC
rendered paste body
[macro-set-ring]
exten => s,1,NoOp(${CHANNEL})
exten => s,2,Cut(TECH=CHANNEL,/,1)
exten => s,3,GoToIf($["${TECH}" = "Zap"]?zap,1)
exten => s,4,GoToIf($["${TECH}" = "SIP"]?sip,1)
                                                                                                                              
exten => zap,1,GoToIf($[${LEN(${CALLERIDNUM})} = 4]?zap,3)
exten => zap,2,SetVar(CADENCE=r2)
exten => zap,3,NoOp
                                                                                                                              
exten => sip,1,GoToIf($[${LEN(${CALLERIDNUM})} = 4]?sip,3)
exten => sip,2,SetVar(ALERT_INFO=<Bellcore-dr2>)
exten => sip,3,NoOp

[macro-number-changed]
;
; ARG1=new number
;
exten => s,1,Zapateller(answer)
exten => s,2,Playback(the-number-u-dialed)
exten => s,3,Wait(.25)
exten => s,4,Macro(say-digits,${MACRO_EXTEN})
exten => s,5,Wait(.25)
exten => s,6,Playback(has-been-changed-to)
exten => s,7,Wait(.25)
exten => s,8,Macro(say-digits,${ARG1})
exten => s,9,Wait(.25)
exten => s,10,Playback(pls-wait-connect-call)
exten => s,11,Goto(extensions,${ARG1},1)
                                                                                                                              
[macro-number-disconnected]
;
; ARG1=number dialed
;
exten => s,1,Zapateller(answer)
exten => s,2,Wait(.25)
exten => s,3,Playback(the-number-u-dialed)
exten => s,4,Wait(.25)
exten => s,5,Macro(say-digits,${MACRO_EXTEN})
exten => s,6,Wait(.25)
exten => s,7,Playback(has-been-disconnected)
exten => s,8,Playback(or)
exten => s,9,Playback(no-longer-in-service)
exten => s,10,Wait(.25)
exten => s,11,Playback(no-info-about-number)
exten => s,12,Wait(3)
exten => s,13,Zapateller(answer)
exten => s,14,Wait(.25)
exten => s,15,Playback(the-number-u-dialed)
exten => s,16,Wait(.25)
exten => s,17,Macro(say-digits,${MACRO_EXTEN})
exten => s,18,Wait(.25)
exten => s,19,Playback(has-been-disconnected)
exten => s,20,Playback(or)
exten => s,21,Playback(no-longer-in-service)
exten => s,22,Wait(.25)
exten => s,23,Playback(no-info-about-number)
exten => s,24,Wait(3)
exten => s,25,Congestion
[macro-say-digits]
;
; ARG1=number to say
;
exten => s,1,GoToIf($[${LEN(${ARG1})} != 10]?s,3)
exten => s,2,SayDigits(${ARG1:0:3})
exten => s,3,GoToIf($[${LEN(${ARG1})} != 10]?s,6)
exten => s,4,Wait(.25)
exten => s,5,SayDigits(${ARG1:3:3})
exten => s,6,GoToIf($[${LEN(${ARG1})} != 10]?s,10)
exten => s,7,Wait(.25)
exten => s,8,SayDigits(${ARG1:6})
exten => s,9,GoTo(s,12)
exten => s,10,Wait(.25)
exten => s,11,SayDigits(${ARG1})
exten => s,12,NoOp

[macro-dial-result]
;
; Handle Disconnect Cause Codes
;
exten => s,1,NoOp(HANGUPCAUSE is ${HANGUPCAUSE})
exten => s,2,AbsoluteTimeout(120)
exten => s,3,Goto(${HANGUPCAUSE},1)
                                                                                                                                                                                                                  
exten => 0,1,NoOp(AST_CAUSE_NOTDEFINED)
exten => 0,2,GoToIf($["${SAVED_EXTEN}" != ""]?0,4)
exten => 0,3,SetVar(SAVED_EXTEN=${MACRO_EXTEN})
exten => 0,4,GoToIf($["${SAVED_ARG1}" != ""]?0,6)
exten => 0,5,SetVar(SAVED_ARG1=${ARG1})
exten => 0,6,GoToIf($["${ARG1}" = ""]?0,11)
exten => 0,7,System(/bin/echo AST_CAUSE_NOTDEFINED received when dialing ${SAVED_EXTEN}.  Trying again using ${SAVED_ARG1}.  | /usr/bin/mutt -s "WAVELAND PBX ERROR" pbxadmin-pager@stirlingprop.com)
exten => 0,8,SetVar(ARG1=)
exten => 0,9,Dial(${SAVED_ARG1})
exten => 0,10,Macro(dial-result)
exten => 0,11,System(/bin/echo AST_CAUSE_NOTDEFINED received when dialing ${SAVED_ARG1}.  Giving up. | /usr/bin/mutt -s "WAVELAND PBX ERROR" pbxadmin-pager@stirlingprop.com)
exten => 0,12,Zapateller(answer)
exten => 0,13,Playback(an-error-has-occured)
exten => 0,14,Playback(pls-try-call-later)
exten => 0,15,Wait(3)
exten => 0,16,Zapateller(answer)
exten => 0,17,Playback(an-error-has-occured)
exten => 0,18,Playback(pls-try-call-later)
exten => 0,19,Wait(3)
exten => 0,20,Congestion
                                                                                                                                                                                                                  
exten => 1,1,NoOp(AST_CAUSE_NORMAL)
                                                                                                                                                                                                                  
exten => 2,1,NoOp(AST_CAUSE_BUSY)
exten => 2,2,Busy
                                                                                                                                                                                                                  
exten => 3,1,NoOp(AST_CAUSE_FAILURE)
exten => 3,2,Zapateller(answer)
exten => 3,3,Playback(discon-or-out-of-service)
exten => 3,4,Wait(3)
exten => 3,5,Zapateller(answer)
exten => 3,6,Playback(discon-or-out-of-service)
exten => 3,7,Wait(3)
exten => 3,8,Congestion
                                                                                                                                                                                                                  
exten => 4,1,NoOp(AST_CAUSE_CONGESTION)
exten => 4,2,Zapateller(answer)
exten => 4,3,Playback(all-circuits-busy-now)
exten => 4,4,Playback(pls-try-call-later)
exten => 4,5,Wait(3)
exten => 4,6,Zapateller(answer)
exten => 4,7,Playback(all-circuits-busy-now)
exten => 4,8,Playback(pls-try-call-later)
exten => 4,9,Wait(3)
exten => 4,10,Congestion
                                                                                                                                                                                                                  
exten => 5,1,NoOp(AST_CAUSE_UNALLOCATED)
exten => 5,2,Macro(number-disconnected,${MACRO_EXTEN})
                                                                                                                                                                                                                  
exten => _X,1,NoOp(UNKNOWN_CAUSECODE)
exten => _X,2,Zapateller(answer)
exten => _X,3,Playback(an-error-has-occured)
exten => _X,4,Wait(1)
exten => _X,5,Zapateller(answer)
exten => _X,6,Playback(an-error-has-occured)
exten => _X,7,Wait(1)
exten => _X,8,Congestion

[macro-callerid-fixup]
;
; This macro assumes the following:
;   Extensions without a DID number have their CallerID number set to their 4 digit extension
;   Extensions with a DID number have their CallerID number set to their 10 digit DID
;   The last 4 digits of a DID number is the same as the extension number
;
; This macro does the following if it is called without any parameters:
;   If the Caller*ID number is 4 digits, do nothing
;   If the Caller*ID number is not 4 digits, strip off the first 6 digits
;
; This macro does the following if it is called with a parameter
;   If the Caller*ID number is 4 digits, reset the Caller*ID number to be the value of the parameter
;   If the Caller*ID number is not 4 digits, do nothing
;
exten => s,1,NoOp(Original Caller*ID: ${CALLERIDNUM})
exten => s,2,GoToIf($["${ARG1}" != ""]?ext,1)
exten => s,3,GoToIf($["${ARG1}" = ""]?int,1)
                                                                                                                                                                                                                  
exten => int,1,GoTof($[${LEN(${CALLERIDNUM})} = 4]?int,4)
exten => int,2,SetCIDNum(${CALLERIDNUM:6})
exten => int,3,NoOp(New Caller*ID: ${CALLERIDNUM})
exten => int,4,NoOp
                                                                                                                                                                                                                  
exten => ext,1,GoToIf($[${LEN(${CALLERIDNUM})} != 4]?ext,4)
exten => ext,2,SetCIDNum(${ARG1},a)
exten => ext,3,NoOp(New Caller*ID: ${CALLERIDNUM})
exten => ext,4,NoOp