SIP response codes

Протокол SIP/2.0 определяет шесть типов кодов ответа:
1xx: Промежуточные коды — подтверждают прием запроса, продолжается его обработка;
Промежуточные коды ответа, еще называемые информационными сообщениями, информируют, что сервер, который получил запрос, продолжает выполнять какие-либо действия и на данный момент не имеет окончательного ответа на полученный запрос. Сервер отправляет 1xx ответ, если приблизительное время выполнения запроса, для получения окончательного результата, займет у него больше чем 200 ms. Обратите внимание, что отправка сообщений с кодом ответа 1xx — не гарантируется. Получение сообщения с этим кодом не заставляет клиента отправлять сообщение ACK. Сообщения с промежуточным кодом ответа (1xx) МОГУТ содержать тело сообщения, включая дескриптор сеанса.
2xx: Успешное выполнение — запрос был успешно принят, распознан и подтвержден;
3xx: Переадресация — для завершения выполнения запроса должны быть предприняты дополнительные действия;
4xx: Ошибка клиента — в запросе содержаться ошибки синтаксиса или он не может быть обработан данным сервером;
5xx: Ошибка сервера — сервер не смог выполнить правильно сформированный запрос;
6xx: Глобальная ошибка — запрос не может быть выполнен ни одним сервером.
Рассмотрим их более детально:

1xx = информационные ответы
100 Trying — запрос обрабатывается
180 Ringing — местоположение вызываемого пользователя определено. Выдан сигнал о входящем вызове
181 Call is Being Forwarded — прокси,сервер переадресует вызов к другому пользователю
182 Call is Queued — вызываемый абонент временно не доступен, вызов поставлен в очередь
183 Session Progress — используется для того, чтобы заранее получить описание сеанса информационного обмена от шлюзов на пути к вызываемому пользователю
199 Early Dialog Terminated — используется UAS для оповещения вышестоящим SIP участникам (включая UAC) что ранее начатый диалог прерван (RFC 6228)

2xx = ответы о завершении запроса
200 OK — успешное завершение
204 No Notification — запрос был успешным, но соответствующий ответ не будет получен(RFC 5839)

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

4xx = невозможность обработать запрос
400 Bad Request — запрос не понят из-за синтаксических ошибок в нем, ошибка в сигнализации, скорее всего что-то с настройками оборудования
401 Unauthorized — нормальный ответ сервера о том, что пользователь еще не авторизировался; обычно после этого абонентское оборудование отправляет на сервер новый запрос, содержащий логин и пароль
401 Expired Authorization — время регистрации истекло
402 Payment Required — требуется оплата (зарезервирован для использования в будущем)
403 No Such User — нет такого пользователя, ошибка в номере, логине или пароле
403 User Disabled — пользователь отключен
403 Wrong Guess — ошибка в пароле
403 Conflict — такой SIP-номер уже используется
403 Forbidden — абонент не зарегистрирован
403 Empty Route Set — нет ни одного шлюза в роутинге
403 Caller Not Registered — нет такого пользователя
403 Out of Look-Ahead Retries — перебор узлов закончен
403 Invalid Phone Number — нет такого направления
403 No Money Left on RFC Account — на счету нет денег для совершения звонка
404 Not found — вызываемый абонент не найден, нет такого SIP-номера
404 Undefined Reason — неопределенное направление
404 Unknown user account — логин и пароль не найдены
404 Out of Order — в заявке на маршрутизацию по этому направлению нет ни одного шлюза, проверьте настройку маршрутизации по этому направлению.
405 Method Not Allowed — метод не поддерживается, может возникать если пользователь пытается отправлять голосовую почту и т.п.
406 No codecs match — неправильная конфигурация кодеков
406 Not Acceptable — Устройство которому направлен запрос, может сгенерировать ответ, но он запрещен в Accept header(неприемлемый запрос )
407 Proxy Authentication Required — необходима аутентификация на прокси-сервере
408 Request Timeout — время обработки запроса истекло: Абонента не удалось найти за отведенное время
408 Login timed out — за отведенное время не получен ответ от сервера на запрос авторизации
410 Gone (Отсутствует): Пользователь существовал, но в данный момент недоступен.
412 Conditional Request Failed — данное условие не выполняется(RFC3903)
413 Request Entity Too Large — размер запроса слишком велик для обработки на сервере
414 Request-URI Too Long — Запрашиваемый URI слишком длинный
415 No Media — звонок совершается неподдерживаемым кодеком
416 Unsupported Scheme — сервер не может обработать запрос из-за того, что схема адреса получателя ему непонятна
417 Unknown Resource-Priority — была метка resource-priority, но не было Resource-Priority header(RFC4412)
420 Bad extension — неизвестное расширение: Сервер не понял расширение протокола SIP
421 Extension Required — в заголовке запроса не указано, какое расширение сервер должен применить для его обработки
422 Session Interval Too Small полученный запрос содержит в поле Session-Expires значение которое меньше минимального таймера(RFC4028)
423 Interval Too Brief — слишком короткое время действия ресурса
424 Bad Location Information — Содержание location в запросе имеет неправильную форму.(RFC6442)
428 Use Identity Header — Политика сервера требуют заголовок Identity,и не был предоставлен(RFC4474)
429 Provide Referrer Identity — Сервер не получил Referred-By в запросе.(RFC3892)
430 Flow Failed — Спец поток к UA неудачен, но другие потоки могут быть успешны. Этот запрос должен исп между проксями и не должен быть виден конечным пользователям. (но если видим, должен трактоваться как ответ 400 Bad Request).(RFC5626)
433 Anonymity Disallowed — запрос отклонен потому что он анонимный.(RFC5079)
436 Bad Identity-Info — Поле Identity-Info запроса и URI схема не могут различаться!(RFC4474)
437 Unsupported Certificate — сервер не может проверить сертификат для домена, которым подписан запрос. (RFC4474)
438 Invalid Identity Header — сервер получил правильный сертификат, которым был подписан запрос, но не может проверить сам сертификат. (RFC4474)
439 First Hop Lacks Outbound Support — Первый исходящий прокси сервер на котором пытается зарегистрироваться пользователь не поддерживает «outbound» фичу по RFC 5626, хотя registrar поддерживает.
470 Consent Needed — источник запроса не имеет прав от получателя на такой запрос(RFC 5360)
480 Invalid Phone Number — неправильный номер телефона, не соответствует к-во цифр или неправильный код страны или города
480 Destination Not Found In Client Plan — направления нет в тарифном плане абонента
480 Wrong DB Response — проблемы с центральной базой сети
480 DB Timeout — проблемы с центральной базой сети
480 Database Error — проблемы с центральной базой сети
480 Codec Mismatch — несоответствие кодеков
480 No Money Left on RFC Account — нет денег на счету, обратитесь к администратору сети!!!
480 Empty Route Set — пустое направление, нет принимающих шлюзов
480 No money left — недостаточно денег на счете
480 Temporarily Unavailable — временно недоступное направление попробуйте позвонить позже
481 Call Leg/Transaction Does Not Exist — сервер получил запрос, который не относится ни к одному диалогу или транзакции
482 Loop Detected — петля маршрутизации
483 Too Many Hops — запрос на своем пути прошел через большее число прокси-серверов, чем разрешено в поле Max-Forwards
484 Address Incomplete — принят запрос с неполным адресом
485 Ambiguous — адрес вызываемого пользователя не однозначен
486 Busy Here — абонент занят
487 Request Terminated — запрос отменен, с помощью bye или cancel
488 Not Acceptable Here — какой то параметр описания сессии или Request-URI неприменим
488 Codec Mismatch -нет шлюзов с поддержкой заказанного кодека
488 Private IP Address — адрес RTP media из сетей RFC1918
489 Bad Event — Сервер не понял событие в поле Event.
491 Request Pending — запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу.
493 Undeciperable — сервер не в состоянии подобрать ключ дешифрования: невозможно декодировать тело S/MIME сообщения
494 Security Agreement Required — Сервер получил запрос, для установления режима безопасности, ответ содержит список подходящих режимов безопасности RFC3329 или digest authentication.

5xx = ошибки сервера
500 Internal Server Error — внутренняя ошибка сервера
500 DB Timeout — нет ответа от базы данных
500 Database Error — то же самое, но в другой момент
500 Wrong DB Response — неправильный ответ базы данных, редкая ошибка
500 Undefined Reason — неопределенная причина
500 account has been moved to a remote system — аккаунт перенесен в удаленную систему (дословно)
501 Not Implemented: (Метод не поддерживается) Запрашиваемый по протоколу SIP метод не распознан данным сервером, в отличии от 405 ошибки, где метод запрещен
501 Method Not Supported Here — в сервере не реализованы какие-либо функции, необходимые для обслуживания запроса: Метод запроса SIP не поддерживается
502 Bad Gateway — сервер, функционирующий в качестве шлюза или прокси-сервера, принимает некорректный ответ от сервера, к которому он направил запрос
503 Service Unavailable — сервер не может в данный момент обслужить вызов вследствие перегрузки или проведения технического обслуживания, поле «Retry-After» указывает через сколько клиент может повторить свой запрос.
504 Server time-out — сервер не получил ответа в течение установленного промежутка времени от сервера, к которому он обратился для завершения вызова
505 SIP Version not supported — версия не поддерживается: Сервер не поддерживает эту версию протокола SIP
513 Message too big — сервер не в состоянии обработать запрос из-за большой длины сообщения
580 Precondition Failure — Сервер не может или не желает, принимать некоторые ограничения в запросе (RFC3312)

6xx = глобальная ошибка
600 Busy everywhere — вызываемый пользователь занят и не желает принимать вызов в данный момент, в отличии от 486 ошибки, вызываемая сторона знает что нет альтернативных путей обработки звонка(например голосовая почта)
603 Decline — вызываемый пользователь не желает принимать входящие вызовы, или не может этого сделать, и вызываемый пользователь не знает альтернативного пути обработки звонка(например голосовая почта)
604 Does Not Exist Anywhere — вызываемого пользователя не существует
606 Not Acceptable — соединение с сервером было установлено, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации недопустимы.

http://wiki.sipnet.ru/index.php/SIP_%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%8B_%D0%B8_%D0%B8%D1%85_%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F
http://voip.rus.net/tiki-index.php?page=SIP+Response+class6
http://en.wikipedia.org/wiki/List_of_SIP_response_codes


Комментарии: