Что такое протокол SDP – Session Description Protocol?
SDP – это аббревиатура от Session Description Protocol – протокол описания сеанса связи. Session Description Protocol определяет параметры обмена мультимедийными данными (как правило, потоковыми) между двумя конечными точками и опубликован IETF в документе RFC 4566. Session Description Protocol обычно инкапсулируется в другой протокол – наиболее широко он используется с протоколом SIP в приложениях IP-телефонии. Простыми словами, Session Description Protocol – это список / декларирование возможностей конечной точки, где перечислены ее параметры и технологии приема данных. Типичный список возможностей выглядит так:
Этим списком декларирование не ограничивается и может включать и другие параметры. В установлении сессии участвуют две конечные точки, которые обмениваются списком спецификаций и возможностей, в соответствии со стандартом SDP. Session Description Protocol сам по себе не передает никаких мультимедиа-данных, а просто служит для согласованием общего, приемлемого для обеих сторон, набора параметров обмена. А сами медиапотоки передаются по другим протоколам. Рассмотрим простой пример:
v=0
o=MyStreamer 2398026505 2307593197 IN IP4 10.20.30.40
s=MyStreamer Audio Session
c=IN IP4 10.11.12.13
t=0 0
m=audio 15010 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
Здесь можно видеть, что конечная точка перечисляет, с какими именно параметрами она готова принимать медиа-данные от другой точки, с которой она начинает взаимодействие: