Перейти к содержимому

Звонки завершаются с кодом ошибки SIP

Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию

Каждый неудачный звонок завершается кодом: SIP-ответом от коммутатора или вендора либо отрицательным внутренним кодом, когда звонок отклонил сам коммутатор. Код показывает, на каком этапе прохождения звонка его остановили, а это подсказывает, какой экран открыть.

  • Абонент слышит короткие гудки или объявление, либо устройство показывает ошибку.
  • Call Records (CDRs) (записи о звонках) показывают звонок с красной меткой, например 403, 503 или -20, в столбце статуса; подсказка содержит описание.
  • Reports → Calls показывает звонок с Diagnosis (диагноз), например Rejected before routing: … или All 3 vendor attempt(s) failed.
  1. Откройте звонок в Reports → Calls и прочитайте Diagnosis: там назван этап и последний код.
  2. Отрицательный код означает, что звонок отклонил коммутатор: найдите его в таблице внутренних кодов ниже.
  3. Положительный код при наличии Vendor attempts (попытки к вендорам) в карточке звонка пришёл от вендора; без попыток — от коммутатора ещё до маршрутизации.
  4. Повторите тот же звонок в Tools & Debugs → Test Dialplan с CLI, CLD и удалённым адресом звонка: ошибка там означает проблему конфигурации, успех — что проблема в сети или на стороне вендора.

Причина 1: звонок не аутентифицирован (401, 403, 407)

Заголовок раздела «Причина 1: звонок не аутентифицирован (401, 403, 407)»

Как подтвердить: у звонка нет Vendor attempts и нет аккаунта в CDR, либо он виден только в SIP Logs Viewer. 401 и 407 — это запросы digest-учётных данных; устройство, которое получает их постоянно, использует неверный пароль. 403 означает, что ни одно Authentication Rule (правило аутентификации) не совпало с IP-адресом источника и номерами или что два правила совпали одинаково хорошо.

Решение:

  1. Для зарегистрированного устройства проверьте VoIP Login и VoIP Password аккаунта, а также то, что отмечено Registration Allowed (регистрация разрешена).
  2. Для транка откройте Authentication Rules аккаунта и сравните Remote IP Address, Incoming CLI/ANI и Incoming CLD/DNIS с INVITE.
  3. Если устройство отправляет CLI, который отличается от его логина, проверьте Trust Caller Info (доверять данным абонента) в аккаунте.

Смотрите Аутентификация.

Причина 2: коммутатор отклонил звонок (отрицательный код)

Заголовок раздела «Причина 2: коммутатор отклонил звонок (отрицательный код)»

Как подтвердить: CDR показывает отрицательный код. Самые распространённые — -20 Insufficient Balance, -14 / -22 No Rate Found, -21 Destination Is Forbidden, -23 Loss Protection и -25 No Routes Found.

Решение: найдите нужный экран по таблице ниже. Денежные коды исправляются через Add Balance (пополнить баланс) или Credit Limit (кредитный лимит), коды ставок — в тарифе аккаунта или реселлера над ним, коды маршрутов — в группе маршрутизации и её маршрутах терминации.

Причина 3: ни один вендор не смог принять звонок (480, 486, 503, 408)

Заголовок раздела «Причина 3: ни один вендор не смог принять звонок (480, 486, 503, 408)»

Как подтвердить: карточка звонка содержит Vendor attempts, и все они неудачные. 503 Service Unavailable от всех вендоров обычно означает, что они недоступны или отклоняют ваш IP-адрес; 480 Temporarily Unavailable и 486 Busy Here — обычные ответы о состоянии вызываемого абонента; 408 Request Timeout означает, что вендор не ответил в пределах тайм-аутов.

Решение:

  1. Откройте Vendors Call Records (записи звонков вендоров) для задействованных вендоров и проверьте, не проходят ли все их звонки или только на эти номера.
  2. Уменьшите Reply Timeout (тайм-аут ответа) на подключениях, которые не отвечают, чтобы следующий вендор пробовался раньше; добавьте в группу маршрутизации второго вендора для резервирования.
  3. Добавьте коды типа «занято», например 486, в Huntstop SIP Codes подключения, чтобы занятого абонента не пробовали повторно через всех остальных вендоров.

Смотрите Маршрутизация и Тайм-ауты звонков.

Причина 4: не удаётся согласовать медиа (488, -5, -7, -43)

Заголовок раздела «Причина 4: не удаётся согласовать медиа (488, -5, -7, -43)»

Как подтвердить: код 488 Not Acceptable Here, -7 Unacceptable Codec, -5 Malformed SDP или -43 Media Relay Error. SDP Records в Call Details (детали звонка) показывают предложенные кодеки.

Решение: согласуйте Preferred Codec (предпочтительный кодек) аккаунта с тем, что принимает вендор, или снимите Use Preferred Codec Only (только предпочтительный кодек); проверьте Use Media Relay (использовать медиа-реле) в подключении. Смотрите Управление кодеками.

Причина 5: достигнут лимит (-4, -16, -18, -19, -26, -31 до -34)

Заголовок раздела «Причина 5: достигнут лимит (-4, -16, -18, -19, -26, -31 до -34)»

Как подтвердить: в описании назван лимит Capacity, Max Sessions или CPS аккаунта, клиента, правила аутентификации, подключения или всей системы.

Решение: повысьте лимит на объекте, названном в описании, или распределите трафик на большее число подключений. Системный лимит CPS задаётся для инсталляции; обратитесь в поддержку.

Коды 1xx — промежуточные, 2xx — успех, 3xx — перенаправление, 4xx — ошибки запроса, 5xx — ошибки сервера, 6xx — глобальные сбои, которые нельзя повторять в другом месте.

Код Значение Обычная причина в FlySIP
100 Trying Запрос получен Действует только между соседними узлами; никогда не пересылается дальше
180 Ringing, 183 Session Progress Абонента вызывают; раннее медиа Обычный ход звонка; их получение останавливает 1xx Timeout
200 OK Звонок принят Норма
301, 302, 305, 380 Перенаправление на другой адрес Выполняется только с Accept 3xx Redirects в подключении
400 Bad Request Некорректный запрос Устройство или вендор отправляет повреждённые заголовки
401 Unauthorized, 407 Proxy Authentication Required Нужны учётные данные Digest-запрос; если повторяется — неверный пароль
403 Forbidden Отказано Нет совпадающего правила аутентификации, аккаунт заблокирован или вендор отклоняет ваш IP-адрес
404 Not Found Неизвестное направление DID не настроен, нераспределённый номер в диапазоне DID или вендор без этого маршрута
408 Request Timeout Нет окончательного ответа вовремя Вендор не ответил в пределах тайм-аутов
480 Temporarily Unavailable Абонент недоступен Незарегистрированное устройство, нет ответа на другом конце
484 Address Incomplete Номер слишком короткий Набранный номер неполный; соответствует -24
486 Busy Here, 600 Busy Everywhere Занято Норма; кандидаты для Huntstop SIP Codes
487 Request Terminated Отменено Абонент положил трубку до ответа
488 Not Acceptable Here Медиа неприемлемо Несоответствие кодеков или SDP
500 Server Internal Error Ошибка сервера Сбой на стороне вендора или другого конца
502 Bad Gateway, 503 Service Unavailable Шлюз недоступен или перегружен Сбой или нехватка ёмкости у вендора; попробуйте другого вендора
603 Decline Отклонено вызываемым абонентом Норма

Коммутатор записывает отрицательные коды, когда сам отклоняет звонок. Описание отображается в подсказке CDR, в Call Details и в фильтре Result (результат).

Код Описание Где смотреть
-1 External Translator Rejected The Call Rules & Lists
-2, -5, -6 Body-less INVITE, Malformed SDP, Unsupported Content-Type Звонящее устройство
-3 Account Expired Lifetime (days) аккаунта
-4 Connection Capacity Exceeded Capacity подключения
-7 Unacceptable Codec Кодеки аккаунта и вендора
-8 до -11, -13, -27, -29, -35, -36 Некорректное правило трансляции в правиле аутентификации, аккаунте, DID или правиле после аутентификации Правило, названное в описании; проверьте его синтаксис
-12 Cannot Find The Session To Bind To Перевод или перехват звонка на уже завершившуюся сессию
-14 No Rate Found In Tariff Ставки тарифа аккаунта
-15 Call Loop Detected Маршрутизация, которая возвращает звонок обратно на коммутатор
-16, -32, -34 Too Many Sessions для аккаунта, клиента или правила аутентификации Max Sessions этого объекта
-17 Account Is In Use Аккаунт допускает только один звонок одновременно
-18, -19, -26, -31, -33 Лимит CPS на аккаунте, системе, подключении, клиенте или правиле аутентификации Max Calls Per Second этого объекта
-20 Insufficient Balance Balance и Credit Limit аккаунта и каждого клиента над ним
-21 Destination Is Forbidden Ставка с отметкой Forbidden
-22 No Rate Found In Customer’s Tariff Ставки тарифа реселлера над аккаунтом
-23 Loss Protection Max Loss тарифа; цена вендора выше вашей
-24 Address Is Incomplete Номер слишком короткий
-25 No Routes Found Маршруты терминации в группе маршрутизации аккаунта
-28, -37 CLD or CLI is in the Do Not Call List DNC List, DNC CLI List
-30 Call has been canceled by calling party Абонент положил трубку
-40 Anonymity Disallowed Block Incoming Anonymous в аккаунте
-41, -44, -45 STIR/SHAKEN verification failed, Identity Required, Authentication failed SIP Features → STIR/SHAKEN
-42, -43 Internal Server Error, Media Relay Error Обратитесь в поддержку с Call-ID

Изменение кода, который получают ваши клиенты

Заголовок раздела «Изменение кода, который получают ваши клиенты»

Tools & Debugs → Result Code Internal сопоставляет внутренний код с SIP-кодом и причиной, которые отправляются абоненту; Result Code External сопоставляет коды, полученные от вендоров, при необходимости отдельно для каждого Account Class (класс аккаунта). Каждая запись имеет In Code, Out Code и Reason. Используйте их, когда оборудование клиента плохо реагирует на определённый код, например чтобы возвращать 503 вместо -20 и коммутатор клиента пробовал другого оператора.

Соберите следующую информацию и создайте обращение на support.flysip.com: