Функциональные элементы SIP

 

N Агенты пользователей UA (User Agents);

N Прокси-серверы (Proxy Servers);

N Серверы перенаправления (Redirect servers);

N Серверы регистрации местоположения пользователей (Registrars или Location servers).

Агенты пользователей UA (User Agents)

Терминалы SIP, которые инициируют запросы, отвечают на запросы и взаимодействуют с другими агентами пользователей для организации и завершения сеансов связи. Агенты пользователей могут взаимодействовать друг с другом непосредственно; однако часто в сеанс связи бывает вовлечен один или более промежуточных серверов: прокси-серверов или серверов переадресации.

Клиентская и серверная часть программного обеспечения UA названы:

клиентом агента пользователя UAC {User Agent Client) и

сервером агента пользователя UAS {User Agent Server).

 

 

Прокси-серверы (Proxy Servers)

Proxy - «представитель».

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

Серверы перенаправления (Redirect servers)

 

Сервер перенаправления предназначен для определения текущего IP-адреса терминала вызываемого пользователя. Вызывающий пользователь посылает на сервер сообщение с известным ему адресом вызываемого пользователя, а прокси-сервер перенаправляет вызов на текущий адрес пользователя. Для реализации этой функции сервер перенаправления должен взаимодействовать с сервером определения местоположения. Сервер перенаправления не завершает обслуживание вызовов и не инициирует свои собственные запросы. Он только сообщает адрес вызываемого пользователя или прокси-сервера, и уже по этому адресу инициатор запроса передает новый запрос. Сервер перенаправления не содержит клиентскую часть программного обеспечения.

 

Серверы регистрации местоположения пользователей (Registrars или Location servers)

Позволяют агентам регистрировать свое местоположение, реализуя тем самым услуги мобильности с помощью протокола SIR. О своем местоположении пользователь сообщает специальному серверу с помощью сообщения REGISTER. Возможны два режима регистрации пользователя: он может передать свой новый адрес один раз, а может регистрироваться периодически через определенные промежутки времени. Первый способ подходит для случая, когда терминал включен постоянно, и его пользователь не перемещается по сети, а второй - если терминал пользователя часто перемещается или выключается.

 

Структура сообщений

 

Стартовая строка представляет собой начальную строкулюбого SIP- сообщения.

Если сообщение является запросом, то в стартовой строке указываются тип запроса, текущий узел-адресат и номер версии протокола.

Если сообщение является ответом на запрос, то в стартовой строке указываются номер версии протокола, тип ответа и короткая расшифровка ответа.

 

Заголовки сообщенийнесут информацию об отправителе, адресате, пути следования и др., информацию, необходимую для обслуживания сообщения. В протоколе SIP определено четыре вида заголовков:

общие заголовки, присутствующие в запросах и ответах, к которым относятся, в частности, Call-ID (идентификатор соединения), Contact (контакт), CSeq (порядковый номер запроса/ответа), Date (дата), Encryption (кодирование), From (источник запроса), То (адресат), Via (через), Record-Route (запись маршрута);

заголовки содержанияпереносят информацию о размере тела сообщения или об источнике запроса, начинаются со слова 'Content',например, Content-Encoding (кодирование тела сообщения), Co ntent-Length (размер тела сообщения), Content-Type, (тип содержимого);

заголовки, передающие дополнительную информацию о запросе, например, Accept (принимается), Accept-Encoding (кодирование принимается), Accept-Language (язык поддерживается), Authorization (авторизация), Hide (скрыть), Max-Forwards (максимальное количество переадресаций), Organization (организация), Priority (приоритет), Proxy-Authorization (авторизация прокси-сервера), Proxy-Require (требование прокси-сервера), Route(маршрут), Response-Key (ключ кодирования ответа), Subject(тема), User-Agent (агент пользователя);

заголовки ответов, передающие дополнительную информацию об ответе, например Allow (разрешение), Proxy-Authenticate (подтверждение подлинности прокси-сервера), Retry-After (повторить через некоторое время), Server (сервер), Unsupported (не поддерживается), Warning (предупреждение),WWW-Authenticate (аутентификация WWW-сервера).

 

Сообщения протокола SIP могут содержать так называемое тело сообщения.

Заголовок Content-Typeопределяет формат описания сеанса связи. Само описание сеанса, например, в формате протокола SDP, включается в тело сообщения.

Заголовок Content-Lengthпоказывает размер тела сообщения.

 

Команды (запросы)

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

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

n Команда CANCELотменяет обработку ранее переданных запросов с такими же, как и в команде CANCEL значениями полей Call-ID, То, From и CSeq, но не влияет на те запросы, обработка которых уже завершена.

n Командой BYEоборудование вызываемого или вызывающего пользователей разрушает соединение. Сторона, получившая запрос BYE, должна прекратить передачу речевой (мультимедийной) информации и подтвердить это ответом 200ОК.

n При помощи команды REGISTERпользователи сообщают свое текущее местоположение. В этом сообщении содержатся поле То с адресом, который надо сохранить или модифицировать на сервере, поле Fromс адресом инициатора регистрации, поле Contactс новым адресом пользователя, по которому должны передаваться все дальнейшие запросы INITE и поле Expires,в котором указывается время в секундах, по истечении которого регистрация заканчивается (если это поле отсутствует, то по умолчанию назначается время - 1 час). Регистрацию можно отменить и передачей сообщения REGISTER с полем Expires, которому присвоено значение 0, и с соответствующим полем Contact.

n Командой OPTIONSвызывающий пользователь запрашивает информацию о возможностях терминального оборудования вызываемого пользователя. В ответ на этот запрос оборудование вызываемого пользователя сообщает требуемую информацию.

Ответы

Ответы делятся на предварительные (информационные) и окончательные.

Информационные ответы показывают, что запрос находится в стадии обработки, и кодируются трехзначным числом, начинающимся с единицы 1хх (provisional) например:

n ответ 100 Tryingпредназначен для обнуления таймеров в оборудовании пользователя. Если до срабатывания таймера ответ на запрос не получен, считается, что запрос потерян, и может производиться его повторная передача. Этот информационный ответ аналогичен сообщению CALL PROCEEDING протокола Q.931;

n ответ 180 Ringing -его назначение аналогично сигналу «Контроль посылки вызова» в или сообщению ALERTING протокола Q.931

Ответы (2)

 

Окончательные ответы кодируются трехзначными числами, начинающимися с цифр 2, 3, 4, 5 и 6. Все они означают завершение обработки запроса, а каждый из них в отдельности - результат обработки запроса.

n Ответы 2хх (success)означают, что запрос был успешно обработан. Базовым ответом данной группы является сообщение 200ОК. Значение этого ответа зависит от соответствующего запроса;

n Ответы Зхх (redirection)информируют оборудование вызы­вающего пользователя о новом местоположении вызываемого пользователя или переносят другую информацию, которая может быть использована, чтобы с ним связаться;

n Ответы 4хх (client error)информируют о том, что в запросе обнаружена ошибка;

n Ответы 5хх (server error)информируют о том, что за­прос не может быть обработан из-за ошибки сервера;

n Ответы бхх (global failure)информируют о том, что соединение с вызываемым пользователем установить невозможно.