Subject: [rtcweb] Issue with new Trickle ICE text

From: Eric Rescorla <[email-masked]>
Date: Wed, 5 Mar 2014 09:27:15 +0000

S 3.4.2 of JSEP now reads:

    JSEP applications typically inform the browser to begin ICE gathering
    via the information supplied to setLocalDescription, as this is where
    the app specifies the number of media streams to gather candidates
    for.  However, to accelerate cases where the browser knows the number
    of media streams to use ahead of time, the application MAY ask the
    browser to gather a pool of potential ICE candidates to help ensure
    rapid media setup.  When setLocalDescription is eventually called,
    and the browser goes to gather the needed ICE candidates, it can
    start by checking if any candidates are available in the pool.

The issue here is that this basically mandates trickle ICE. If the
pool is smaller than the number of independent ICE streams needed,
then there is no way for you to "start gathering" (since this text
says it happens with sLD) and therefore you cannot supply all of the
candidates in the offer.

If that's not the intention to require (and I don't believe we agreed
to this semantic), then this needs to be rewritten.

-Ekr

---

From: Justin Uberti <[email-masked]>
Date: Thu, 6 Mar 2014 13:31:11 +0000

As discussed in the meeting, this doesn't mandate Trickle ICE for the
application (which can just wait until gathering is complete, as indicated
in S 3.4.1). Trickle ICE is mandated for the implementation, but I thought
we had agreed that long ago so that applications can get consistent
behavior.

While the text in S 3.4.2 is new, it is consistent with the text in 4.1.2
and 4.1.5, which defines the behavior for createOffer and
setLocalDescription

createOffer:

   Calling this method may do things such as generate new ICE
   credentials, but does not result in candidate gathering, or cause
   media to start or stop flowing.

setLocalDescription:

   This API indirectly controls the candidate gathering process.  When a
   local description is supplied, and the number of transports currently
   in use does not match the number of transports needed by the local
   description, the PeerConnection will create transports as needed and
   begin gathering candidates for them.

On Wed, Mar 5, 2014 at 9:27 AM, Eric Rescorla <[email-masked]> wrote:

> _______________________________________________
> rtcweb mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/rtcweb
>
>