BroadNet
SIP / VoIPОтветы

Коды ответов SIP (1xx-6xx)

Обновлено 3 мин чтенияна основе стандартов
Прямой ответ

Ответы SIP — это трёхзначные коды в шести классах, повторяющие HTTP: 1xx предварительные (запрос получен, ещё обрабатывается), 2xx успех, 3xx перенаправление, 4xx сбой клиента/запроса, 5xx сбой сервера и 6xx глобальный сбой (запрос не удаётся везде). Первая цифра задаёт класс; полный код идентифицирует конкретный результат.

§01

Шесть классов ответов

Каждый ответ SIP несёт код статуса, ведущая цифра которого определяет его класс, точно как в HTTP. Предварительные (1xx) ответы промежуточны — запрос продвигается, но окончательного результата ещё нет. 2xx — успех. 3xx перенаправляет вызывающего в другое место. 4xx означает, что запрос не удался и обычно это вина вызывающего или запроса. 5xx означает, что сервер не смог выполнить казалось бы корректный запрос. 6xx — окончательный глобальный сбой: запрос не удастся в любом расположении, поэтому прокси должны прекратить перебор альтернатив.

Классы ответов SIP
КлассЗначение
1xxПредварительный — получен, ещё обрабатывается (не окончательный)
2xxУспех — запрос выполнен
3xxПеренаправление — попробуйте другое местоположение
4xxОшибка клиента/запроса — запрос не может быть выполнен в отправленном виде
5xxСбой сервера — сервер не смог выполнить действительный запрос
6xxГлобальный отказ — отказ везде; прекратить ветвление (forking)
§02

Предварительные коды и коды успеха

Ранний поток вызова управляется 1xx и 2xx. 100 Trying сообщает вышестоящему переходу, что запрос получен, и останавливает повторные передачи. 180 Ringing указывает, что телефон вызываемого звонит. 183 Session Progress несёт ранние медиа (гудки или объявления) до ответа на вызов. 200 OK — это окончательный успех: для INVITE он означает, что на вызов ответили, и несёт ответ SDP и должен быть подтверждён ACK.

Ключевые коды 1xx и 2xx
КодПричинаЗначение
100TryingЗапрос получен; прекращает повторную передачу с вышестоящей стороны
180RingingВызываемому абоненту подаётся сигнал вызова
181Call Is Being ForwardedЗапрос перенаправляется
182QueuedВызываемый абонент временно недоступен; звонок поставлен в очередь
183Session ProgressДоступны ранние медиа (сигнал контроля посылки вызова/объявление)
200OKУспех — для INVITE вызов принят
§03

Сбои клиента (4xx) — те, что вы будете отлаживать

Коды 4xx доминируют в реальной диагностике. 401/407 запрашивают аутентификацию (от UAS/registrar или прокси соответственно). 403 Forbidden и 404 Not Found говорят сами за себя. 408 Request Timeout означает отсутствие ответа вовремя. 486 Busy Here — вызываемый занят; 480 Temporarily Unavailable — вызываемый недостижим. 487 Request Terminated — ответ на INVITE, который был отменён CANCEL. 488 Not Acceptable Here обычно сигнализирует о сбое согласования SDP/кодека.

Часто встречающиеся коды 4xx
КодПричинаТипичная причина
400Bad RequestНекорректное сообщение
401 / 407Unauthorized / Proxy Auth RequiredЗапрос аутентификации (UAS / прокси)
403ForbiddenАутентифицирован, но нет разрешения
404Not FoundНеизвестный пользователь / неверный Request-URI
408Request TimeoutНет ответа до истечения таймера
480Temporarily UnavailableЗарегистрирован, но сейчас недоступен
486Busy HereВызываемый абонент занят
487Request TerminatedINVITE был отменен (CANCELled)
488Not Acceptable HereНе удалось согласовать медиа/кодек (SDP)
§04

Сбои сервера (5xx) и глобальные (6xx)

5xx и 6xx сигнализируют о сбоях за пределами самого запроса. 500 Server Internal Error и 503 Service Unavailable указывают на проблему сервера или далее по цепочке; 504 Server Time-out — это тайм-аут шлюза. Класс 6xx категоричен: 600 Busy Everywhere, 603 Decline (вызываемый активно отклонил), 604 Does Not Exist Anywhere и 606 Not Acceptable. Поскольку 6xx означает, что запрос не удаётся в любом возможном расположении, разветвляющий прокси прекращает перебор других ветвей — в отличие от 4xx, специфичного для одной цели.

Ключевые коды 5xx и 6xx
КодПричинаЗначение
500Server Internal ErrorСервер столкнулся с непредвиденной ошибкой
503Service UnavailableСервер временно перегружен/недоступен
504Server Time-outНет своевременного ответа от нижестоящего сервера
600Busy EverywhereВызываемый абонент занят во всех местоположениях
603DeclineВызываемый абонент явно отклонил вызов
604Does Not Exist AnywhereПользователя нигде не существует
606Not AcceptableПараметры сессии неприемлемы повсюду
Часто задаваемые вопросы

Часто задаваемые вопросы

Что означает SIP 200 OK?

200 OK — это ответ об успехе. Для INVITE он означает, что на вызов ответили, и несёт ответ SDP, завершающий согласование медиа; вызывающий должен подтвердить его ACK. Для других запросов он просто подтверждает, что операция удалась.

В чём разница между 486 Busy Here и 600 Busy Everywhere?

486 Busy Here означает, что конкретно контактируемая конечная точка занята, поэтому разветвляющий прокси может ещё попробовать другие расположения. 600 Busy Everywhere — это глобальный (6xx) сбой, означающий, что вызываемый занят во всех расположениях, поэтому прокси должны прекратить разветвление и вернуть сбой.

Почему я получаю SIP 488 Not Acceptable Here?

488 почти всегда означает сбой согласования медиа — предложение и ответ SDP не имеют общего кодека, либо не удалось согласовать обязательный параметр медиа (например, набор шифрования SRTP). Проверьте, что обе стороны поддерживают общий кодек и транспорт.

Что означает 407 Proxy Authentication Required?

Прокси запрашивает у запроса учётные данные. Клиент должен переотправить запрос с заголовком Proxy-Authorization, вычисленным из вызова. Это аналог 401 Unauthorized со стороны прокси, тогда как 401 приходит от UAS или registrar.

Для чего нужен ответ SIP 100 Trying?

100 Trying — это предварительный ответ, сообщающий вышестоящему переходу, что запрос получен и обрабатывается, что останавливает повторную отправку запроса отправителем. Он от перехода к переходу и никогда не идёт из конца в конец, как 180 или 200.

Ссылки

Технические характеристики источника

На этой странице представлены опубликованные стандарты, на которых они основаны. (Открывается в новой вкладке)

BNПоддерживается инженерной командой BroadNet·Обмен сообщениями операторского класса с 2003 года.
Прикрепите это к проводу

Разработано с использованием реального SMPP подключения и REST API.

Запросите тестовый доступ с реальными тестовыми ключами: сначала отправьте их на свой подтвержденный номер, а затем, после утверждения вашей личности отправителя и маршрутов, переходите к использованию в производственной среде более чем в 200 странах.