Subject: Re: [MMUSIC] BUNDLE TEXT: Answerer Procedures (29th May)

From: Eric Rescorla <[email-masked]>
Date: Sat, 1 Jun 2013 07:46:16 -0700

6.4.  Answerer Procedures

6.4.1.  General

   This section describes how an Answerer, when it receives an SDP Offer
   including a BUNDLE group, generates the associated SDP Answer.

   When an Answerer receives an SDP Offer which includes a BUNDLE group,
   and the Answerer accepts the offered BUNDLE group, the Answerer MUST
   generate an SDP Answer according to the procedures in Section 6.1 and
   this section.

6.4.2.  RFC 5888 restrictions

   Based on the rules and procedures in RFC 5888, the following
   restrictions also apply to BUNDLE groups in SDP Answers:

   o  1) A BUNDLE group must not be added to an SDP Answer, unless the
      same BUNDLE group was included in the associated SDP Offer; and

   o  2) An SDP "m=" line must not be added to a BUNDLE group in the SDP
      Answer, unless it in the associated SDP Offer was included in the
      same BUNDLE group.

6.4.3.  Offerer Bundle Address Selection

   In the SDP Answer, the Answerer selects the bundle address for the
   Offerer, based on the address information received in the associated
   SDP Offer, using the mid value.  The mid value associated with the
   "m=" line in the SDP Offer that represents the bundle address MUST in
   the SDP Answer be located first in the mid value list added to SDP
   group:BUNDLE attribute associated with the BUNDLE group.

I am having trouble reading this text. Is this supposed to say
that the answerer should choose the transport parameters from
one of the m-lines and put the mid associated with those parameters
first in the group:BUNDLE attribute he sends?

   From the associated SDP Offer, the Answerer SHOULD choose the bundle
   address associated with the mid value located first in the mid value
   list included in the SDP group:BUNDLE attribute associated with the
   BUNDLE group, unless:

Is there a reason to make this a SHOULD rather than MUST? The
conditions below don't really seem to be judgement calls.
I may have missed some discussion on this, but why not say
MUST use the first mid associated with a non-zero m-line?

   o  1) The mid value represents an "m=" line with a port zero value in
      the SDP Offer; or

   o  2) The mid value represents an "m=" line with a port zero value in
      the SDP Answer.

   OPEN: The decision for allowing a media description with port zero
   values inside a BUNDLE group is pending on update for RFC 5888.

6.4.4.  Answerer Bundle Address Selection

   In the SDP Answer, the Answerer selects its local bundle address.
   Each "m=" line included in a BUNDLE group MUST contain identical
   address information.  The only exception is the usage of a zero port
   value for an "m=" line, which is allowed eventhough another port
   value number is used for other "m=" lines in the BUNDLE group.

A forward reference to 6.4.5 would be nice here. Or maybe just merge
it in.

   OPEN: The decision for allowing a media description with port zero
   values inside a BUNDLE group is pending on update for RFC 5888.

   In a subsequent SDP Answer, the Answerer MAY change its local bundle
   address, as long as each "m=" line included the BUNDLE group contain
   identical address information.

   For a given BUNDLE group, the Answerer MUST NOT assign the bundle
   address to "m=" lines that are not included the BUNDLE group, or to
   "m=" lines that are included in another BUNDLE group.

6.4.5.  Rejecting A BUNDLE Media Description

   When generating the SDP Answer, if the Answerer wants to reject media
   associated with an "m=" line in the BUNDLE group, it will add a zero
   port number value to the "m=" line, according to the procedures
   defined in RFC 3264.

   OPEN ISSUE: It is FFS whether it is allowed to include a port zero
   media descriptions in a BUNDLE group.

6.4.6.  Removing a media description from a BUNDLE group

   When generating the SDP Answer, if the Answerer wants to remove an
   "m=" line from a BUNDLE group (without rejecting the "m=" line),it
   MUST NOT include the "m=" line in a BUNDLE group.  In addition, the
   SDP Answer MUST not add its local bundle address to the "m=" line.

   An Answerer MUST NOT, in the SDP Answer, remove an "m=" line from a
   BUNDLE group, unless the "m=" line had unique address information in
   the associated SDP Offer.

   NOTE: The reason for the restriction above is that, if the "m=" line
   would be removed from the BUNDLE group, the address information would
   be identical to the "m=" lines remaining in the BUNDLE group.

   OPEN: The decision for allowing a media description with port zero
   values inside a BUNDLE group is pending on update for RFC 5888.

I thought we had agreed to no bundle splitting.

On Thu, May 30, 2013 at 10:37 AM, Cullen Jennings (fluffy) <[email-masked]
> wrote:

>
> Looks good to me
>
> On May 29, 2013, at 5:39 AM, Christer Holmberg <
> [email-masked]> wrote:
>
> > Hi,
> >
> > Based on the e-mail and interim discussions, I’ve tried together some
> ”Answerer Procedures” text for BUNDLE.
> >
> > For now, I would request that people mainly focus on the technical
> stuff, and if some text is unclear. I WILL align the usage of “m=” line and
> “media description” :)
> >
> > Also note that examples will be added later.
> >
> > Regards,
> >
> > Christer
> >
> > -----------------------------------------------------
> >
> >
> > 6.4.  Answerer Procedures
> >
> > 6.4.1.  General
> >
> >    This section describes how an Answerer, when it receives an SDP Offer
> >    including a BUNDLE group, generates the associated SDP Answer.
> >
> >    When an Answerer receives an SDP Offer which includes a BUNDLE group,
> >    and the Answerer accepts the offered BUNDLE group, the Answerer MUST
> >    generate an SDP Answer according to the procedures in Section 6.1 and
> >    this section.
> >
> > 6.4.2.  RFC 5888 restrictions
> >
> >    Based on the rules and procedures in RFC 5888, the following
> >    restrictions also apply to BUNDLE groups in SDP Answers:
> >
> >    o  1) A BUNDLE group must not be added to an SDP Answer, unless the
> >       same BUNDLE group was included in the associated SDP Offer; and
> >
> >    o  2) An SDP "m=" line must not be added to a BUNDLE group in the SDP
> >       Answer, unless it in the associated SDP Offer was included in the
> >       same BUNDLE group.
> >
> > 6.4.3.  Offerer Bundle Address Selection
> >
> >    In the SDP Answer, the Answerer selects the bundle address for the
> >    Offerer, based on the address information received in the associated
> >    SDP Offer, using the mid value.  The mid value associated with the
> >    "m=" line in the SDP Offer that represents the bundle address MUST in
> >    the SDP Answer be located first in the mid value list added to SDP
> >    group:BUNDLE attribute associated with the BUNDLE group.
> >
> >    From the associated SDP Offer, the Answerer SHOULD choose the bundle
> >    address associated with the mid value located first in the mid value
> >    list included in the SDP group:BUNDLE attribute associated with the
> >    BUNDLE group, unless:
> >
> >    o  1) The mid value represents an "m=" line with a port zero value in
> >       the SDP Offer; or
> >
> >    o  2) The mid value represents an "m=" line with a port zero value in
> >       the SDP Answer.
> >
> >    OPEN: The decision for allowing a media description with port zero
> >    values inside a BUNDLE group is pending on update for RFC 5888.
> >
> > 6.4.4.  Answerer Bundle Address Selection
> >
> >    In the SDP Answer, the Answerer selects its local bundle address.
> >    Each "m=" line included in a BUNDLE group MUST contain identical
> >    address information.  The only exception is the usage of a zero port
> >    value for an "m=" line, which is allowed eventhough another port
> >    value number is used for other "m=" lines in the BUNDLE group.
> >
> >    OPEN: The decision for allowing a media description with port zero
> >    values inside a BUNDLE group is pending on update for RFC 5888.
> >
> >    In a subsequent SDP Answer, the Answerer MAY change its local bundle
> >    address, as long as each "m=" line included the BUNDLE group contain
> >    identical address information.
> >
> >    For a given BUNDLE group, the Answerer MUST NOT assign the bundle
> >    address to "m=" lines that are not included the BUNDLE group, or to
> >    "m=" lines that are included in another BUNDLE group.
> >
> > 6.4.5.  Rejecting A BUNDLE Media Description
> >
> >    When generating the SDP Answer, if the Answerer wants to reject media
> >    associated with an "m=" line in the BUNDLE group, it will add a zero
> >    port number value to the "m=" line, according to the procedures
> >    defined in RFC 3264.
> >
> >    OPEN ISSUE: It is FFS whether it is allowed to include a port zero
> >    media descriptions in a BUNDLE group.
> >
> > 6.4.6.  Removing a media description from a BUNDLE group
> >
> >    When generating the SDP Answer, if the Answerer wants to remove an
> >    "m=" line from a BUNDLE group (without rejecting the "m=" line),it
> >    MUST NOT include the "m=" line in a BUNDLE group.  In addition, the
> >    SDP Answer MUST not add its local bundle address to the "m=" line.
> >
> >    An Answerer MUST NOT, in the SDP Answer, remove an "m=" line from a
> >    BUNDLE group, unless the "m=" line had unique address information in
> >    the associated SDP Offer.
> >
> >    NOTE: The reason for the restriction above is that, if the "m=" line
> >    would be removed from the BUNDLE group, the address information would
> >    be identical to the "m=" lines remaining in the BUNDLE group.
> >
> >    OPEN: The decision for allowing a media description with port zero
> >    values inside a BUNDLE group is pending on update for RFC 5888.
> >
> >
> > _______________________________________________
> > mmusic mailing list
> > [email-masked]
> > https://www.ietf.org/mailman/listinfo/mmusic
>
> _______________________________________________
> mmusic mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/mmusic
>

---

From: Christer Holmberg <[email-masked]>
Date: Sun, 2 Jun 2013 18:33:15 +0000

Hi,

>first in the group:BUNDLE attribute he sends?

Yes.

-----------------------------------

Actually,  the text (and the conditions) probably needs some re-wording, because I mostly had the initial offer in mind.

But, assume an updated offer, where the first m- line is changed from zero to a non-zero value ("taken back into use") - which is different from the current bundle address. The answerer may want to keep the current offerer bundle address.

However, this also depends on whether an m- line that is taken back into use is allowed to have another address than the current bundle address to begin with. I'll discuss that in the SDP Offer section.

-----------------------------------

I can add a forward reference for now. I think we should wait with the cosmetics until we have the new version of the draft available.

-----------------------------------

I am not sure what you mean by "splitting", but this is not about moving an m- line from one BUNDLE group to another BUNDLE group, but to move it outside an BUNDLE group all together. People wanted to allow that in the case where the Offer contains different ports, but if you disagree we need to discuss it further.

Regards,

Christer

---

From: Cullen Jennings <[email-masked]>
Date: Mon, 3 Jun 2013 16:49:26 -0600

On Jun 2, 2013, at 12:33 PM, Christer Holmberg <[email-masked]> wrote:

> I am not sure what you mean by “splitting”, but this is not about moving an m- line from one BUNDLE group to another BUNDLE group, but to move it outside an BUNDLE group all together. People wanted to allow that in the case where the Offer contains different ports, but if you disagree we need to discuss it further.
> 
> Regards,

One case that is brought up for this is a conference bridge where the voice and video go to different IP addresses. The browser makes a offer to the conference bridge and can offer all the voice and video in one bundle, but the answer from the bridge keeps all the video in the bundle but puts the audio outside of any bundle. It did not split a bundle into two bundles but for all the things offered in the bundle, the answer said yes to some and no to others about them being in the bundle. 

I don't think Christer or I was thinking of that as splitting but agree we never really sorted out what the term means

---

From: Christer Holmberg <[email-masked]>
Date: Wed, 5 Jun 2013 05:56:08 +0000

Hi,

>> I am not sure what you mean by "splitting", but this is not about moving an m- line from one BUNDLE group to another 
>> BUNDLE group, but to move it outside an BUNDLE group all together. People wanted to allow that in the case where the 
>> Offer contains different ports, but if you disagree we need to discuss it further.
> 
> One case that is brought up for this is a conference bridge where the voice and video go to different IP addresses. The 
> browser makes a offer to the conference bridge and can offer all the voice and video in one bundle, but the answer from 
> the bridge keeps all the video in the bundle but puts the audio outside of any bundle. It did not split a bundle into two 
> bundles but for all the things offered in the bundle, the answer said yes to some and no to others about them being in the bundle. 

Correct.

Regards,

Christer