Список кодов ответов 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, содержащем. Это обеспечивает механизм исправления для законных абонентов, которые обнаруживают, что их звонки заблокированы.
Рекомендации
- ^ а б 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.
- ^ а б c d Плотва, Адам; Дженнингс, Каллен; Петерсон, Джон; Барнс, Мэри (17 апреля 2013 г.) [Создано в январе 2002 г.]. «Коды ответа». Параметры протокола инициации сеанса (SIP). IANA.
- ^ Холмберг, Кристер (май 2011 г.). Код ответа Session Initiation Protocol (SIP) для индикации прерывания диалога. IETF. п. 1. Аннотация. Дои:10.17487 / RFC6228. RFC 6228.
- ^ а б Роуч, Адам Б. (июнь 2002 г.). Протокол инициации сеанса (SIP) - уведомление о конкретном событии. IETF. Дои:10.17487 / RFC3265. RFC 3265.
- ^ Филдинг, Рой Т.; Геттис, Джеймс; Могул, Джеффри С.; Нильсен, Хенрик Фристик; Масинтер, Ларри; Лич, Пол; Бернерс-Ли, Тим (Июнь 1999 г.). «202 Принято». Протокол передачи гипертекста - HTTP / 1.1. IETF. сек. 10.2.3. Дои:10.17487 / RFC2616. RFC 2616.
- ^ а б Плотва, Адам (июль 2012 г.). Уведомление о событиях, связанных с протоколом SIP. IETF. Дои:10.17487 / RFC6665. RFC 6665.
- ^ Ниеми, Аки (май 2010 г.). «Код ответа 204 (Нет уведомления)». В Уиллисе, Дин (ред.). Расширение событий протокола инициации сеанса (SIP) для условного уведомления о событии. IETF. сек. 7.1. Дои:10.17487 / RFC5839. RFC 5839.
- ^ а б Хэндли, Марк; Шульцринне, Хеннинг; Школьница, Ева; Розенберг, Джонатан (март 1999 г.). SIP: протокол инициирования сеанса. IETF. Дои:10.17487 / RFC2543. RFC 2543.
- ^ Ниеми, Аки, изд. (2004). ""412 Ошибка условного запроса "Код ответа". Расширение протокола инициации сеанса (SIP) для публикации состояния события. IETF. сек. 11.2.1. Дои:10.17487 / RFC3903. RFC 3903.
- ^ Шульцринне, Хеннинг; Полк, Джеймс (февраль 2006 г.). «Нет известного пространства имен или значения приоритета». Приоритет коммуникационных ресурсов для протокола инициации сеанса (SIP). IETF. сек. 4.6.2. Дои:10.17487 / RFC4412. RFC 4412.
- ^ Донован, Стив; Розенберг, Джонатан (апрель 2005 г.). "Определение кода ответа 422". Таймеры сеанса в протоколе инициации сеанса (SIP). IETF. сек. 6. Дои:10.17487 / RFC4028. RFC 4028.
- ^ Полк, Джеймс; Розен, Брайан; Петерсон, Джон (декабрь 2011 г.). "Код ответа 424 (неверная информация о местоположении)". Передача местоположения для протокола инициирования сеанса. IETF. сек. 4.3. Дои:10.17487 / RFC6442. RFC 6442.
- ^ Розен, Брайан; Шульцринне, Хеннинг; Чофениг, Ханнес; Гелленс, Рэндалл (сентябрь 2020 г.). "Код ответа 425 (недопустимое сообщение)". Неинтерактивные экстренные вызовы. IETF. сек. 5.1. Дои:10.17487 / RFC8876. RFC 8876.
- ^ а б c d Петерсон, Джон; Дженнингс, Каллен (август 2006 г.). Улучшения для управления аутентификацией в протоколе инициации сеанса (SIP). IETF. Дои:10.17487 / RFC4474. RFC 4474.
- ^ Спаркс, Роберт Дж. (Сентябрь 2004 г.). «Ответ 429 Provide Referrer Identity Error Response». Протокол инициирования сеанса (SIP), на который ссылается механизм. IETF. сек. 5. Дои:10.17487 / RFC3892. RFC 3892.
- ^ а б Дженнингс, Каллен; Махи, Рохан; Оде, Франсуа, ред. (Октябрь 2009 г.). Управление инициируемыми клиентом соединениями в протоколе инициации сеанса (SIP). IETF. Дои:10.17487 / RFC5626. RFC 5626.
- ^ Розенберг, Джонатан (декабрь 2007 г.). "433 (анонимность запрещена) Определение". Отклонение анонимных запросов в протоколе инициации сеанса (SIP). IETF. сек. 5. Дои:10.17487 / RFC5079. RFC 5079.
- ^ Устранение уязвимости к усилению в протоколе инициации сеанса (SIP) Forking Proxies. IETF. Декабрь 2008 г. Дои:10.17487 / RFC5393. RFC 5393.
- ^ Протокол инициации сеанса (SIP) INFO Метод и структура пакета. IETF. Январь 2011 г. Дои:10.17487 / RFC6086. RFC 6086.
- ^ Розенберг, Джонатан; Уиллис, Дин (октябрь 2008 г.). «Определение кода ответа 470». В Камарильо, Гонсало (ред.). Структура для связи на основе согласия в протоколе инициации сеанса (SIP). IETF. сек. 5.9.2. Дои:10.17487 / RFC5360. RFC 5360.
- ^ а б Аркко, Яри; Торвинен, Веса; Камарильо, Гонсало; Ниеми, Аки; Хаукка, Тао (январь 2003 г.). Соглашение о механизме безопасности для протокола инициации сеанса (SIP). IETF. Дои:10.17487 / RFC3329. RFC 3329.
- ^ Push-уведомление с протоколом инициации сеанса (SIP). IETF. Май 2019. Дои:10.17487 / RFC8599. RFC 8599.
- ^ Розенберг, Джонатан (октябрь 2002 г.). «Отказ от предложения». В Камарильо, Гонсало; Маршалл, Билл (ред.). Интеграция протокола управления ресурсами и инициации сеанса (SIP). IETF. сек. 8. Дои:10.17487 / RFC3312. RFC 3312.
- ^ Код ответа SIP для нежелательных вызовов. IETF. Июль 2017 г. Дои:10.17487 / RFC8197. RFC 8197.
- ^ Код ответа Session Initiation Protocol (SIP) для отклоненных вызовов. IETF. Декабрь 2019. Дои:10.17487 / RFC8688. RFC 8688.
внешняя ссылка
- Сопоставление сообщений об ошибках SIP с кодами DSS1
- Параметры протокола инициации сеанса (SIP) Содержит реестр различных параметров SIP, включая коды ответов