- From: Taylor Brandstetter <deadbeef@google.com>
- Date: Wed, 11 May 2016 10:17:16 -0700
- To: Harald Alvestrand <harald@alvestrand.no>
- Cc: Eric Rescorla <ekr@rtfm.com>, "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <CAK35n0aC8+y=GsiE9L04gPqtpcZrsh-C7-_U7DYh6=MzhxHZDA@mail.gmail.com>
I guess it's not that the endpoints can't communicate at all. But I admit it feels wrong that negotiation of additional media sections can fail in one direction and succeed in the other. Also, I can see the argument for rejecting non-bundled media descriptions just so we can be consistent with rejecting non-RTCP-muxed descriptions. So on that note, here's a pull request: https://github.com/rtcweb-wg/jsep/pull/279 On Mon, Apr 25, 2016 at 1:07 AM, Harald Alvestrand <harald@alvestrand.no> wrote: > Den 18. april 2016 01:12, skrev Eric Rescorla: > > > > > > On Wed, Apr 13, 2016 at 7:12 AM, Harald Alvestrand <harald@alvestrand.no > > <mailto:harald@alvestrand.no>> wrote: > > > > On 04/13/2016 01:26 AM, Taylor Brandstetter wrote: > >> My initial assumption was that the only purpose of the > >> "max-bundle" policy was to create "bundle-only" media descriptions > >> in an offer. > >> > >> But a question came up recently: What happens if you receive a > >> non-BUNDLE offer when the max-bundle policy is configured? > >> > >> Should the PeerConnection: > >> > >> 1. Allow this, and negotiate multiple transports? > >> 2. Reject (port 0) all but one of the media descriptions? > >> > >> An application developer may be surprised if they configure > >> max-bundle, but end up non-bundled. But conversely, they may be > >> surprised if media descriptions are rejected for no reason other > >> than the bundle policy. > >> > > My immediate reaction (on the general principle that "negotation to > > less functionality should always work") is that the developer's > > setting for max-bundle policy affects offers created by the local PC > > only; if the implementation is at all able to accept the remote > > side's offer, it should accept it. > > > > I think we still require all implementations to support multiple > > transports. > > > > > > I think we should reject this for the same reason that we reject non-mux > > offers when mux=require. It avoids situations where two endpoints can > > initially communicate but then cannot if a subsequent negotiation > > happens in the other direction. > > Can you give an example of a negotiation where this would happen? > > If we accept the premise that renegotiation can't change the > "bundle-only" property of existing m-lines, I don't see how we can get > into trouble. > That is: > > (A doesn't bundle, B has policy max-bundle) > > A: Offer X, Y > B: Answer X, Y (no bundle) > > Policy alternative 1, B tries to bundle what it can: > > B: Offer X, Y, Z, W; Z and W are bundled, W is marked bundle-only > A: Answer X, Y, Z; rejects W, since it was marked bundle-only > > Communication continues on X, Y and Z > > Policy alternative 2, B understands that bundle-only won't succeed > > B: Offer, X, Y, Z, W - doesn't bundle, or bundles Z and W with no > bundle-only > A: Answer X, Y, Z, W - no bundle > > Communication continues on X, Y, Z, W > > I don't see the failure scenario that rejecting the initial offer would > help us avoid. > >
Received on Wednesday, 11 May 2016 17:17:44 UTC