Найти тему
IP телефония

Что такое SIP коды? Коды SIP ошибок.

Оглавление

В данном материале, мы расскажем вкратце о часто встречающихся ошибках, правильнее сказать о кодах ошибках получаемых от sip оборудования в той или другой ситуации. Материал будет полезен как системным инженерам, занимающимся отладкой или поиском проблем в инсталляции SIP телефонии, так и тем кто впервые столкнулся с интернет телефонией и пытается самостоятельно разобраться в этом вопросе, пытающимся понять – что означают те или иные сообщения на экранах их IP телефонов или в логах их программных АТС и оборудования.

Наверное уже все знают, что код ответа от сервера (код состояния запроса) состоит из трех цифр. Он показывает информацию об обработке запроса сервером или оконечным устройством. Как правило с любым кодом, передается и поясняющая фраза, или краткое текстовое описание, кода ответа.

Код ответа необходим для работы серверов и устройств, при этом, они не смотрят поясняющие фразы. Поясняющие сообщения нужны для конечных пользователей, для кого и предназначен этот материал.

В нашем материале представлены описания кодов состояния запроса.

Первая цифра кода состояния запроса определяет класс ответа. Последние две цифры не имеют определенной роли в классификации. Протокол SIP/2.0 определяет шесть значений для первой цифры.

Вот они:

1xx: Информационные ответы (Informational) – запрос получен, запрос обрабатывается;

2xx: Успех выполнения запроса (Success) – запрос был получен, понят, принят в обработку;

3xx: Переадресация (Redirection) – для завершения запроса необходимо, выполнить следующие действия;

4xx: Ошибка Клиента (Client Error) – запрос имеет некорректный синтаксис(информацию) или запрос не может быть выполнен на данном сервере;

5xx: Ошибка Сервера (Server Error) – сервер не в состоянии выполнить корректный запрос;

6xx: Глобальная Ошибка (Global Failure) – запрос не может быть выполнен на любом сервере.

Далее давайте рассмотрим наиболее часто встречающиеся коды состояния запросов и поясняющие фразы к ним, используемые в SIP/2.0.

Поясняющие фразы- это рекомендация, пользователи могут изменить их, без воздействия на протокол SIP/2.0. Обратите внимание, что много кодов ответов взято из протокола HTTP/1.1. В SIP/2.0 добавлены коды в диапазоне с x80, так же, в отличие от HTTP/1.1, добавлен новый класс кодов 6xx.

Коды ответов SIP расширяемые. SIP приложению не требуется понимать смысл всех зарегистрированных кодов ответа, хотя такое понимание желательно. Тем не менее, приложения ДОЛЖНЫ понимать класс любого кода ответа, как это указано в первой цифре, и обрабатывать любой нераспознанный ответ как эквивалент кода ответа x00 этого класса. Например, если клиент получает незарегистрированный код ответа 431, он может смело предположить, что было что-то не так в его запросе, и должен обработать ответ, как если бы был получен код 400 (Bad Request).

Информационные ответы (их не так много):

• “100” ; Trying – запрос обрабатывается, может обозначаться как SIP/2.0 100 Trying

• “180” ; Ringing – вызываемы пользователь определен. Идет сигнал о входящем вызове, может обозначаться как SIP/2.0 180 Ringing

• “181” ; Call Is Being Forwarded – вызов переадресовывается к другому пользователю (прокси – сервер переадресует вызов другому пользователю), может обозначаться как SIP/2.0 181 Call is Being Forwarded

• “182” ; Queued (SIP/2.0 182 Call is ) – вызываемый абонент недоступен, вызов поставлен в очередь

• “183” ; Session Progress (SIP/2.0 183 Session Progress ) – данный ответ используется для передачи описания медианных SDP, чтобы получить описание сеанса информационного обмена от серверов и шлюзов на пути к вызываемому пользователю

Успешное выполнение запроса:

• “200” ; OK (SIP/2.0 200 OK) – успешное выполнение запроса

• “202” ; Accepted – запрос принят в обработку . Используется для справки о состоянии обработки

Как Вы видите, везде в кодах присутствует SIP/2.0, поэтому мы не будем их писать чтобы не загружать текст.

Переадресация:

• “300” ; Multiple Choices – в ответе указаны несколько SIP адресов, где можно найти вызываемого пользователя

• “301” ; Moved Permanently – вызываемый абонент больше не находится по адресу, указанному в запросе

• “302” ; Moved Temporarily – вызываемый абонент временно не находится по адресу, указанному в запросе или пользователь временно сменил местоположение

• “305” ; Use Proxy – вызываемый пользователь не доступен непосредственно, входящий вызов должен пройти через прокси-сервер

• “380” ; Alternative Service – запрошенная услуга недоступна, но есть альтернативные варианты

Ошибка клиента или невозможность обработать запрос:

• “400” ; Bad Request – некорректный запрос, запрос не понятен серверу, запрос не понят из-за синтаксических ошибок в нем, ошибка в сигнализации, скорее всего что-то с настройками оборудования

• “401” ; Unauthorized – ответ, что пользователь еще не авторизован на сервере, после этого ответа, посылается повторный запрос RIGISTER с логином и паролем, нормальный ответ сервера о том, что пользователь еще не авторизировался; обычно после этого абонентское оборудование отправляет на сервер новый запрос, содержащий логин и пароль

• “401” ; Expired Authorization — время регистрации истекло

• “402” ; Payment Required – требуется оплата

• “403” ; Forbidden – абонент не зарегистрирован, не существует

• “403” ; No Such User — нет такого пользователя, ошибка в номере, логине или пароле

• “403” ; User Disabled — пользователь отключен

• “403” ; Wrong Guess — ошибка в пароле

• “403” ; Conflict — такой SIP-номер уже используется

• “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 – вызываемы абонент не найден на сервере

• “404” ; Undefined Reason — неопределенное направление

• “404” ; Unknown user account — логин и пароль не найдены

• “404” ; Out of Order — в заявке на маршрутизацию по этому направлению нет ни одного шлюза, проверьте настройку маршрутизации по этому направлению.

• “405” ; Method Not Allowed – метод не поддерживается сервером

• “406” ; Not Acceptable – пользователь недоступен

• “406” ; No codecs match — неправильная конфигурация кодеков

• • “407” ; Proxy Authentication Required – необходима аутентификация на сервере

• “408” ; Request Timeout – время обработки запроса истекло и Абонента не удалось найти за отведенное время

• “408” ; Login timed out — за отведенное время не получен ответ от сервера на запрос авторизации

• “409” ; Conflict – запрос не может быть выполнен из-за конфликта с текущим состоянием сервера/клиента

• “410” ; Gone – запрошенный пользователь больше не доступен на сервере и нет адреса для перевода вызова

• “411” ; Length Required – сервер отказывается принимать запрос без определенного поля Content-Length

• “413” ; Request Entity Too Large – сервер отказывается обслуживать запрос, т.к. размер запроса слишком велик

• “414” ; Request-URI Too Large – сервер отказывается обслуживать запрос, потому что запрашиваемый URI больше, чем сервер может обработать.

• “415” ; Unsupported Media Type – сервер отказывается обработать запрос, потому что тело сообщения запроса находится в формате, который сервер не поддерживает. Сервер должен вернуть список допустимых форматов, используя Accept, Accept-Encoding и Accept-Language в поле заголовка.

• “420” ; Bad Extension – сервер не понял расширение протокола SIP

• • “480” ; Temporarily not available – направление временно недоступно

• “480” ; Invalid Phone Number — неправильный номер телефона, не соответствует к-во цифр или неправильный код страны или города

• “480” ; Wrong DB Response — проблемы с центральной базой сети

• “480” ; Codec Mismatch — несоответствие кодеков

• “480” ; Temporarily Unavailable — временно недоступное направление попробуйте позвонить позже

• “481” ; Call Leg/Transaction Does Not Exist – этот ответ будет возвращен в двух случаях: сервер получил запрос BYE, который не соответствует любому существующему вызову или сервер получил запрос CANCEL, что не соответствует существующим транзакция.

• “482” ; Loop Detected – обнаружен замкнутый маршрут передачи запроса

• “483” ; Too Many Hops – Превышено число прохода прокси-серверов, чем указано в поле Max-Forwards

• “484” ; Address Incomplete – В запросе не полный адрес

• “485” ; Ambiguous – адрес вызываемого пользователя не однозначен

• “486” ; Busy Here – абонент занят

• “487” ; Request Terminated – запрос отменен, обычно приходит при отмене вызова

• “488” ; Codec Mismatch — нет шлюзов с поддержкой заказанного кодека

• “488” ; Private IP Address — адрес RTP media из сетей RFC1918

• “491” ; Request Pending — запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу

• “493” ; Undeciperable — сервер не в состоянии подобрать ключ дешифрования: невозможно декодировать тело S/MIME сообщения

• “499” ; Codec Mismatch — отсутствует кодек

Ошибка Сервера:

• “500” ; Internal Server Error – внутренняя ошибка сервера

• “501” ; Not Implemented – сервер не поддерживает функциональные возможности, необходимые для выполнения запроса.

• “502” ; Bad Gateway – сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от подчиненного сервера, к которому он обратился для выполнения запроса.

• “503” ; Service Unavailable – сервер в настоящее время не в состоянии обработать запрос из-за временной перегрузки или технического обслуживания сервера.

• “504” ; Gateway Time-out – сервер, действуя в качестве шлюза, не получил своевременного ответа от сервера (например, сервер определения местоположения) к которому он обратился для выполнения запроса.

• “505” ; SIP Version not supported – сервер не поддерживает или отказывается поддерживать, версию протокола SIP, который был использован в сообщении запроса

Глобальная Ошибка:

• “600” ; Busy Everywhere – вызов дошел до вызываемого абонента, но вызываемый абонент занят и не желает принять вызов в настоящее время.

• “603” ; Decline – вызов дошел до вызываемого абонента, но вызываемый абонент занят и не желает принять вызов, не указывая причину отказа.

• “604” ; Does not exist anywhere – сервер имеет точную информацию о том, что пользователя, указанного в поле To не существует нигде. Поиск пользователя в другом месте не даст никаких результатов.

• “606” ; Not Acceptable – сервер установил соединение с абонентом, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации не доступны

-2

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