rendered paste body[ACD]
include => programming
exten => s,1,Set(CHANLIST=SIP/100&SIP/105&SIP/103&SIP/125) ;sets availchan to a list of operators
exten => s,2,NoOp(${CHANLIST}) ;
exten => s,3,While($["${CHANLIST}" != ""]) ;loops the variable until it is null
exten => s,4,NoOp(${CHANLIST}) ;prints the variable
exten => s,5,Set(TESTCHAN=${CHANLIST:0:7}) ;stores a chunk of the variable to $TESTCHAN for testing
exten => s,6,ChanIsAvail(${TESTCHAN}|s) ;checks $TESTCHAN for availability
exten => s,7,NoOp(${AVAILCHAN}) ;prints $TESTCHAN's Availability
exten => s,8,Set(PAGE=${PAGE}&${AVAILCHAN:0:7}) ;Adds the extension to $PAGE, nulls are basically ignored
exten => s,9,Set(CHANLIST=${CHANLIST:8}) ;removes the increment from $CHANLIST BUMP!
exten => s,10,EndWhile() ;end the loop
exten => s,107,Set(CHANLIST=${CHANLIST:8}) ;jumps don't write to PAGE
exten => s,108,EndWhile() ;end the loop
exten => s,11,Goto(dialplan,s,1) ;moving on in either case
exten => s,109,Goto(dialplan,s,1) ;moving on in either case
[dialplan]
exten => s,1,GotoIf($["${PAGE}" = ""]?nooper,s,1)
exten => s,2,Goto(oper,s,1)
exten => s,3,NoOp(DANGER WILL ROBINSON!)
exten => s,4,Queue(operator|nt|||30)
[nooper]
exten => s,1,Background(/root/prompts/astrec-5401)
exten => s,2,Queue(operator|t|||30)
exten => t,1,Queue(operator|t|||30)
exten => i,1,Queue(operator|t|||30)
[oper]
exten => s,1,Queue(operator|rt|||30)
exten => t,1,Queue(operator|rt|||30)
exten => i,1,Queue(operator|rt|||30)
[park-dial]
exten => t,1,Queue(operator|rt|||30)
exten => i,1,Queue(operator|rt|||30)