Hi ,
I wanted to run this :
exten => CSPWWTDTW,1,GotoIf($["${ARG1}" = "4220"]?4)
exten => CSPWWTDTW,2,GotoIf($["${ARG1}" = "4225"]?4)
exten => CSPWWTDTW,3,Return
exten => CSPWWTDTW,4,Set(KFLAG="Y")
So when i dial exten 4220 or 4225 it will goto 4 but in the CLI i dont see it having the correct effect.
Executing [CSPWWTDTW@macro-stdexten:1] GotoIf("OSS/dsp", "0?4") in new stack
-- Executing [CSPWWTDTW@macro-stdexten:2] GotoIf("OSS/dsp", "0?4") in new stack
Am i scripting something wrong here ?
[solution]
I got the script working eventually. Here it is (This needs to be placed in extensions.conf)
[macro-stdexten]
;
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
;
exten => s,1,SET(DELAY=15)
exten => s,2,Gosub(CSPWWTDTW,1)
exten => s,3,GotoIf($[${DB(CFIM/${ARG1})}]?7)
exten => s,4,Dial(${ARG2}&SIP/x${ARG1},${DELAY}) ; Ring the interface, 20 seconds maximum
exten => s,5,GotoIf($["${KFLAG}"="A"]?11)
exten => s,6,GotoIf($["${KFLAG}"="Y"]?10)
exten => s,7,Goto(s-${DIALSTATUS},1) ; Jump based on status(NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s,8,Playback(pls-hold-while-try)
exten => s,9,Goto(default,${DB(CFIM/${ARG1})},1)
exten => s,10,Goto(THEWORLD,1)
exten => s,11,Goto(THEWORLD,5)
exten => s,12,Hangup()
exten => s-NOANSWER,1,SIPDTMFMode(inband)
exten => s-NOANSWER,2,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,3,Playback(sorry) ; If they press #, return to start
exten => s-BUSY,1,SIPDTMFMode(inband)
exten => s-BUSY,2,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,3,Playback(sorry) ;i If they press #, return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
;Check special people who want things done their way
exten => CSPWWTDTW,1,GotoIf($["${ARG1}"="4910"]?5)
exten => CSPWWTDTW,2,GotoIf($["${ARG1}"="4910"]?5)
exten => CSPWWTDTW,3,GotoIf($["${ARG1}"="4941"]?8)
exten => CSPWWTDTW,4,Return
exten => CSPWWTDTW,5,Set(KFLAG="Y")
exten => CSPWWTDTW,6,Set(DELAY=10)
exten => CSPWWTDTW,7,Return
exten => CSPWWTDTW,8,Set(KFLAG="A")
exten => CSPWWTDTW,9,Return
exten => CSPWWTDTW,10,Set(DELAY=10)
exten => CSPWWTDTW,11,Return
exten => THEWORLD,1,NoOP(Macro Started !!)
exten => THEWORLD,2,background(pls-hold-while-try)
;exten => THEWORLD,3,Dial(Zap/g1/003XXXXXXX809,30) ; 4903 directed to Steve Spain
;exten => THEWORLD,3,Dial(Zap/g1/003XXXXXX56,30) ; 4903 directed to Steve Spain
;exten => THEWORLD,3,Dial(Zap/g1/00441XXXX8X067,30) ; 4903 directed to Steve Spain
exten => THEWORLD,3,Dial(Zap/g1/085XXXX6,30) ; Tommy
;exten => THEWORLD,3,Dial(Zap/g1/083XXXX229,30) ; 4903 directed to Steve Ireland
exten => THEWORLD,4,Goto(6)
exten => THEWORLD,5,Dial(SIP/4940,20)
exten => THEWORLD,6,Voicemail(${ARG1})
exten => THEWORLD,7,Hangup