Subject: [AVTCORE] RTP Retransmission and multiple media types in draft-ietf-avtcore-multi-media-rtp-session

From: Magnus Westerlund <[email-masked]>
Date: Mon, 2 Mar 2015 15:43:07 +0100

WG,

We authors are working on resolving the last remaining open issues. One
of the issues was around the signalling of RTP retransmission in a
session multiplexed configuration. After some feedback on MMUSIC mailing
list I have drafted the below text. Please provide any comments, if none
is received it will be in the next draft version that will be submitted
prior to the cut-off on Monday.

7.1.  RTP Retransmission

   SSRC-multiplexed RTP retransmission [RFC4588] is actually very
   straightforward.  Each retransmission RTP payload type is explicitly
   connected to an associated payload type.  If retransmission is only
   to be used with a subset of all payload types, this is not a problem,
   as it will be evident from the retransmission payload types which
   payload types that have retransmission enabled for them.

   Session-multiplexed RTP retransmission is also possible to use where
   an retransmission session contains the retransmissions of the
   associated payload types in the source RTP session.  The only
   difference to previously is that the source RTP session is one which
   contains multiple media types.  Thus resulting in that the
   retransmission streams in the RTP session for the retransmission has
   multiple associated media types.

   When using SDP signalling for a multiple media types RTP session,
   i.e. BUNDLE [I-D.ietf-mmusic-sdp-bundle-negotiation], the session
   multiplexed case do require some recommendation on how to signal
   this.  To avoid breaking the semantics of the FID grouping [RFC5888]
   each media line should only be included in one FID group.  FID is
   used by RTP retransmission to indicate the SDP media lines that is a
   source and retransmission pair.  Thus, for SDP using BUNDLE, each
   original media source (m= line) that is retransmitted needs a
   corresponding media line in the retransmission RTP session.  In case
   there are multiple media lines for retransmission, these media lines
   will form a independent BUNDLE group from the BUNDLE group with the
   source streams.

   Below is an SDP example (Figure 1) which shows the grouping
   structures.  This example is not legal SDP and only the most
   important attributes has been left in place.  Note that this SDP is
   not an initial BUNDLE offer.  As can be seen there are two bundle
   groups, one for the source RTP session and one for the
   retransmissions.  Then each of the media sources are grouped with its
   retransmission flow using FID, resulting in three more groupings.

          a=group:BUNDLE foo bar fiz
          a=group:BUNDLE zoo kelp glo
          a=group:FID foo zoo
          a=group:FID bar kelp
          a=group:FID fiz glo
          m=audio 10000 RTP/AVP 0
          a=mid:foo
          a=rtpmap:0 PCMU/8000
          m=video 10000 RTP/AVP 31
          a=mid:bar
          a=rtpmap:31 H261/90000
          m=video 10000 RTP/AVP 31
          a=mid:fiz
          a=rtpmap:31 H261/90000
          m=audio 40000 RTP/AVPF 99
          a=rtpmap:99 rtx/90000
          a=fmtp:99 apt=0;rtx-time=3000
          a=mid:zoo
          m=video 40000 RTP/AVPF 100
          a=rtpmap:100 rtx/90000
          a=fmtp:199 apt=31;rtx-time=3000
          a=mid:kelp
          m=video 40000 RTP/AVPF 100
          a=rtpmap:100 rtx/90000
          a=fmtp:199 apt=31;rtx-time=3000
          a=mid:glo

      Figure 1: SDP example of Session Multiplexed RTP Retransmission

-- 

Magnus Westerlund

----------------------------------------------------------------------
Services, Media and Network features, Ericsson Research EAB/TXM
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Färögatan 6                 | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: [email-masked]
----------------------------------------------------------------------