Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2015-05-28 11:18:55 +0400

yks Gravatar yks

Может сделать из пиров транки, задать для них qualify=2000 и проверять DIALSTATUS:

same => n,Dial(SIP/${EXTEN}@TRUNK1,60)
same => n,Set(DialStatus=${DIALSTATUS})
same => n,GotoIf($[$["${DIALSTATUS}" = "BUSY"]|$["${DIALSTATUS}" = "CONGESTION"]]?peer2)
same => n,Hangup
same => n(peer2),Dial(SIP/${EXTEN}@TRUNK2,60)
same => n,GotoIf($[$["${DIALSTATUS}" = "BUSY"]|$["${DIALSTATUS}" = "CONGESTION"]]?peer3) 
и т. д.

Тогда timeout будет не более 2 с

Может сделать из пиров транки, задать для них qualify=2000 и проверять DIALSTATUS:

same => n,Dial(SIP/${EXTEN}@TRUNK1,60)
same => n,Set(DialStatus=${DIALSTATUS})
same => n,GotoIf($[$["${DIALSTATUS}" same=>n,Dial(SIP/${EXTEN}@TRUNK1,60)
same=>n,Set(DialStatus=${DIALSTATUS})
same=>n,GotoIf($[$["${DIALSTATUS}" = "BUSY"]|$["${DIALSTATUS}" = "CONGESTION"]]?peer2)
same => n,Hangup
same => n(peer2),Dial(SIP/${EXTEN}@TRUNK2,60)
same => n,GotoIf($[$["${DIALSTATUS}" same=>n,Hangup
same=>n(peer2),Dial(SIP/${EXTEN}@TRUNK2,60)
same=>n,GotoIf($[$["${DIALSTATUS}" = "BUSY"]|$["${DIALSTATUS}" = "CONGESTION"]]?peer3) 
и т. д.

Тогда timeout будет не более 2 с

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.