SIP — Коды ответов

S
Автор Sergiiy
Обновлено 1 год назад

Ответ SIP — это сообщение, созданное сервером агента пользователя (UAS) или сервером SIP для ответа на запрос, созданный клиентом. Это может быть формальное подтверждение для предотвращения повторной передачи запросов UAC.

  • Ответ может содержать некоторые дополнительные поля заголовка с информацией, необходимой UAC.
  • SIP имеет шесть ответов.
  • От 1xx до 5xx были заимствованы из HTTP, а 6xx введены в SIP.
  • 1xx считается предварительным ответом, а остальные - окончательными ответами.   
Сорт Описание Действие
1хх Информационный Это указывает на состояние вызова до завершения, также известное как предварительный ответ.
2хх Успех Запрос выполнен. Если это было для INVITE, должен быть отправлен Ack; в противном случае остановить повторную передачу запроса.
3хх Перенаправление Сервер вернул возможные местоположения. Клиент должен повторить запрос на другом сервере.
4хх Ошибка клиента Запрос не выполнен из-за ошибки клиента. Клиент может повторить запрос, если он будет переформулирован в соответствии с ответом.
5хх Сбой сервера Запрос не выполнен из-за ошибки сервера. Запрос может быть отозван на другом сервере.
6хх Глобальный провал Запрос не выполнен. Запрос не должен повторяться на этом или других серверах.

Информационная(1xx)

Информационные ответы используются для индикации хода вызова . Обычно ответы сквозные (кроме 100 Trying). Основная цель информационных ответов — остановить повторную передачу запросов INVITE. 

Информационные ответы включают следующие ответы:

100 Trying

  • Ответ в этом особом случае представляет собой всего лишь пошаговый запрос.  
  • Оно никогда не пересылается и может не содержать тела сообщения.
  • Он используется, чтобы избежать повторной передачи запросов INVITE .  

180 Ringing

  • Этот ответ используется для указания того, что пользовательский агент получил сообщение INVITE и происходит оповещение .    

181 Call is Being Forwarded

  • Этот ответ используется для указания того, что вызов был переадресован на другую конечную точку.
  • Он отправляется, когда информация может быть полезна вызывающему абоненту.
  • Он дает статус вызывающего абонента, поскольку операция переадресации может привести к тому, что ответ на вызов может занять больше времени.

182 Call Queued

  • Этот ответ используется для указания того, что сообщение INVITE получено и будет обработано в очереди.

183 Session Progress

  • Это указывает на то, что информация о ходе сеанса может присутствовать в теле сообщения или медиапотоке.
  • В отличие от ответа 100 Trying, ответ 183 является сквозным и устанавливает диалог.
  • Типичное использование этого ответа — разрешить UAC слышать мелодию звонка, сигнал «занято» или записанное объявление при звонках через шлюз в ТСОП.

Success(2xx)

Этот класс ответов предназначен для индикации того, что запрос принят. Он включает в себя следующие ответы:

200 OK

  • 200 OK используется для принятия приглашения на сеанс.
  • Он указывает на успешное завершение или получение запроса.

202 Accepted

  • 202 Accepted указывает, что UAS получил и понял запрос, но запрос, возможно, не был авторизован или обработан сервером.
  • Он обычно используется в ответах на методы SUBSCRIBE, REFER.

Redirection(3xx)

Обычно ответы этих классов отправляются серверами перенаправления в ответ на INVITE. Они также известны как ответы класса перенаправления. Он включает в себя следующие ответы:

300 Multiple Choices

  • Он содержит несколько полей заголовка Contact, чтобы указать, что служба определения местоположения вернула несколько возможных местоположений для SIP URI в Request-URI.

301 Moved Permanently

  • Этот ответ о перенаправлении содержит поле заголовка Contact с новым постоянным URI вызываемой стороны.
  • Адрес можно сохранить и использовать в будущих запросах INVITE.

302 Moved Temporarily

  • Этот ответ перенаправления содержит URI, который в настоящее время действителен, но не является постоянным.
  • То есть местоположение действительно в течение указанного времени.

305 Use Proxy

  • Этот ответ содержит URI, указывающий на прокси-сервер, имеющий достоверную информацию о вызывающей стороне.
  • Этот ответ может быть отправлен UAS, выдающим прокси для фильтрации входящих вызовов.

380 Alternative Service

  • Этот ответ возвращает URI, указывающий тип услуги, которую хотел бы получить вызываемый абонент.
  • Например, вызов может быть перенаправлен на сервер голосовой почты.

Client Error(4xx)

Ответы клиента об ошибках указывают на то, что запрос не может быть выполнен, так как некоторые ошибки идентифицируются со стороны UAC. Коды ответов обычно отправляются UAS. Получив сообщение об ошибке, клиент должен повторно отправить запрос, изменив его на основе ответа. Ниже обсуждаются некоторые из важных ответов клиента на ошибку.

400 Bad Request

  • Это указывает на то, что запрос не был понят сервером.
  • В запросе могут отсутствовать обязательные поля заголовка, такие как «Кому», «От», «Идентификатор вызова» или «CSeq».

401 Unauthorized

    • Это указывает на то, что запрос требует, чтобы пользователь выполнил аутентификацию.
    • 401 Unauthorized обычно отправляется сервером регистратора для запроса REGISTER.
    • Ответ содержит поле заголовка WWW-Authenticate, которое запрашивает правильные учетные данные от вызывающего пользовательского агента.

401 Неавторизованный

  • Последующий REGISTER запустится из пользовательского агента с правильными учетными данными.

403 Forbidden

  • 403 Forbidden отправляется, когда сервер понял запрос, нашел запрос правильно сформулированным, но не будет его обслуживать.
  • Этот ответ не используется, когда требуется авторизация.

404 Not Found

  • 404 Not Found указывает, что пользователь, идентифицированный SIP URI в Request-URI, не может быть обнаружен сервером или что пользователь в настоящее время не зарегистрирован в пользовательском агенте.

405 Method Not Allowed

  • Это указывает на то, что сервер или пользовательский агент получил и понял запрос, но не желает его выполнять.
  • Пример: Агенту пользователя может быть отправлен запрос REGISTER.
  • Поле Разрешить должно присутствовать, чтобы информировать UAC о том, какие методы приемлемы.  

406 Not Acceptable

  • Этот ответ указывает, что запрос не может быть обработан из-за требования в сообщении запроса.
  • Поле заголовка Accept в запросе не содержало никаких опций, поддерживаемых UAS.

407 Proxy Authentication Required

  • Этот запрос, отправленный прокси-сервером, указывает, что UAC должен сначала аутентифицировать себя с помощью прокси-сервера, прежде чем запрос может быть обработан.
  • Ответ должен содержать информацию о типе учетных данных, требуемых прокси-сервером, в поле заголовка Proxy-Authenticate .  
  • Запрос можно отправить повторно с соответствующими учетными данными в поле заголовка Proxy-Authorization .  

408 Request Timeout

  • Этот ответ отправляется, когда поле заголовка Expires присутствует в запросе INVITE и указанный период времени прошел.
  • Он может быть отправлен прокси-сервером разветвления или пользовательским агентом.
  • Запрос может быть повторен в любое время UAC.

422 Session Timer Interval Too Small

  • Ответ используется для отклонения запроса, содержащего поле заголовка Session-Expires.
  • Минимально допустимый интервал указывается в обязательном поле заголовка Min-SE.
  • Вызывающая сторона может повторить запрос без поля заголовка Session-Expires или со значением, меньшим или равным указанному минимуму.

423 Interval Too Brief

  • Ответ возвращается регистратором, который отклоняет запрос на регистрацию, поскольку запрошенный срок действия для одного или нескольких контактов слишком короткий.
  • Ответ должен содержать поле заголовка Min-Expires с указанием минимального интервала истечения срока действия, который будет принят регистратором.  

480 Temporarily Unavailable

  • Этот ответ указывает, что запрос достиг правильного места назначения, но вызываемая сторона по какой-то причине недоступна.
  • Ответ должен содержать заголовок Retry-After , указывающий, когда запрос может быть выполнен.  

481 Dialog/Transaction Does Not Exist

  • Этот ответ указывает, что был получен ответ, ссылающийся на существующий вызов или транзакцию, для которых на сервере нет записей или информации о состоянии.

483 Too Many Hops

  • Этот ответ указывает, что запрос был перенаправлен максимальное количество раз, как указано в заголовке Max-Forwards в запросе.
  • На это указывает получение заголовка Max-Forward: 0 в запросе.

486 Busy Here

  • Это указывает на то, что пользовательский агент занят и не может принять вызов.

487 Request Terminated

  • Этот ответ может быть отправлен UA, получившим запрос CANCEL на ожидающий запрос INVITE.
  • 200 OK отправляется для подтверждения CANCEL, а 487 отправляется для отмены транзакции INVITE.

Server Failure (5xx)

Этот ответ класса используется для указания того, что запрос не может быть обработан из-за ошибки на сервере. Серверу не удалось выполнить явно допустимый запрос. Ответ может содержать поле заголовка Retry-After . Запрос можно попробовать в других местах, поскольку в запросе не указаны ошибки. Некоторые из важных ответов сервера на сбой обсуждаются ниже.  

500 Server Internal Error

  • 500 указывает на то, что на сервере произошла какая-то ошибка, которая не позволяет ему обработать запрос.
  • Это один из видов сбоя сервера, который указывает клиенту повторить попытку запроса на этом сервере через несколько секунд.

501 Not Implemented

  • Это указывает на то, что сервер не может обработать запрос, поскольку он не поддерживается.
  • Этот ответ можно использовать для отклонения запроса, содержащего неизвестный метод.

502 Bad Gateway

  • Этот ответ отправляется прокси-сервером, который действует как шлюз в другую сеть.
  • Это указывает на то, что какая-то проблема в другой сети препятствует обработке запроса.

503 Service Unavailable

  • Этот ответ указывает, что запрошенная служба временно недоступна в это время.
  • Запрос можно повторить через несколько секунд или после истечения срока действия поля заголовка Retry-After.

504 Gateway Timeout

  • Этот ответ приходит, когда запрос не выполнен из-за тайм-аута в другой сети, к которой подключается шлюз.
  • Это ответ класса ошибки сервера, поскольку вызов завершается сбоем из-за сбоя сервера в доступе к ресурсам за пределами сети SIP.

505 Версия не поддерживается

  • Сервер отклоняет запрос, если он приходит с другим номером версии SIP. В этом сообщении указывается отказ.
  • В настоящее время SIP версии 2.0 является единственной реализованной версией.

513 Message Too Large

  • Этот ответ используется UAS, чтобы указать, что размер запроса слишком велик для его обработки.

580 Preconditions Failure

  • Этот ответ используется для отклонения предложения SDP, в котором требуемые предварительные условия не могут быть выполнены.

Global Error (6xx)

Этот класс ответа указывает, что сервер знает, что запрос не будет выполнен, где бы он ни выполнялся. В результате запрос не должен быть отправлен в другие места.

Только сервер, обладающий точной информацией о пользователе, идентифицированном Request-URI во всех возможных случаях, должен отправлять глобальный ответ класса ошибки. В противном случае следует отправить ответ класса ошибки клиента.

Поле заголовка Retry-After можно использовать, чтобы указать, когда запрос может быть успешным. Некоторые из важных ответов обсуждаются ниже:

600 Busy Everywhere

  • Этот ответ указывает, что на вызов указанного Request-URI можно ответить в других местах.

603 Decline

  • Этот ответ может означать, что вызываемая сторона занята или просто не хочет принимать вызов.

604 Does Not Exist Anywhere

  • Этот ответ аналогичен ответу 404 Not Found , но указывает, что пользователя в Request-URI нигде нельзя найти.  
  • Этот ответ должен быть отправлен только сервером, имеющим доступ ко всей информации о пользователе.

606 Not Acceptable

  • Этот ответ указывает, что какой-то аспект желаемого сеанса неприемлем для UAS, и в результате сеанс не может быть установлен.
  • Ответ может содержать поле Warning header с числовым кодом, описывающим, что именно недопустимо.  
  • Запрос может быть повторен с другой информацией о мультимедийном сеансе.
Оцените эту статью