Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Multimediynye_seti.doc
Скачиваний:
14
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

3.6. Session Initiation Protocol

SIP является сигнальным протоколом уровня приложений, предназначенным для создания, модификации и завершения сессий мультимедиа (звуковых, видео или передающих данные) с одним или несколькими участниками [31][25][33]. SIP не определяет содержания сессии, оно зависит от передаваемого контента, недоступного для сообщений SIP. Для установки соединения в мультимедийной сессии SIP выполняет следующие этапы:

  • Инициализация сессии (Session Initiation). Начало сессии, возможно, самая сложная ее часть, так как обычно она требует определения, где пользователь находится на текущий момент: дома или на работе. SIP позволяет пользователю находиться в любом месте, но требует указания его глобального адреса (как правило, адреса электронной почты), который не зависит от его местонахождения.

  • Доставка описания сессии (Delivering session description). Второй функцией SIP является описание сессии, предлагаемой пользователю. Наиболее распространенным протоколом, используемым для этой цели, является Session Description Protocol (SDP).

  • Управление активной сессией (Active Session management). После отправки описания сессии SIP передает запрос на запуск сеанса соответствующему узлу сети. Если получен ответ "Принять", сессия становится активной. Если сессия включает в себя мультимедийные компоненты, потоки мультимедиа могут передаваться между двумя пользователями. Для транспортировки данных в реальном времени используются протоколы RTP и RTCP. SIP может быть использован также для изменения параметров активного сеанса (удаление некоторых потоков видео, снижения качества потока аудио и т.д.).

  • Завершение сессии (Session Termination). При окончании сеанса SIP используется для завершения текущей сессии.

Таким образом, SIP является только сигнальным протоколом и должен использоваться совместно с протоколами типа SDP, RTP, RTCP и т.п. для обеспечения полной архитектуры мультимедийного сервиса в соответствии с H.323. Отметим, что функциональность и действия SIP не зависят от других протоколов.

Сигнальная система SIP состоит из следующих элементов:

  • Пользовательские агенты (User Agents): элемент системы, действующий от имени конечного пользователя. User-Agent Client (UAC) инициирует запросы SIP, в то время как User-Agent Server (UAS) получает такие запросы и возвращать ответы.

  • Сетевые серверы (Network Servers): существует три типа сетевых серверов:

    • Сервер регистрации: отслеживает местоположение пользователей.

    • Прокси-сервер: маршрутизатор уровня приложений, получающий запрос SIP и пересылающий его на следующий сервер.

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

Часто все три типа серверов реализуются в единой программе.

SIP основан на модели передачи запрос-ответ типа HTTP. Каждая транзакция состоит из запроса, который вызывает конкретный метод или функцию на сервере, получая по крайней мере один ответ. Как и для HTTP, все запросы и ответы используют текстовое представление. Некоторые команды и ответы SIP, а также их использование, отражены в таблице 3.3.

Table 3.3

Команды и ответы SIP

Метод

Использование

INVITE

Приглашение пользователя

ACK

Обмен приглашениями

BYE

Завершение сеанса между двумя точками

CANCEL

Завершение поиска пользователя

OPTIONS

Получение информации о параметрах вызова

REGISTER

Получение информации о местоположении пользователя для сервера регистрации SIP.

Формат сообщения для SIP показан на рис. 3.3. Тело сообщения отделено от заголовка пустой строкой. Поле ‘Via’ содержит хост и порт, от которого ожидается ответ. Когда сообщение SIP проходит через множество прокси-серверов, каждый прокси-сервер добавляет свой адрес и порт в это сообщение. Это дает возможность получателю отправить ответ через те же прокси-серверы. Поля ‘From’ и ‘To’ специфицируют SIP URI отправителя и получателя приглашения, обычно в виде адреса электронной почты. Поле ‘call-Id’ содержит глобальный уникальный идентификатор этого вызова. Поля ‘Content-Length’ и ‘Content-Type’ поясняют содержимое тела сообщения SIP.

Рис. 3.3: Типичная сессия SIP

На рис. 3.3 приведен простой пример, в котором отражается суть операций SIP. Вызывающий клиент приглашает участников на сессию. Клиент SIP создает приглашение INVITE для callee@uic.edu, которое посылается на прокси-сервер (Шаг 1). Этот прокси-сервер пытается получить IP-адрес сервера SIP, который управляет запросами в данном домене. Прокси-сервер консультируется с Location Server для определения следующего сервера (Шаг 2). Location server не является сервером SIP и запоминает информацию о следующих серверах для разных пользователей, возвращая адрес IP найденного участника (Шаг 3). Получив этот адрес, прокси-сервер пересылает приглашение INVITE (Шаг 5) машине-хосту. При достижении UAS (User Agent Server), передается ответ OK на прокси-сервер (Шаг 8), предполагая, что запрос принят. Прокси-сервер посылает OK клиенту (Шаг 9). Клиент подтверждает получение ответа, посылая сообщение ACK (Шаг 10). После этого между двумя клиентами устанавливается сессия мультимедиа. В конце этой сессии принимающий клиент посылает сообщение BYE посылающему клиенту(Шаг 11), который завершает сессию другим сообщением BYE (Шаг 12).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]