Модель предложения / ответа в sip согласно RFC3264

У меня проблемы с пониманием заявлений, сделанных в RFC3264, который определяет модель предложения / ответа, используемую в SIP.

1-й абзац на странице 2, глава 1 The answer has a matching media stream for each stream in the offer, indicating whether the stream is accepted or not..

Таким образом, в ответ каждому потоку, найденному в предложении, присваивается соответствующий поток. Это звучит как копия, предложение полностью или частично копируется в ответ. В моем понимании совпадающий поток должен выглядеть как копия потока. Далее больше цит.: "ответ включает в себя". Таким образом, описывается свойство, которое может иметь одно состояние. В RFC нет ни единого слова о несоответствии потока или об отсутствии потока в ответе.

С другой стороны, указывается, принят поток или нет. Здесь у нас есть артефакт с двумя состояниями.

Интересно, как артефакт с 1 состоянием может описать артефакт с 2 состояниями.

1 ответ

Решение

Под "медиа потоком" подразумевается некоторый источник медиа, такой как аудио, видео или что-то еще. Ответ должен иметь несколько потоков, и ответ должен иметь ответ на каждый поток. "Базовая" настройка "медиапотока" - это строка "m=".

Вы можете увидеть это в примерах в RFC, например:

10.1 Basic Exchange

   Assume that the caller, Alice, has included the following description
   in her offer.  It includes a bidirectional audio stream and two
   bidirectional video streams, using H.261 (payload type 31) and MPEG
   (payload type 32).  The offered SDP is:

   v=0
   o=alice 2890844526 2890844526 IN IP4 host.anywhere.com
   s=
   c=IN IP4 host.anywhere.com
   t=0 0
   m=audio 49170 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   m=video 51372 RTP/AVP 31
   a=rtpmap:31 H261/90000
   m=video 53000 RTP/AVP 32
   a=rtpmap:32 MPV/90000


   The callee, Bob, does not want to receive or send the first video
   stream, so he returns the SDP below as the answer:

   v=0
   o=bob 2890844730 2890844730 IN IP4 host.example.com
   s=
   c=IN IP4 host.example.com
   t=0 0
   m=audio 49920 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   m=video 0 RTP/AVP 31
   m=video 53000 RTP/AVP 32
   a=rtpmap:32 MPV/90000

Вы можете видеть, что в предложении есть три предлагаемых потока: 1 аудио и 2 видео, которые можно прочитать по строкам "m=".

Вы также можете видеть, что ответ имеет три строки "m=" (в том же порядке). Строка "m=video 0 RTP/AVP 31" при отклонении видеопотока предлагает быть принятой из-за части "0". Никаких дополнительных строк не требуется.

Вы также можете видеть, что строки - это не "копии", а фактически настройка того, что эти конечные точки требуют для принятия этого медиапотока. Единственным "копированием" является заказ "m=xxx".

Другие вопросы по тегам