Список кодов ответов SIP - List of SIP response codes

В Протокол инициирования сеанса (SIP) - это сигнализация протокол используется для управления сеансами связи, такими как Голос по IP телефонные звонки. Протокол SIP основан на транзакциях запроса / ответа аналогично Протокол передачи гипертекста (HTTP). Каждая транзакция состоит из SIP-запроса (который будет одним из нескольких методы запроса ) и хотя бы один ответ.[1]:p11

Запросы и ответы SIP могут генерироваться любым SIP пользовательский агент; Пользовательские агенты делятся на клиентов (UAC), которые инициируют запросы, и серверы (UAS), которые на них отвечают.[1]:§8 Один пользовательский агент может действовать как UAC и UAS для разных транзакций:[1]:стр. 26 например, SIP телефон - это пользовательский агент, который будет UAC при звонке и UAS при его получении. Кроме того, некоторые устройства будут действовать как UAC и UAS для одной транзакции; они называются двусторонними пользовательскими агентами (B2BUA).[1]:стр.20

В ответах SIP указывается трехзначный целочисленный код ответа, который является одним из ряда определенных кодов, которые подробно описывают статус запроса. Эти коды сгруппированы в соответствии с их первой цифрой как коды «предварительный», «успех», «перенаправление», «ошибка клиента», «ошибка сервера» или «глобальный сбой», соответствующие первой цифре от 1 до 6; они обозначаются, например, как «1xx» для предварительных ответов с кодом 100–199.[1]:§7.2 Коды ответов SIP соответствуют Коды ответа HTTP, хотя не все коды ответов HTTP действительны в SIP.[1]:§21

В ответах SIP также указывается «фраза причины», а фраза причины по умолчанию определяется для каждого кода ответа.[1]:§7.2 Однако эти объяснения причин могут быть изменены, например, для предоставления дополнительной информации.[1]:§21.4.18 или предоставить текст на другом языке.[1]:§20.3

Коды ответов SIP и соответствующие фразы-причины были изначально определены в RFC 3261.[1] Этот RFC также определяет параметры SIP Управление по присвоению номеров в Интернете (IANA), чтобы другие RFC могли предоставлять больше кодов ответов.[1]:§27[2]

Этот список включает все коды ответов SIP, определенные в IETF RFC и зарегистрирован в реестре IANA параметров SIP с 14 июля 2017 г.. Этот список также включает коды ответов SIP, определенные в устаревших RFC SIP (в частности, RFC 2543 ), которые поэтому не зарегистрированы в IANA; они явно отмечены как таковые.

1xx - предварительные ответы

100 попыток
Выполнение расширенного поиска может занять значительное время, поэтому ответственный прокси-сервер должен отправить ответ 100 Trying.[1]:§21.1.1
180 Звонок
Целевой пользовательский агент получил ПРИГЛАШЕНИЕ и предупреждает пользователя о вызове.[1]:§21.1.2
181 Вызов переадресован
Серверы могут дополнительно отправить этот ответ, чтобы указать, что вызов переадресован.[1]:§21.1.3
182 В очереди
Указывает, что адресат был временно недоступен, поэтому сервер поставил вызов в очередь, пока адресат не станет доступен. Сервер может отправить несколько ответов 182 для обновления хода очереди.[1]:§21.1.4
183 Сессия Прогресс
Этот ответ может использоваться для отправки дополнительной информации о вызове, который все еще устанавливается.[1]:§21.1.5
199 Ранний диалог прекращен
Может использоваться сервером пользовательского агента для указания вышестоящим объектам SIP (включая клиента пользовательского агента (UAC)), что ранний диалог был прерван.[3]

2xx - успешные ответы

200 ОК
Указывает, что запрос был успешным.[1]:§21.2.1
202 Принято
Указывает, что запрос принят в обработку, но обработка не завершена.[4]:§7.3.1[5] Не рекомендуется.[6]:§8.3.1[2]
204 Нет уведомления
Указывает, что запрос был успешным, но соответствующий ответ не будет получен.[7]

3xx - ответы на перенаправление

300 вариантов выбора
Адрес преобразован в один из нескольких вариантов, которые может выбрать пользователь или клиент, которые перечислены в теле сообщения или в полях контакта сообщения.[1]:§21.3.1
301 перемещен навсегда
Исходный Request-URI больше не действителен, новый адрес указывается в поле заголовка Contact, и клиент должен обновить все записи исходного Request-URI новым значением.[1]:§21.3.2
302 перемещен временно
Клиент должен попробовать по адресу в поле «Контакт». Если присутствует поле Expires, клиент может кэшировать результат за этот период времени.[1]:§21.3.3
305 Использовать прокси
В поле «Контакт» указывается прокси, который должен использоваться для доступа к запрошенному месту назначения.[1]:§21.3.4
380 Альтернативная служба
Вызов не удался, но альтернативы подробно описаны в теле сообщения.[1]:§21.3.5

4xx - ответы клиента при сбое

ошибка 400, неверный запрос
Невозможно понять запрос из-за неправильного синтаксиса.[1]:§21.4.1
401 Неавторизованный
Запрос требует аутентификации пользователя. Такой ответ выдают БПЛА и регистраторы.[1]:§21.4.2
402 Требуется оплата
Зарезервировано для использования в будущем.[1]:§21.4.3
403 Запрещено
Сервер понял запрос, но отказывается его выполнить.[1]:§21.4.4 Иногда (но не всегда) это означает, что вызов был отклонен получателем.
404 Не Найдено
Сервер имеет точную информацию о том, что пользователь не существует в домене, указанном в Request-URI. Этот статус также возвращается, если домен в Request-URI не соответствует ни одному из доменов, обрабатываемых получателем запроса.[1]:§21.4.5
405 Метод не разрешен
Метод, указанный в строке запроса, понятен, но не разрешен для адреса, указанного в Request-URI.[1]:§21.4.6
406 неприемлемо
Ресурс, идентифицированный запросом, может генерировать только объекты ответа, которые имеют характеристики содержимого, но не приемлемы в соответствии с полем заголовка Accept, отправленным в запросе.[1]:§21.4.7
407 Требуется проверка подлинности прокси
Запрос требует аутентификации пользователя. Этот ответ выдают прокси.[1]:§21.4.8
408 Тайм-аут запроса
Не удалось найти пользователя вовремя. Сервер не мог дать ответ в течение подходящего промежутка времени, например, если он не мог определить местоположение пользователя во времени. Клиент МОЖЕТ повторить запрос без изменений в любое время. [1]:§21.4.9
409 Конфликт
Пользователь уже зарегистрирован.[8]:§7.4.10 Устарело из-за отсутствия в более поздних RFC[1] и отказом от регистрации в IANA.[2]
410 ушел
Пользователь когда-то существовал, но здесь больше не доступен.[1]:§21.4.10
411 Требуется длина
Сервер не примет запрос без допустимой длины содержимого.[8]:§7.4.12 Устарело из-за отсутствия в более поздних RFC[1] и отказом от регистрации в IANA.[2]
412 Условный запрос не выполнен
Данное предварительное условие не выполнено.[9]
413 Запрос слишком большой объект
Тело запроса слишком велико.[1]:§21.4.11
414 запрос-URI слишком длинный
Сервер отказывается обслуживать запрос, потому что Request-URI длиннее, чем сервер готов интерпретировать.[1]:§21.4.12
415 Неподдерживаемый тип носителя
Тело запроса в неподдерживаемом формате.[1]:§21.4.13
416 Неподдерживаемая схема URI
Запрос-URI неизвестен серверу.[1]:§21.4.14
417 Неизвестный приоритет ресурса
Был тег параметра приоритета ресурса, но не заголовок приоритета ресурса.[10]
420 Bad Extension
Используется неверное расширение протокола SIP, которое не распознается сервером.[1]:§21.4.15
421 Требуется расширение
Серверу требуется конкретное расширение, не указанное в заголовке Поддерживаемые.[1]:§21.4.16
422 Интервал сеанса слишком мал
Полученный запрос содержит поле заголовка Session-Expires с продолжительностью ниже минимального таймера.[11]
423 Интервал слишком короткий
Срок действия ресурса слишком короткий.[1]:§21.4.17
424 Неверная информация о местоположении
Содержание запроса было неверным или неудовлетворительным по другим причинам.[12]
425 Плохое предупреждающее сообщение
Сервер отклонил неинтерактивный экстренный вызов, указав, что запрос был настолько искажен, что невозможно определить разумный экстренный ответ на предупреждение.[13]
428 Использовать заголовок удостоверения
Для политики сервера требуется заголовок Identity, но он не был предоставлен.[14]:p11
429 Предоставить идентификацию реферера
Сервер не получил действительный токен по ссылке по запросу.[15]
430 Flow Failed
Определенный поток к пользовательскому агенту не удался, хотя другие потоки могут быть успешными. Этот ответ предназначен для использования между прокси-устройствами и не должен быть виден конечной точкой (и, если он виден одним, должен рассматриваться как ошибка 400, неверный запрос отклик).[16]:§11.5
433 Анонимность запрещена
Запрос был отклонен, потому что он был анонимным.[17]
436 Плохая идентификационная информация
Запрос имеет заголовок Identity-Info, и схема URI в этом заголовке не может быть разыменована.[14]:p11
437 Неподдерживаемый сертификат
Серверу не удалось проверить сертификат для домена, подписавшего запрос.[14]:p11
438 Неверный заголовок удостоверения
Сервер получил действительный сертификат, который, как утверждается, был использован для подписи запроса, но не смог проверить эту подпись.[14]:p12
439 First Hop не имеет исходящей поддержки
Первый исходящий доверенное лицо пользователь, пытающийся зарегистрироваться, не поддерживает "исходящую" функцию RFC 5626, Хотя регистратор делает.[16]:§11.6
440 Превышена максимальная ширина
Если прокси-сервер SIP определяет, что контекст ответа имеет недостаточную входящую максимальную ширину для выполнения желаемого параллельного разветвления, и прокси-сервер не желает / не может компенсировать последовательное разветвление или отправку перенаправления, этот прокси ДОЛЖЕН вернуть ответ 440. Клиент, получивший ответ 440, может сделать вывод, что его запрос не достиг всех возможных мест назначения. [18]
469 Пакет плохой информации
Если UA SIP получает запрос INFO, связанный с информационным пакетом, который UA не сообщил о своей готовности принять, UA ДОЛЖЕН отправить ответ 469, который содержит поле заголовка Recv-Info с информационными пакетами, для которых UA желает получить ИНФО запросы. [19]
470 Требуется согласие
У источника запроса не было разрешения получателя сделать такой запрос.[20]
480 Временно недоступен
Callee в настоящее время недоступен.[1]:§21.4.18
481 Вызов / транзакция не существует
Сервер получил запрос, который не соответствует ни одному диалогу или транзакции.[1]:§21.4.19
482 Обнаружена петля
Сервер обнаружил петлю.[1]:§21.4.20
483 Too Many Hops (Слишком много хмеля)
Заголовок Max-Forwards достиг значения «0».[1]:§21.4.21
484 Адрес неполный
Запрос-URI неполный.[1]:§21.4.22
485 Неоднозначно
Request-URI неоднозначен.[1]:§21.4.23
486 Здесь занято
Callee занят.[1]:§21.4.24
487 Запрос прекращен
Запрос завершен до свидания или отмены.[1]:§21.4.25
488 Здесь неприемлемо
Некоторые аспекты описания сеанса или Request-URI неприемлемы.[1]:§21.4.26
489 Плохое событие
Сервер не распознал пакет событий, указанный в поле заголовка события.[4]:§7.3.2[6]:§8.3.2
491 Запрос на рассмотрении
Сервер имеет ожидающий запрос из того же диалогового окна.[1]:§21.4.27
493 Невозможно расшифровать
Запрос содержит зашифрованное тело MIME, которое получатель не может расшифровать.[1]:§21.4.28
494 Требуется соглашение об обеспечении безопасности
Сервер получил запрос, требующий согласованного механизма безопасности, и ответ содержит список подходящих механизмов безопасности, из которых запрашивающая сторона может выбрать:[21]:§§2.3.1–2.3.2 или дайджест-аутентификация испытание.[21]:§2.4

5xx - ответы на сбой сервера

внутренняя ошибка сервера 500
Серверу не удалось выполнить запрос из-за непредвиденного состояния.[1]:§21.5.1
501 Не реализовано
Сервер не может выполнить запрос, например, потому что он не распознает метод запроса. (Сравнить с 405 Метод не разрешен, где сервер распознает метод, но не разрешает или не поддерживает его.)[1]:§21.5.2
502 Неверный шлюз
Сервер действует как шлюз или же доверенное лицо, и получил недопустимый ответ от нижестоящего сервера при попытке выполнить запрос.[1]:§21.5.3
сервис 503 недоступен
Сервер находится на обслуживании или временно перегружен и поэтому не может обработать запрос. Поле заголовка «Retry-After» может указывать, когда клиент может повторить попытку своего запроса.[1]:§21.5.4
504 Тайм-аут сервера
Сервер попытался получить доступ к другому серверу, пытаясь обработать запрос, и не получил быстрого ответа.[1]:§21.5.5
505 Версия не поддерживается
Версия протокола SIP в запросе не поддерживается сервером.[1]:§21.5.6
513 Сообщение слишком большое
Длина сообщения запроса больше, чем может обработать сервер.[1]:§21.5.7
555 Служба push-уведомлений не поддерживается
Сервер не поддерживает службу push-уведомлений, указанную в параметре SIP URI pn-provider.[22]:§14.2.1
580 Precondition Failure (Отказ предусловия)
Сервер не может или не желает соблюдать некоторые ограничения, указанные в предложении.[23]

6xx - глобальные реакции на сбой

600 везде заняты
Все возможные направления заняты. В отличие от ответа 486, этот ответ указывает на то, что адресат знает, что нет альтернативных адресатов (таких как сервер голосовой почты), способных принять вызов.[1]:§21.6.1
603 Отклонить
Пункт назначения не желает участвовать в вызове или не может этого сделать, и, кроме того, пункт назначения знает, что нет альтернативных пунктов назначения (таких как сервер голосовой почты), желающих принять вызов.[1]:§21.6.2 Ответ может указывать на лучшее время для вызова в поле заголовка Retry-After.
604 Нигде не существует
Сервер имеет достоверную информацию о том, что запрошенный пользователь нигде не существует.[1]:§21.6.3
606 Неприемлемо
С агентом пользователя установилось соединение, но некоторые аспекты описания сеанса, такие как запрошенный носитель, пропускная способность или стиль адресации, были неприемлемы.[1]:§21.6.4
607 Нежелательный
Вызываемый абонент не хотел этого вызова от вызывающего абонента. Будущие попытки вызывающей стороны, скорее всего, будут отклонены аналогичным образом.[24]
608 отклонено
Посредническая машина или процесс отклонили попытку вызова.[25] Это контрастирует с кодом ответа SIP 607 (нежелательный), в котором вызываемая сторона отклонила вызов. Ответ может включать в себя контактные объекты, которые заблокировали вызов, в заголовке Call-Info, содержащем. Это обеспечивает механизм исправления для законных абонентов, которые обнаруживают, что их звонки заблокированы.

Рекомендации

  1. ^ а б c d е ж грамм час я j k л м п о п q р s т ты v ш Икс у z аа ab ac объявление ае аф аг ах ай эй ак аль являюсь ан ао ap водный ар в качестве в au средний ау топор ай az ба bb до н.э bd быть парень bg бх би Ъ bk Розенберг, Джонатан; Шульцринне, Хеннинг; Камарильо, Гонсало; Джонстон, Алан; Петерсон, Джон; Спаркс, Роберт; Хэндли, Марк; Школьница, Ева (июнь 2002 г.). SIP: протокол инициирования сеанса. IETF. Дои:10.17487 / RFC3261. RFC 3261.
  2. ^ а б c d Плотва, Адам; Дженнингс, Каллен; Петерсон, Джон; Барнс, Мэри (17 апреля 2013 г.) [Создано в январе 2002 г.]. «Коды ответа». Параметры протокола инициации сеанса (SIP). IANA.
  3. ^ Холмберг, Кристер (май 2011 г.). Код ответа Session Initiation Protocol (SIP) для индикации прерывания диалога. IETF. п. 1. Аннотация. Дои:10.17487 / RFC6228. RFC 6228.
  4. ^ а б Роуч, Адам Б. (июнь 2002 г.). Протокол инициации сеанса (SIP) - уведомление о конкретном событии. IETF. Дои:10.17487 / RFC3265. RFC 3265.
  5. ^ Филдинг, Рой Т.; Геттис, Джеймс; Могул, Джеффри С.; Нильсен, Хенрик Фристик; Масинтер, Ларри; Лич, Пол; Бернерс-Ли, Тим (Июнь 1999 г.). «202 Принято». Протокол передачи гипертекста - HTTP / 1.1. IETF. сек. 10.2.3. Дои:10.17487 / RFC2616. RFC 2616.
  6. ^ а б Плотва, Адам (июль 2012 г.). Уведомление о событиях, связанных с протоколом SIP. IETF. Дои:10.17487 / RFC6665. RFC 6665.
  7. ^ Ниеми, Аки (май 2010 г.). «Код ответа 204 (Нет уведомления)». В Уиллисе, Дин (ред.). Расширение событий протокола инициации сеанса (SIP) для условного уведомления о событии. IETF. сек. 7.1. Дои:10.17487 / RFC5839. RFC 5839.
  8. ^ а б Хэндли, Марк; Шульцринне, Хеннинг; Школьница, Ева; Розенберг, Джонатан (март 1999 г.). SIP: протокол инициирования сеанса. IETF. Дои:10.17487 / RFC2543. RFC 2543.
  9. ^ Ниеми, Аки, изд. (2004). ""412 Ошибка условного запроса "Код ответа". Расширение протокола инициации сеанса (SIP) для публикации состояния события. IETF. сек. 11.2.1. Дои:10.17487 / RFC3903. RFC 3903.
  10. ^ Шульцринне, Хеннинг; Полк, Джеймс (февраль 2006 г.). «Нет известного пространства имен или значения приоритета». Приоритет коммуникационных ресурсов для протокола инициации сеанса (SIP). IETF. сек. 4.6.2. Дои:10.17487 / RFC4412. RFC 4412.
  11. ^ Донован, Стив; Розенберг, Джонатан (апрель 2005 г.). "Определение кода ответа 422". Таймеры сеанса в протоколе инициации сеанса (SIP). IETF. сек. 6. Дои:10.17487 / RFC4028. RFC 4028.
  12. ^ Полк, Джеймс; Розен, Брайан; Петерсон, Джон (декабрь 2011 г.). "Код ответа 424 (неверная информация о местоположении)". Передача местоположения для протокола инициирования сеанса. IETF. сек. 4.3. Дои:10.17487 / RFC6442. RFC 6442.
  13. ^ Розен, Брайан; Шульцринне, Хеннинг; Чофениг, Ханнес; Гелленс, Рэндалл (сентябрь 2020 г.). "Код ответа 425 (недопустимое сообщение)". Неинтерактивные экстренные вызовы. IETF. сек. 5.1. Дои:10.17487 / RFC8876. RFC 8876.
  14. ^ а б c d Петерсон, Джон; Дженнингс, Каллен (август 2006 г.). Улучшения для управления аутентификацией в протоколе инициации сеанса (SIP). IETF. Дои:10.17487 / RFC4474. RFC 4474.
  15. ^ Спаркс, Роберт Дж. (Сентябрь 2004 г.). «Ответ 429 Provide Referrer Identity Error Response». Протокол инициирования сеанса (SIP), на который ссылается механизм. IETF. сек. 5. Дои:10.17487 / RFC3892. RFC 3892.
  16. ^ а б Дженнингс, Каллен; Махи, Рохан; Оде, Франсуа, ред. (Октябрь 2009 г.). Управление инициируемыми клиентом соединениями в протоколе инициации сеанса (SIP). IETF. Дои:10.17487 / RFC5626. RFC 5626.
  17. ^ Розенберг, Джонатан (декабрь 2007 г.). "433 (анонимность запрещена) Определение". Отклонение анонимных запросов в протоколе инициации сеанса (SIP). IETF. сек. 5. Дои:10.17487 / RFC5079. RFC 5079.
  18. ^ Устранение уязвимости к усилению в протоколе инициации сеанса (SIP) Forking Proxies. IETF. Декабрь 2008 г. Дои:10.17487 / RFC5393. RFC 5393.
  19. ^ Протокол инициации сеанса (SIP) INFO Метод и структура пакета. IETF. Январь 2011 г. Дои:10.17487 / RFC6086. RFC 6086.
  20. ^ Розенберг, Джонатан; Уиллис, Дин (октябрь 2008 г.). «Определение кода ответа 470». В Камарильо, Гонсало (ред.). Структура для связи на основе согласия в протоколе инициации сеанса (SIP). IETF. сек. 5.9.2. Дои:10.17487 / RFC5360. RFC 5360.
  21. ^ а б Аркко, Яри; Торвинен, Веса; Камарильо, Гонсало; Ниеми, Аки; Хаукка, Тао (январь 2003 г.). Соглашение о механизме безопасности для протокола инициации сеанса (SIP). IETF. Дои:10.17487 / RFC3329. RFC 3329.
  22. ^ Push-уведомление с протоколом инициации сеанса (SIP). IETF. Май 2019. Дои:10.17487 / RFC8599. RFC 8599.
  23. ^ Розенберг, Джонатан (октябрь 2002 г.). «Отказ от предложения». В Камарильо, Гонсало; Маршалл, Билл (ред.). Интеграция протокола управления ресурсами и инициации сеанса (SIP). IETF. сек. 8. Дои:10.17487 / RFC3312. RFC 3312.
  24. ^ Код ответа SIP для нежелательных вызовов. IETF. Июль 2017 г. Дои:10.17487 / RFC8197. RFC 8197.
  25. ^ Код ответа Session Initiation Protocol (SIP) для отклоненных вызовов. IETF. Декабрь 2019. Дои:10.17487 / RFC8688. RFC 8688.

внешняя ссылка