StackPop() — Removes last address from Gosub()
stack
Removes the last address from the Gosub()
stack. This is frequently used when
handling error conditions within Gosub()
routines when it is no longer
appropriate to return control of the dialplan back to where the Gosub()
routine was called from.
exten => s,1,Read(input,get-input)
exten => s,n,Gosub(validate,1)
exten => s,n,Dial(SIP/${input})
; Ensure that input is between 400 and 499
exten => validate,1,GotoIf($[ ${input} > 499 ]?error,1)
exten => validate,n,GotoIf($[ ${input} < 400 ]?error,1)
exten => validate,n,Return
exten => error,1,StackPop()
exten => error,2,Goto(s,1)