SIP - протокол описания сеанса

SDP означает протокол описания сеанса. Он используется для описания мультимедийных сеансов в формате, понятном участникам сети. В зависимости от этого описания сторона решает, присоединиться ли к конференции или когда и как присоединиться к конференции.

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

  • SDP обычно содержится в основной части протокола инициации сеанса, обычно называемого SIP.

  • SDP определен в RFC 2327. Сообщение SDP состоит из серии строк, называемых полями, имена которых сокращены одной строчной буквой и расположены в необходимом порядке для упрощения синтаксического анализа.

Назначение SDP

Цель SDP - передавать информацию о медиапотоках в мультимедийных сеансах, чтобы помочь участникам присоединиться или собрать информацию о конкретном сеансе.

  • SDP - это краткое структурированное текстовое описание.

  • Он передает название и цель сеанса, медиа, протоколы, форматы кодеков, информацию о времени и транспортировке.

  • Предварительный участник проверяет эту информацию и решает, присоединиться ли к сеансу, а также как и когда присоединиться к сеансу, если он решит это сделать.

  • Формат имеет записи в виде <тип> = <значение>, где <тип> определяет уникальный параметр сеанса, а <значение> предоставляет конкретное значение для этого параметра.

  • Общая форма сообщения SDP -

    x = parameter1 parameter2 ... parameterN

  • Строка начинается с одной строчной буквы, например x. Между буквой и знаком = никогда не бывает пробелов, и между каждым параметром есть ровно один пробел. Каждое поле имеет определенное количество параметров.

Сессия Описание Параметры

Описание сеанса (* означает необязательно)

  • v = (версия протокола)
  • o = (владелец / создатель и идентификатор сеанса)
  • s = (имя сеанса)
  • i = * (информация о сеансе)
  • u = * (URI описания)
  • e = * (адрес электронной почты)
  • p = * (номер телефона)
  • c = * (информация о подключении - не требуется, если присутствует на всех носителях)
  • b = * (информация о пропускной способности)
  • z = * (настройки часового пояса)
  • k = * (ключ шифрования)
  • a = * (ноль или более строк атрибутов сеанса)

Версия протокола

Поле v = содержит номер версии SDP. Поскольку текущая версия SDP - 0, допустимое сообщение SDP всегда будет начинаться с v = 0.

Происхождение

Поле o = содержит информацию об отправителе сеанса и идентификаторах сеанса. Это поле используется для однозначной идентификации сеанса.

  • Поле содержит -

    o = <имя пользователя> <идентификатор-сеанса> <версия> <тип-сети> <тип-адреса>

  • В username Параметр содержит логин или хост отправителя.

  • В session-id параметр - отметка времени протокола сетевого времени (NTP) или случайное число, используемое для обеспечения уникальности.

  • В version - это числовое поле, которое увеличивается при каждом изменении сеанса, также рекомендуется использовать метку времени NTP.

  • В network-typeвсегда IN для Интернета. Параметр типа адреса - IP4 или IP6 для адреса IPv4 или IPv6 в десятичной форме с точками или полное имя хоста.

Название сеанса и информация

Поле s = содержит имя сеанса. Он может содержать любое ненулевое количество символов. Необязательное поле i = содержит информацию о сеансе. Он может содержать любое количество символов.

URI

Необязательное поле u = содержит универсальный индикатор ресурса (URI) с дополнительной информацией о сеансе.

Адрес электронной почты и номер телефона

Необязательное поле e = содержит адрес электронной почты хоста сеанса. Необязательное поле p = содержит номер телефона.

Данные подключения

Поле c = содержит информацию о медиа-соединении.

  • Поле содержит -

    c = <тип-сети> <тип-адреса> <адрес-соединения>

  • В network-type Параметр определяется как IN для Интернета.

  • В address-type определяется как IP4 для адресов IPv4 и IP6 для адресов IPv6.

  • В connection-address IP-адрес или хост, который будет отправлять медиапакеты, которые могут быть многоадресными или одноадресными.

  • Если многоадресная передача, поле адреса подключения содержит -

    адрес-соединения = базовый-многоадресный-адрес / ttl / количество-адресов

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

Пропускная способность

Необязательное поле b = содержит информацию о требуемой полосе пропускания. Это имеет вид -

b = модификатор: пропускная способность - значение

Время, время повтора и часовые пояса

Поле t = содержит время начала и время окончания сеанса.

t = время начала время остановки

Необязательное поле r = содержит информацию о времени повтора, которое может быть указано либо в NTP, либо в днях ( d ), часах ( h ) или минутах ( m ).

Необязательное поле z = содержит информацию о смещениях часовых поясов. Это поле используется, если происходящий сеанс охватывает переход от летнего времени к стандартному времени или наоборот.

Объявления СМИ

Необязательное поле m = содержит информацию о типе медиа-сеанса. Поле содержит -

m = список транспортных форматов медиа-порта

  • Параметр мультимедиа - это аудио, видео, текст, приложение, сообщение, изображение или элемент управления. Параметр порта содержит номер порта.

  • Параметр транспорта содержит используемый транспортный протокол или профиль RTP.

  • Список форматов содержит дополнительную информацию о носителе. Обычно он содержит типы полезной нагрузки мультимедиа, определенные в профилях аудио-видео RTP.

Example:
m = audio 49430 RTP/AVP 0 6 8 99

Один из этих трех кодеков может использоваться для сеанса аудио-мультимедиа. Если предполагается установить три аудиоканала, будут использоваться три отдельных поля мультимедиа.

Атрибуты

Необязательное поле a = содержит атрибуты предыдущего сеанса мультимедиа. Это поле можно использовать дляextend SDP to provide more information about the media. Если пользователь SDP не полностью понимает это, поле атрибута можно игнорировать. Для каждого типа полезных данных мультимедиа, перечисленных в поле мультимедиа, может быть одно или несколько полей атрибутов.

Атрибуты в SDP могут быть либо

  • уровень сеанса, или
  • уровень СМИ.

Уровень сеанса означает, что атрибут указан перед первой строкой мультимедиа в SDP. Если это так, атрибут применяется ко всем строкам мультимедиа под ним.

Уровень СМИ означает, что он указан после строки СМИ. В этом случае атрибут применяется только к этому конкретному медиапотоку.

SDP может включать атрибуты как уровня сеанса, так и уровня мультимедиа. Если один и тот же атрибут отображается как оба, атрибут уровня мультимедиа переопределяет атрибут уровня сеанса для этого конкретного мультимедийного потока. Обратите внимание, что поле данных подключения также может быть либо уровнем сеанса, либо уровнем мультимедиа.

Пример SDP

Ниже приведен пример описания сеанса, взятый из RFC 2327 -

v = 0
o = mhandley2890844526 2890842807 IN IP4 126.16.64.4
s = SDP Seminar
i = A Seminar on the session description protocol
u = http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e = [email protected](Mark Handley)
c = IN IP4 224.2.17.12/127
t = 2873397496 2873404696
a = recvonly
m = audio 49170 RTP/AVP 0
m = video 51372 RTP/AVP 31
m = application 32416udp wb
a = orient:portrait