8(499)-709-97-83
Работаем с 8:00 до 19:00

Коды ответа и их значения в протоколe SIP

  • 28 июня 2014

Коды ответов сервера (коды состояния запроса) в протоколе SIP, согласно RFC2543

Код ответа от сервера (код состояния запроса) состоит из трех цифр и показывает информацию об обработке запроса сервером или оконечным устройством. Рядом с любым кодом, передается поясняющая фраза, краткое текстовое описание, кода ответа. Код ответа необходим для серверов и оконечных устройств, при этом, они не смотрят поясняющие фразы. А поясняющие фразы необходимы лишь для конечных пользователей.

Ниже представлено описание кодов состояния запроса. Более полное описание вы можете прочитать в RFC2543.

Первая цифра кода состояния запроса определяет класс ответа. Последние две цифры не имеют определенной роли в классификации. Протокол SIP/2.0 определяет 6 значение для первой цифры:

  • 1xx: Информационные ответы (Informational) – запрос получен, запрос обрабатывается;
  • 2xx: Успех выполнения запроса (Success) – запрос был получен, понят, принят в обработку;
  • 3xx: Переадресация (Redirection) – для завершения запроса необходимо, выполнить следующие действия;
  • 4xx: Ошибка Клиента (Client Error) – запрос имеет некорректный синтаксис(информацию) или запрос не может быть выполнен на данном сервере;
  • 5xx: Ошибка Сервера (Server Error) – сервер не в состоянии выполнить корректный запрос;
  • 6xx: Глобальная Ошибка (Global Failure) – запрос не может быть выполнен на любом сервере.

Далее рассмотрим часто встречающиеся коды состояния запросов и поясняющие фразы к ним, используемые в SIP/2.0. Поясняющие фразы- это рекомендация, пользователи могут изменить их, без воздействия на протокол SIP/2.0. Обратите внимание, что много кодов ответов взято из протокола HTTP/1.1. В SIP/2.0 добавлены коды в диапазоне с x80, так же, в отличие от HTTP/1.1, добавлен новый класс кодов 6xx.

Коды ответов SIP являются расширяемыми. SIP приложению не требуется понимать смысл всех зарегистрированных кодов ответа, хотя такое понимание желательно. Тем не менее, приложения ДОЛЖНЫ понимать класс любого кода ответа, как это указано в первой цифре, и обрабатывать любой нераспознанный ответ как эквивалент кода ответа x00 этого класса. Например, если клиент получает незарегистрированный код ответа 431, он может смело предположить, что было что-то не так в его запросе, и должен обработать ответ, как если бы был получен код 400 (Bad Request). В таких случаях агентам пользователя СЛЕДУЕТ представить пользователю тело сообщения, возвращаемого с ответом, так как в теле сообщения, вероятно, включена информация, которая поясняет нестандартный ответ.

Информационные ответы:

  • 100” ; Trying – запрос обрабатывается
  • 180” ; Ringing – вызываемы пользователь определен. Идет сигнал о входящем вызове
  • 181” ; Call Is Being Forwarded – вызов переадресовывается к другому пользователю
  • 182” ; Queued – вызываемый абонент недоступен, вызов поставлен в очередь
  • 183” ; Session Progress – данный ответ используется для передачи описания медианных SDP

Успех выполнения запроса:

  • 200” ; OK – успешное выполнение запроса
  • 202” ; Accepted – запрос принят в обработку

Переадресация:

  • 300” ; Multiple Choices – в ответе указаны несколько SIP адресов, где можно найти вызываемого пользователя
  • 301” ; Moved Permanently – вызываемый абонент больше не находится по адресу, указанному в запросе
  • 302” ; Moved Temporarily – вызываемый абонент временно не находится по адресу, указанному в запросе
  • 305” ; Use Proxy – входящий вызов должен пройти через прокси-сервер
  • 380” ; Alternative Service – запрошенная услуга недоступна, но есть альтернативные варианты

Ошибка Клиента:

  • 400” ; Bad Request – некорректный запрос, запрос не понятен серверу
  • 401” ; Unauthorized – ответ, что пользователь еще не авторизован на сервере, после этого ответа, посылается повторный запрос RIGISTER с логином и паролем
  • 402” ; Payment Required – требуется оплата
  • 403” ; Forbidden – абонент не зарегистрирован, не существует
  • 404” ; Not Found – вызываемы абонент не найден на сервере
  • 405” ; Method Not Allowed – метод не поддерживается сервером
  • 406” ; Not Acceptable – пользователь недоступен
  • 407” ; Proxy Authentication Required – необходима аутентификация на сервере
  • 408” ; Request Timeout – время обработки запроса истекло
  • 409” ; Conflict – запрос не может быть выполнен из-за конфликта с текущим состоянием сервера/клиента
  • 410” ; Gone – запрошенный пользователь больше не доступен на сервере и нет адреса для перевода вызова
  • 411” ; Length Required – сервер отказывается принимать запрос без определенного поля Content-Length
  • 413” ; Request Entity Too Large – сервер отказывается обслуживать запрос, т.к. размер запроса слишком велик
  • 414” ; Request-URI Too Large – сервер отказывается обслуживать запрос, потому что запрашиваемый URI больше, чем сервер может обработать.
  • 415” ; Unsupported Media Type – сервер отказывается обработать запрос, потому что тело сообщения запроса находится в формате, который сервер не поддерживает. Сервер должен вернуть список допустимых форматов, используя Accept, Accept-Encoding и Accept-Language в поле заголовка.
  • 420” ; Bad Extension – сервер не понял расширение протокола SIP
  • 480” ; Temporarily not available – направление временно недоступно
  • 481” ; Call Leg/Transaction Does Not Exist – этот ответ будет возвращен в двух случаях: сервер получил запрос BYE, который не соответствует любому существующему вызову или сервер получил запрос CANCEL, что не соответствует существующим транзакция.
  • 482” ; Loop Detected – обнаружен замкнутый маршрут передачи запроса
  • 483” ; Too Many Hops – Превышено число прохода прокси-серверов, чем указано в поле Max-Forwards
  • 484” ; Address Incomplete – В запросе не полный адрес
  • 485” ; Ambiguous – адрес вызываемого пользователя не однозначен
  • 486” ; Busy Here – абонент занят
  • 487” ; Request Terminated – запрос отменен, обычно приходит при отмене вызова

Ошибка Сервера:

  • 500” ; Internal Server Error – внутренняя ошибка сервера
  • 501” ; Not Implemented – сервер не поддерживает функциональные возможности, необходимые для выполнения запроса.
  • 502” ; Bad Gateway – сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от подчиненного сервера, к которому он обратился для выполнения запроса.
  • 503” ; Service Unavailable – сервер в настоящее время не в состоянии обработать запрос из-за временной перегрузки или технического обслуживания сервера.
  • 504” ; Gateway Time-out – сервер, действуя в качестве шлюза, не получил своевременного ответа от сервера (например, сервер определения местоположения) к которому он обратился для выполнения запроса.
  • 505” ; SIP Version not supported – сервер не поддерживает или отказывается поддерживать, версию протокола SIP, который был использован в сообщении запроса

Глобальная Ошибка:

  • 600” ; Busy Everywhere – вызов дошел до вызываемого абонента, но вызываемый абонент занят и не желает принять вызов в настоящее время.
  • 603” ; Decline – вызов дошел до вызываемого абонента, но вызываемый абонент занят и не желает принять вызов, не указывая причину отказа.
  • 604” ; Does not exist anywhere – сервер имеет точную информацию о том, что пользователя, указанного в поле To не существует нигде. Поиск пользователя в другом месте не даст никаких результатов.
  • 606” ; Not Acceptable – сервер установил соединение с абонентом, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации не доступны

 

Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.
 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)