Рабочий контекст для FreePBX. Использует функцию RAND.
[random-trunk-select] exten => _X.,1,Macro(user-callerid,SKIPTTL,) exten => _X.,n,Set(_NODEST=) exten => _X.,n,Macro(record-enable,${AMPUSER},OUT,) ;--- exten => _X.,n,Set(GMIN=2) ;номер первого транка exten => _X.,n,Set(GMAX=13) ;номер последнего транка exten => _X.,n,Set(COUNT=$[${GMAX}-${GMIN}+1]) exten => _X.,n,Set(GATE=${RAND(${GMIN},${GMAX})}) exten => _X.,n(noop),Noop(call trying, COUNT= ${COUNT}) exten => _X.,n,GotoIf($[${COUNT} > 0]?:busy) exten => _X.,n,Set(COUNT=$[${COUNT} - 1]) ;--- exten => _X.,n,Macro(dialout-trunk,${GATE},${EXTEN},,) ;--- exten => _X.,n,GotoIf($[${GATE} < ${GMAX}]?add) exten => _X.,n,Set(GATE=${GMIN}) exten => _X.,n,Goto(noop) exten => _X.,n(add),Set(GATE=$[${GATE} + 1]) exten => _X.,n,Goto(noop) ;--- exten => _X.,n(busy),Macro(outisbusy,)
ответил 2013-03-18 20:26:27 +0400
Olpag
2024 ● 3 ● 6 ● 30