Список кодов ответа SIP
Протокол инициирования сеанса (SIP) — это сигнализации протокол , используемый для управления сеансами связи, такими как передачи голоса по IP телефонные вызовы . SIP основан на транзакциях запрос/ответ, аналогично протоколу передачи гипертекста (HTTP). Каждая транзакция состоит из SIP-запроса (который будет одним из нескольких методов запроса ) и как минимум одного ответа. [1] : стр. 11
Запросы и ответы 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 и зарегистрированные в реестре параметров SIP IANA по состоянию на 27 января 2023 г. [update]. Этот список также включает коды ответов SIP, определенные в устаревших SIP RFC (в частности, RFC 2543), которые поэтому не зарегистрированы в IANA; они явно отмечены как таковые.
Ответы SIP также могут включать дополнительный заголовок предупреждения, содержащий дополнительные сведения об ответе. Предупреждение содержит отдельный трехзначный код, за которым следует текст с более подробной информацией о предупреждении. [1] : §20.43 Текущий список официальных предупреждений зарегистрирован в реестре параметров SIP 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 больше не действителен, новый адрес указывается в поле заголовка контакта, и клиент должен обновить все записи исходного 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 Требуемая длина
- Сервер не примет запрос без действительного Content-Length. [8] : §7.4.12 Устарело из-за отсутствия в более поздних RFC. [1] и отказом от регистрации в IANA. [2]
- 412 Условный запрос не выполнен
- Данное предварительное условие не выполнено. [9]
- 413 Запрос слишком велик
- Тело запроса слишком велико. [1] : §21.4.11
- 414 Request-URI слишком длинный
- Сервер отказывается обслуживать запрос, поскольку Request-URI длиннее, чем сервер готов интерпретировать. [1] : §21.4.12
- 415 Неподдерживаемый тип носителя
- Тело запроса в формате, который не поддерживается. [1] : §21.4.13
- 416 Неподдерживаемая схема URI
- URI запроса неизвестен серверу. [1] : §21.4.14
- 417 Неизвестный приоритет ресурса
- Был тег опции приоритета ресурса, но не было заголовка Resource-Priority. [10]
- 420 Неверное расширение
- Используется неверное расширение протокола 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] : стр. 11
- 429 Укажите личность реферера
- Сервер не получил действительный токен Referred-By по запросу. [15]
- 430 Ошибка потока
- Определенный поток к пользовательскому агенту завершился неудачно, хотя другие потоки могут завершиться успешно. Этот ответ предназначен для использования между прокси-устройствами и не должен быть виден конечной точке (а если он виден одной из них, его следует рассматривать как ответ 400 Bad Request ). [16] : §11.5
- 433 Анонимность запрещена
- Запрос был отклонен, поскольку он был анонимным. [17]
- 436 Неверная идентификационная информация
- Запрос имеет заголовок Identity-Info, и схему URI в этом заголовке нельзя разыменовать. [14] : стр. 11
- 437 Неподдерживаемый сертификат
- Серверу не удалось проверить сертификат домена, подписавшего запрос. [14] : стр. 11
- 438 Неверный заголовок удостоверения
- Сервер получил действительный сертификат, который, по утверждению запроса, использовался для подписи запроса, но не смог проверить эту подпись. [14] : стр. 12
- 439 Первому переходу не хватает исходящей поддержки
- Первый исходящий прокси-сервер, через который пользователь пытается зарегистрироваться, не поддерживает «исходящую» функцию RFC 5626, хотя регистратор поддерживает. [16] : §11.6
- 440 Превышена максимальная ширина
- Если прокси-сервер SIP определяет, что контекст ответа имеет недостаточную максимальную ширину входящего трафика для выполнения желаемого параллельного разветвления, и прокси-сервер не желает/не может компенсировать это путем последовательного разветвления или отправки перенаправления, этот прокси-сервер ДОЛЖЕН вернуть ответ 440. Клиент, получивший ответ 440, может сделать вывод, что его запрос не достиг всех возможных пунктов назначения. [18]
- 469 Пакет неверной информации
- Если UA SIP получает запрос INFO, связанный с информационным пакетом, который UA не указал на готовность получить, UA ДОЛЖЕН отправить ответ 469, который содержит поле заголовка Recv-Info с информационными пакетами, которые UA готов получить. ИНФО-запросы. [19]
- 470 Требуется согласие
- Источник запроса не имел разрешения получателя на подачу такого запроса. [20]
- 480 Временно недоступен
- Вызываемый абонент в настоящее время недоступен. [1] : §21.4.18
- 481 Вызов/транзакция не существует
- Сервер получил запрос, который не соответствует ни одному диалогу или транзакции. [1] : §21.4.19
- 482 Обнаружена петля
- Сервер обнаружил петлю. [1] : §21.4.20
- 483 Слишком много прыжков
- Заголовок Max-Forwards достиг значения «0». [1] : §21.4.21
- 484 Адрес неполный
- Неполный URI запроса. [1] : §21.4.22
- 485 неоднозначный
- URI запроса неоднозначен. [1] : §21.4.23
- 486 Здесь занято
- Колли занят. [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 Method Not Allowed , когда сервер распознает метод, но не разрешает и не поддерживает его.) [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-уведомлений, указанную в параметре URI SIP «pn-provider». [22] : §14.2.1
- 580 Неисправность предварительного условия
- Сервер не может или не желает соблюдать некоторые ограничения, указанные в предложении. [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 со значением «цели» «jwscard» с атрибутом jCard. [26] с контактными данными. Вызывающая сторона может использовать эту карту jCard, если хочет оспорить отказ.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д и ж г час я дж к л м н тот п д р с т в v В х и С аа аб и объявление но из в ах есть также и аль являюсь а к ап ак с как в В из хорошо топор является тот нет бб до нашей эры др. быть парень бг чб с минет БК с Розенберг, Джонатан; Шульцринн, Хеннинг ; Камарильо, Гонсало; Джонстон, Алан; Петерсон, Джон; Спаркс, Роберт; Хэндли, Марк ; Шулер, Ева (июнь 2002 г.). SIP: протокол инициации сеанса . IETF . дои : 10.17487/RFC3261 . РФК 3261 .
- ^ Перейти обратно: а б с д Роуч, Адам; Дженнингс, Каллен; Петерсон, Джон; Барнс, Мэри (17 апреля 2013 г.) [Создано в январе 2002 г.]. «Коды ответов» . Параметры протокола инициации сеанса (SIP) . ИАНА .
- ^ Холмберг, Кристер (май 2011 г.). Код ответа протокола инициации сеанса (SIP) для индикации завершения диалога . IETF . п. 1. Аннотация. дои : 10.17487/RFC6228 . РФК 6228 .
- ^ Перейти обратно: а б Роуч, Адам Б. (июнь 2002 г.). Уведомление о событии, специфичном для протокола инициации сеанса (SIP) . IETF . дои : 10.17487/RFC3265 . РФК 3265 .
- ^ Филдинг, Рой Т .; Геттис, Джеймс; Могул, Джеффри С.; Нильсен, Хенрик Фристик ; Масинтер, Ларри; Лич, Пол; Бернерс-Ли, Тим (июнь 1999 г.). «202 Принято» . Протокол передачи гипертекста — HTTP/1.1 . IETF . сек. 10.2.3. дои : 10.17487/RFC2616 . РФК 2616 .
- ^ Перейти обратно: а б Роуч, Адам (июль 2012 г.). Уведомление о событиях, специфичных для SIP . IETF . дои : 10.17487/RFC6665 . РФК 6665 .
- ^ Ниеми, Аки (май 2010 г.). «Код ответа 204 (без уведомления)» . В Уиллисе, Дин (ред.). Расширение событий протокола инициации сеанса (SIP) для условного уведомления о событиях . IETF . сек. 7.1. дои : 10.17487/RFC5839 . RFC 5839 .
- ^ Перейти обратно: а б Хэндли, Марк ; Шульцринн, Хеннинг ; Шулер, Ева; Розенберг, Джонатан (март 1999 г.). SIP: протокол инициации сеанса . IETF . дои : 10.17487/RFC2543 . РФК 2543 .
- ^ Ниеми, Аки, изд. (2004). « Код ответа «412 Условный запрос не выполнен» . Расширение протокола инициации сеанса (SIP) для публикации состояния события . IETF . сек. 11.2.1. дои : 10.17487/RFC3903 . РФК 3903 .
- ^ Шульцринн, Хеннинг ; Полк, Джеймс (февраль 2006 г.). «Нет известного пространства имен или значения приоритета» . Приоритет коммуникационных ресурсов для протокола инициации сеанса (SIP) . IETF . сек. 4.6.2. дои : 10.17487/RFC4412 . РФК 4412 .
- ^ Донован, Стив; Розенберг, Джонатан (апрель 2005 г.). «Определение кода ответа 422» . Таймеры сеансов в протоколе инициирования сеанса (SIP) . IETF . сек. 6. дои : 10.17487/RFC4028 . РФК 4028 .
- ^ Полк, Джеймс; Розен, Брайан; Петерсон, Джон (декабрь 2011 г.). «Код ответа 424 (неверная информация о местоположении)» . Передача местоположения для протокола инициации сеанса . IETF . сек. 4.3. дои : 10.17487/RFC6442 . РФК 6442 .
- ^ Розен, Брайан; Шульцринн, Хеннинг; Чофениг, Ханнес; Гелленс, Рэндалл (сентябрь 2020 г.). «Код ответа 425 (ошибочное предупреждающее сообщение)» . Неинтерактивные экстренные вызовы . IETF . сек. 5.1. дои : 10.17487/RFC8876 . RFC 8876 .
- ^ Перейти обратно: а б с д Петерсон, Джон; Дженнингс, Каллен (август 2006 г.). Улучшения в управлении аутентифицированными идентификационными данными в протоколе инициации сеанса (SIP) . IETF . дои : 10.17487/RFC4474 . РФК 4474 .
- ^ Спаркс, Роберт Дж. (сентябрь 2004 г.). «Ответ об ошибке 429 Provide Referrer Identity» . Механизм, на который ссылается протокол инициирования сеанса (SIP) . IETF . сек. 5. дои : 10.17487/RFC3892 . РФК 3892 .
- ^ Перейти обратно: а б Дженнингс, Каллен; Мэхи, Рохан; Оде, Франсуа, ред. (октябрь 2009 г.). Управление соединениями, инициируемыми клиентом, в протоколе инициации сеанса (SIP) . IETF . дои : 10.17487/RFC5626 . РФК 5626 .
- ^ Розенберг, Джонатан (декабрь 2007 г.). «Определение 433 (анонимность запрещена)» . Отклонение анонимных запросов в протоколе инициации сеанса (SIP) . IETF . сек. 5. дои : 10.17487/RFC5079 . РФК 5079 .
- ^ Устранение уязвимости усиления в разветвляющихся прокси-серверах протокола инициации сеанса (SIP) . IETF . Декабрь 2008 г. doi : 10.17487/RFC5393 . РФК 5393 .
- ^ Протокол инициации сеанса (SIP) Метод INFO и структура пакета . IETF . Январь 2011 г. doi : 10.17487/RFC6086 . РФК 6086 .
- ^ Розенберг, Джонатан; Уиллис, Дин (октябрь 2008 г.). «Определение кода ответа 470» . В Камарильо, Гонсало (ред.). Структура связи на основе согласия в протоколе инициации сеанса (SIP) . IETF . сек. 5.9.2. дои : 10.17487/RFC5360 . РФК 5360 .
- ^ Перейти обратно: а б Аркко, Яри; Торвинен, Веса; Камарильо, Гонсало; Ниеми, Аки; Хоук, Тао (январь 2003 г.). Соглашение о механизме безопасности для протокола инициирования сеанса (SIP) . IETF . дои : 10.17487/RFC3329 . РФК 3329 .
- ^ Push-уведомление с протоколом инициации сеанса (SIP) . IETF . Май 2019 г. doi : 10.17487/RFC8599 . РФК 8599 .
- ^ Розенберг, Джонатан (октябрь 2002 г.). «Отказ от предложения» . В Камарильо, Гонсало; Маршалл, Билл (ред.). Интеграция управления ресурсами и протокола инициации сеанса (SIP) . IETF . сек. 8. дои : 10.17487/RFC3312 . РФК 3312 .
- ^ Код ответа SIP для нежелательных вызовов . IETF . Июль 2017 г. doi : 10.17487/RFC8197 . RFC 8197 .
- ^ Код ответа протокола инициации сеанса (SIP) для отклоненных вызовов . IETF . Декабрь 2019 г. doi : 10.17487/RFC8688 . RFC 8688 .
- ^ RFC 7095
Внешние ссылки
[ редактировать ]- Сопоставление сообщений об ошибках SIP с кодами DSS1 на Wayback Machine (заархивировано 12 апреля 2021 г.)
- Параметры протокола инициации сеанса (SIP). Содержит реестр различных параметров SIP, включая коды ответа.