Сопоставление заголовка Reason
Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию
Когда звонок не удаётся, оборудование абонента видит SIP-код и, при необходимости, заголовок Reason (RFC 3326) с исходной причиной, например Reason: Q.850; cause=17; text="User busy". Коммутаторы многих клиентов по этим значениям решают, переходить ли на резерв и воспроизводить ли объявление. FlySIP позволяет изменить и то и другое: какой SIP-код получает абонент и какой заголовок Reason идёт вместе с ним.
Как это работает
Заголовок раздела «Как это работает»Две таблицы в Tools & Debugs (инструменты и отладка) транслируют коды. Каждая запись сопоставляет In Code (входящий код) с Out Code (исходящий код) и фразой причины и может добавить заголовок Reason.
| Таблица | Что транслирует | К кому применяется |
|---|---|---|
| Result Code Internal | Ошибки, которые генерирует сам коммутатор: внутренние коды, например -20, и SIP-коды, которые отправляет коммутатор, например 403 при неудачной аутентификации |
К каждому абоненту |
| Result Code External | Ответы, полученные от вендоров | К абонентам, чей аккаунт имеет выбранный Account Class (класс аккаунта) |
- Возникает ошибка. Либо коммутатор отклоняет звонок, либо вендор отвечает ошибкой, и для перебора маршрутов больше не осталось маршрутов.
- Коммутатор ищет код. Для собственных ошибок он проверяет Result Code Internal. Для ответа вендора он проверяет Result Code External, но только записи Account Class аккаунта абонента. Аккаунты без класса аккаунта внешней трансляции не получают.
- Код заменяется. Out Code и Reason (причина) заменяют SIP-код и фразу причины, отправляемые абоненту. Пустое поле Reason сохраняет исходную фразу.
- Задаётся заголовок Reason. В разделе RFC3326 Parameters (параметры RFC3326) Protocol (протокол)
Q.850илиSIPвместе с Cause (причина) и Reason формируют заголовок. Disabled не добавляет никакого. Если записи нет, собственный заголовокReasonвендора передаётся абоненту без изменений, а для собственных ошибок коммутатор генерирует причинуQ.850, если она соответствует внутренней ошибке. - При необходимости воспроизводится голосовая подсказка. Внешняя запись с IVR Prompt (голосовая подсказка IVR) сначала воспроизводит подсказку абоненту, а затем отправляет транслированную ошибку.
Коммутатор перезагружает обе таблицы примерно раз в минуту, поэтому изменение применяется к новым звонкам без перезапуска. Трансляции также применяются к предварительным (provisional) ответам, совпадающим с In Code.
Ключевые понятия
Заголовок раздела «Ключевые понятия»- Disconnect cause (причина разъединения) — причина завершения звонка, отображаемая в CDR как код SIP/Q.850.
- Account (аккаунт) — SIP-идентификатор (имя пользователя/пароль или IP), принадлежащий клиенту, который инициирует и принимает звонки и имеет собственный баланс.
- Hunting (перебор маршрутов) — попытка следующего маршрута после неудачной попытки.
- Prompt (голосовая подсказка) — записанное голосовое сообщение, которое воспроизводит IVR-приложение.
Типичные сценарии
Заголовок раздела «Типичные сценарии»Коммутатор клиента останавливается на 404 вместо того, чтобы попробовать следующего оператора
Заголовок раздела «Коммутатор клиента останавливается на 404 вместо того, чтобы попробовать следующего оператора»Создайте Account Class для аккаунтов этого клиента и внешнюю запись с In Code 404 и Out Code 503. Теперь коммутатор клиента считает ошибку временной и переходит на резерв. Остальные клиенты по-прежнему получают 404 вендора.
Клиенту нужна причина Q.850 на каждой ошибке
Заголовок раздела «Клиенту нужна причина Q.850 на каждой ошибке»Добавьте внешние записи для кодов, важных клиенту, с Protocol Q.850 и причиной из опубликованного сопоставления, например ITU-T Q.1912.5. Например, In Code 486, Out Code 486, Cause 17, Reason User busy отправляет:
SIP/2.0 486 Busy HereReason: Q.850; cause=17; text="User busy"Звонки, отклонённые из-за нехватки средств, должны объяснять причину
Заголовок раздела «Звонки, отклонённые из-за нехватки средств, должны объяснять причину»Добавьте внутреннюю запись с In Code -20 (недостаточный баланс) и Out Code и Reason, которые понимает оборудование ваших клиентов, например 402 Payment Required. Внутренние коды перечислены на странице Звонки завершаются с кодом ошибки SIP.