Subject: Re: [MMUSIC] [AVTCORE] RTP Retransmission, FID and BUNDLE

From: Magnus Westerlund <[email-masked]>
Date: Mon, 2 Mar 2015 14:04:52 +0100

Hi Christer and WG,

Thanks for the feedback, I think the second one is the one that make
sense. As this allows one to have one FID group per media source that
one like to have retransmission for. This becomes more obvious if one
would include two media sources of the same media type. Thus, I intended
to write specification text that makes it clear that the following is
the appropriate way of doing this particular case:

       v=0
       o=alice 2890844526 2890844526 IN IP4 atlanta.example.com
       s=
       c=IN IP4 atlanta.example.com
       t=0 0
       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
       b=AS:200
       a=mid:foo
       a=rtpmap:0 PCMU/8000
       a=extmap 1 urn:ietf:params:rtp-hdrext:sdes:mid
       m=video 10000 RTP/AVP 31
       b=AS:1000
       a=mid:bar
       a=rtpmap:31 H261/90000
       a=extmap 1 urn:ietf:params:rtp-hdrext:sdes:mid
       m=video 10000 RTP/AVP 31
       b=AS:1000
       a=mid:fiz
       a=rtpmap:31 H261/90000
       a=extmap 1 urn:ietf:params:rtp-hdrext:sdes:mid
       m=audio 40000 RTP/AVPF 99
       a=rtpmap:99 rtx/90000
       a=fmtp:99 apt=0;rtx-time=3000
       a=mid:zoo
       a=extmap 1 urn:ietf:params:rtp-hdrext:sdes:mid
       m=video 40000 RTP/AVPF 100
       a=rtpmap:100 rtx/90000
       a=fmtp:199 apt=31;rtx-time=3000
       a=mid:kelp
       a=extmap 1 urn:ietf:params:rtp-hdrext:sdes:mid
       m=video 40000 RTP/AVPF 100
       a=rtpmap:100 rtx/90000
       a=fmtp:199 apt=31;rtx-time=3000
       a=mid:glo
       a=extmap 1 urn:ietf:params:rtp-hdrext:sdes:mid

On 2015-02-24 18:37, Christer Holmberg wrote:
> Hi,
> 
>  
> 
> 
> However, perhaps you in draft-ietf-avtcore-multi-media-rtp-session
would need some BUNDLE restrictions. For example, if the answerer
accepts the “main media” BUNDLE group (foo bar), does it also have to
accept the “fid” BUNDLE group (zoo kelp)?

Yes, if it intends to support RTP retransmission for any of the streams

But, otherwise it can drop the whole bundle. The FID groups indicate
which media source where RTP retransmission is at all enabled.

Cheers

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]
----------------------------------------------------------------------

---

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

WG,

Here is the proposed text for the upcoming version of

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.

      Figure 1: SDP example of Session Multiplexed RTP Retransmission

I appreciate any feedback I can get on this.

---

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

On 2015-03-02 15:39, Magnus Westerlund wrote:
> _______________________________________________
> mmusic mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/mmusic
> 
> 

-- 

Magnus Westerlund

---

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

Sorry for the spurious transmission,

Wanted to make clear that this is for
draft-ietf-avtcore-multi-media-rtp-session.

Cheers

Magnus

-- 

Magnus Westerlund