rendered paste body;
; randomize pstn gw
;
exten => _XX.,1,SetVar(NUMERO=${EXTEN})
exten => _XX.,2,Random(50:pstngw-1,1)
exten => _XX.,3,Goto(default,1)
;
; define every pstngw-1, beside the last one
;
exten => pstngw-1,1,Dial(IAX2/${EXTEN}/${NUMERO}@pstn)
exten => pstngw-1,2,GotoIf($[ "${DIALSTATUS}" : "CHANUNAVAIL" ]?default,1:${EXTEN},3) ; if qualify fails gw check
exten => pstngw-1,3,Hangup
;
; if we're on default, be sure to go in reverse order
; Also we get something if one box is down
;
exten => default,1,Dial(IAX2/pstngw-2/${NUMERO}@pstn)
exten => default,2,GotoIf($[ "${DIALSTATUS}" : "CHANUNAVAIL" ]?${EXTEN},$[ ${PRIORITY} + 1 ]:stophere,1)
exten => default,3,Dial(IAX2/pstngw-1/${NUMERO}@pstn)
exten => default,4,GotoIf($[ "${DIALSTATUS}" : "CHANUNAVAIL" ]?${EXTEN},$[ ${PRIORITY} + 1 ]:stophere,1)
exten => default,5,Goto(stophere,1)
exten => stophere,1,Hangup