8(499)-709-97-83
Работаем с 8:00 до 19:00

Основы протокола SDP

  • 16 июля 2014

Протокол SDP (Session Description Protocol)

Перед тем как состоится голосовой или видео вызов, двум IP устройствам, использующим протокол SIP, необходимо договорится о таких параметрах вызова, как транспортные адреса, аудио/видео кодеки, порты и другие данные. Для этого и используется протокол SDP.

SDP- это не аудио/видео поток или медиа данные. Протокол предназначен для широкого использования в различных приложениях и протоколах связи, может использовать любые транспортные протоколы, например SIP или HTTP.

Как работает протокол SDP

Протокол SDP можно разделить на три части. Первая часть, дает описания деталям сессии и называется «Session description» (Описание сессии), вторая часть называется «Time description» (Описание времени) и описывает временные параметры сессии. Третья часть называется «Media description» (Описание медиа параметров), описывает медиа данные, которые будут использоваться в будущем соединении. Ниже представлен синтаксис протокола SDP.

Session Description- Описание сессии

v= (protocol version) – информация о версии протокола
o= (owner/creator and session identification) – информация о создателе сессии и её ID
s= (session name) – название сессии
i= (session information)* – информация о сессии
u= (URI of description)* – URL адрес описания
e= (email address – contact detail)* – контактный email
p= (phone number – contact detail)* – контактный телефон
c= (connection information)* – информация о подключении, не обязательна если включена в media description
b= (session bandwidth information)* – информация о полосе пропускания
z= (time zone adjustments)* – корректировка часового пояса
k= (encryption key)* – ключ шифрования
a= (zero or more session attribute lines)* – дополнительные поля

Time description- Описание времени

t= (time the session is active) – время активности сессии
r= (repeat times)* – число повторений

Media description- Описание медиа параметров

m= (media description/ transport address) – описание медиа сессии и транспортный адрес
i= (media title)* – медиа заголовок
c= (connection information)* – информация о подключении, не обязательна если включена в session description
b= (bandwidth information)* – информация о пропускной способности
k= (encryption key)* – ключ шифрования
a= (zero or more media attribute lines)* – дополнительные поля

Поля отмеченные * – необязательные

Описание каждого поля:

Session Description

  • v= – указывает версию Session Description Protocol. В RFC 4566 указана пока только одна версия 0.
  • o= Информация об организаторе сессии и её ID
  •  – Имя пользователя. Поле должно не содержать пробелов
  •  – Числовая строка – уникальный идентификатор сессии
  •  – Числовая строка – номер версии
  •  – Текстовая строка – тип сетевого соединения. IN – интернет
  •  – Текстовая строка – адрес организатора сессии. IP4 или IP6
  •  – Адрес, устройства, организатора сессии. Может быть доменным именем или IP адресом
  • s= – Имя сессии, должно быть уникальным в рамках одной сессии. Данное поле должно быть заполнено
  • i= – Может быть указано только одно описание сессии, с уровнем “i”. Поле “i” может быть указано в разделе Session Description или Media Description. Поле предназначено для маркировки медиа потоков
  • u= – URI (Uniform Resource Identifier) указывается в поле “u”, дополнительные данные для описания сессии
  • e= – Поле определяет контактную информацию для лица, ответственного за конференцию
  • p= – Поле определяет контактную информацию для лица, ответственного за конференцию
  • c=  – Информация о соединении, может быть описана в Session description или Media Description
  •  – Текстовая строка, описывающая тип сетевого соединения. IN – интернет
  •  – Текстовая строка, указывающая на тип IP адреса, указанного как адреса подключения. IP4 или IP6.
  •  – Мультикастовый адрес с TTL. 224.2.36.42/127
  • b=: – Ширина полосы пропускания может быть указана для всей сессии. Так может указываться для отдельной медиа сессии
  •  – Два типа: CT – полоса пропускания для конференции; AS – полоса пропускания приложения
  •  – указывает полосу пропускания в Кбит/с
  • z=  – в этом поле указывается смещение времени
  • k=: – Если канал зашифрованный и доверительный, то SDP может переносить ключи шифрования. Ключ может быть указан для всей сессии или для каждой медиа сессии отдельно
  •  – В этом поле указывается метод шифрования или механизм получения ключей из внешних источников
  •  – Ключ шифрования
  • a=: – Атрибуты сессии могут быть указаны как для уровня сессии, так и для уровня медиа данных. Атрибуты, указанные для уровня сессии, применяются, например, для создания конференции

Time Description

  • t=: – Данное поле указывает начальное и конечное время для сессии.Specifies the start and stop times for a session
  • r=  – Если сессию необходимо повторить через некоторое время, то используется поле “r”. По умолчанию, значение для данного поля указывается в секундах, но для компактности записи можно использовать такие параметры, как день, час, минута, например, r=6d 2h 14m

Media Description

  • m= /  – Это поле используется для описания медиа данных, таких как: поток данных, порт для передачи данных, протокол для потоковой передачи или кодек.
  •  – Данное поле определяет медиа поток: аудио, видео, текст и т.д.
  •  – Данное поле определяет порт, на который будет передаваться медиа поток. Может быть указано несколько портов
  •  – Данное поле определяет протокол передачи медиа данных, например, RTP (real time protocol)
  •  – Данное поле определяет формат медиа данных, в каком кодеке будут передаваться данные, например, PCMU, GSM и т.д.

SDP and VoIP

В VoIP, протокол SDP используется между двумя оконечными точками для того, чтобы определить какой кодек будет использоваться между ними. Так же протокол SDP используется для определения других параметров, необходимых для установления медиа сессии. Подробное описание протокола SDP дано в RFC 4566.


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


 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)
 
Метки: SDP, VoIP, SIP