Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Настройка межоператорского взаимодействия требует определенных кодов отбоя вызова в определенных ситуациях.
Например, при отбое звонка с ISUP/PRI на SMG приходит один из Q.850-cause, описанных в стандарте:
https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-Q.850-201810-I!!PDF-E&type=items
В свою очередь SMG должна передать эту информацию SIP оператору, но уже в виде определенного SIP ответа.
Тоже самое работает и в обратную сторону, когда определенный SIP ответ должен улетать оператору в виде конкретной
причины Q.850-cause.

По умолчанию используется соответствие, приведенное в Приказе №10 МИНИСТЕРСТВА СВЯЗИ И
МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ от 27 января 2009 г, для причин, не
описанных в этом приказе, используется соответствие, указанное в рекомендации Q.1912.5 для
протоколов SIP-I и RFC3398 – для SIP/SIP-T. Ссылки на стандарты ниже.
https://www.itu.int/rec/dologin.asp?lang=e&id=T-REC-Q.1912.5-201807-I!Cor1!PDF-E&type=items
https://datatracker.ietf.org/doc/html/rfc3398#section-7.2.4.1

Но часто на практике, операторы требуют Q.850-cause, отличный от дефолтного (по стандарту) значения.
Это требуется из за специфики работы встречного оборудования (разных вендоров), для организации резервирования направлений вызова.

Задача:
Например,  "480 Temporarily unavailable" SIP ответ по стандарту преобразуется в "19 Q.850-cause No answer from the user" .
Стоит задача заменить его на "18 Q.850-cause No user responding".
Или, "408 Request timeout" SIP ответ по стандарту преобразуется в "18 Q.850-cause No user responding"
Стоит задача заменить его на "19 Q.850-cause No answer from the user".

Решение:
Для этого на SMG есть возможность выставить свое соответствие в разделе "Внутренние ресурсы->Таблица соответствий Q.850-cause".

Далее созданная таблица указывается на том SIP интерфейсе, на который приходит SIP ответ "Маршрутизация->Интерфейсы SIP->SIP-interface00→
Таблица соответствия Q.850-cause и SIP-reply". Тоже самое можно проделать и в обратном направлении Е1→SIP.
Если разные операторы используют разные соответствия, то таких разных таблиц можно создать сколько угодно.

Если решение не работает:
Вот тут уже начинаются тонкости, которые являются сутью данной статьи.
Указанные соответствия работают только в том случае, когда мы получили "какой то ответ" от встречной АТС, нашли соответствие (маппинг) и передали его дальше.
Но бывают ситуации, когда инициатором разрыва вызова является сама SMG, причин может быть предостаточно.
И в таких случаях соответствие ответов не будет работать так, как Вы ожидаете по настройкам, т.к. внутрисистемная причина отбоя будет другая.

Например, в SIP есть параметр "Маршрутизация->Интерфейсы SIP->Общая конфигурация SIP->Ringing timeout (сек)" - установлено в дефолте 120 сек.
Также есть парамметр в "ОКС7-> T9 timeout (waiting for ANM)"-  установлено в дефолте 180сек.
По истечении этих таймеров, если не пришел финальный ответ, то SMG сама инициирует отбой по стандарту. (такие таймеры есть на всех АТС)
Нужно следить за тем, чтобы встречная сторона отбивала вызов раньше этого времени, например через 90 сек.
Иначе инициатором разрыва будет SMG и описанный выше маппинг будет выполняться по другому.
Внутрисистемную причину отбоя также можно "замапить".
Сначала нужно запустить PBX_PSTN, дождаться разъединения, в логах будет видно внутрисистемный Q.850-cause.
Его и указываем в таблице соответствия  Q.850-cause для получения нужного SIP ответа.