@torr2009

Как правильно настроить в Asterisk перебор исходящих SIP-транков при дозвоне?

Есть несколько провайдеров
SIP/provider1 - 1 линия (cal-limit=1)
SIP/provider2 - 4 линии
SIP/provider3 - 10 линий
и есть Asterisk 11.
Как правильно организовать следующий функционал?
При вызове на внешнюю линию происходит попытка соединения через provider1, если линия занята (линия, а не удаленный абонент!), то через provider2. И только если заняты provider1 & provider2 вызов производится через provider3.

Заранее спасибо. Если можно, подскажите решения обычном синтаксисе extension.conf и в синтаксисе AEL.
  • Вопрос задан
  • 5994 просмотра
Пригласить эксперта
Ответы на вопрос 3
@b_aalexx
Если актуально отпишусь с проверкой DIALSTATUS. У меня всё работает. Еще и статусы провайдеров берет из базы AstDb - бывает сам отключаю иногда
Ответ написан
exten => _X.,1,Set(GROUP()=provider1)
    same => n,GotoIF($[${GROUP_COUNT(provider1)} > 1]?prov2)
    same => n,Dial(SIP/provider1/${EXTEN},60)
    same => n(prov2),Set(GROUP()=provider2)
    same => n,GotoIF($[${GROUP_COUNT(provider2)} > 4]?prov3)
    same => n,Dial(SIP/provider2/${EXTEN},60)
    same => n(prov3),Set(GROUP()=provider3)
    same => n,GotoIF($[${GROUP_COUNT(provider3)} > 10]?stop)
    same => n,Dial(SIP/provider3/${EXTEN},60)
    same => n(stop),Hangup()

на AEL и проверку DIALSTATUS самостоятельно
Ответ написан
@easystandart1
Актуально, можете показать версию с проверкой DIALSTATUS
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы