[custom_group]
exten => _X.,1,Set(trunks=trunk1-trunk2-); сюда транк
exten => _X.,2,Set(trunk_count=2); сюда количество
exten => _X.,n(loop),Set(n=${RAND(1,${trunk_count})})
exten => _X.,n,Set(trunk=${CUT(trunks,-,${n})})
exten => _X.,n,Set(trunks=${CUT(trunks,-,1-$[ ${n} - 1 ]&$[ ${n} + 1 ]-)})
exten => _X.,n,Set(trunk_count=$[ ${trunk_count} - 1 ])
; следущие две строчки нужны только если колчисвто звонков на тарнк =1, иначе удалить
exten => _X.,n,Set(GROUP(trunks_active)=${trunk})
exten => _X.,n,GotoIF($[ ${GROUP_COUNT(${trunk}@trunks_active)} > 1 ]?skip); if already calls on that trunk,skip
exten => _X.,n,Dial(SIP/${trunk}/+${EXTEN},,g)
exten => _X.,n,Noop(status ${DIALSTATUS} time ${ANSWEREDTIME} );show time
exten => _X.,n,GotoIf($[ "${DIALSTATUS}" == "ANSWER" ]?end)
exten => _X.,n,GotoIf($[ "${DIALSTATUS}" == "BUSY" ]?end)
exten => _X.,n,GotoIf($[ ${LEN(${trunks})} <= 1 ]?end)
exten => _X.,n(skip),Goto(loop)
exten => _X.,n(end),Hangup
звониь вот так
Exten => _X.,1,Dial(Local/${EXTEN}@custom_group/n,,)
ответил
2012-10-22 17:06:07 +0400
meral 23347 ● 24 ● 20 ● 177
http://pro-sip.net/