Как стать автором
Обновить

Комментарии 8

Для слива обычно нужно
А еще можно запихнуть соответствия подмены в AstDB, и делать так:

same => n, Hangup(${DB(Hag/${HANGUPCAUSE})})

Не будет необходимости лезть в диалплан.

А в чем практический смыл этого? Есть пример, где понадобилось?
Пример, когда у Вас несколько транков на провайдеров, и один отдает некорректный отбой — вместо 503/480 отдает 486 (занято), то на следующий транк такой звонок не перейдет. В данной ситуации подмена поможет
Да? Хм, а мы тут и не в курсе…

image

Балансировка по транкам работает и 486 отбоем.

Asterisk >1.8

Так что вопрос актуален.
Я писал про наш пример, когда сам абонент отдает 486 — нет необходимости к нему ломиться с другой линии, поэтому звонок не переходит на другой транк. И иной случай, когда провайдер вместо 503 отдает 486 — тогда необходимо в существующей логике просто подменить код.
В Вашем случае у Вас настроено иначе, и наш пример не работает
Выше как раз Ваш пример, звонок идет на АТС в регионе, которая в виду ошибки отдает 486.
Если обратите внимание, далее звонок идет на тот же регион и на тот же телефон, но через резервную АТС, и в этом случае уже достигает нужного абонента.

В вашем случае:

Если провайдер отдает вам 486 ошибочно, и отдает 486 не ошибочно (истиная занятость), то тем более нужно делать перебор безусловный провайдеров — хуже от этого не будет, но количество звонков, отбитых из-за неполадок на линии сведете к 0.Столько раз наступали на эти грабли.
В нашем случае провайдер отдавал 486 ошибочно постоянно, после того как начал проводить ремонтные работы. Это было выявлено на 100%, и уточнено у него. Поэтому и возникла такая необходимость.
В остальных случаях согласен, Ваше решение подходит лучше

А не знаете ли вы случаем, как так настроить, чтобы астериск не подставлял вообще X-Asterisk-Hangup* заголовки в BYE?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории