[Jingle] open issue: removing candidates
justin at affinix.com
Wed May 13 23:11:00 CDT 2009
On Tuesday 12 May 2009 05:18:12 Olivier Crête wrote:
> On Mon, 2009-05-11 at 22:23 -0700, Justin Uberti wrote:
> > The generation attribute is used for when ICE connectivity fails on
> > all candidates, and a new set of candidates is needed. In this the
> > client allocates a new set of candidates, and the candidates from the
> > older generation are to be discarded upon receipt of a candidate from
> > a newer generation. This would be useful in the case mentioned above
> > where you get a new IP while the call is active.
> This looks awfully like an ICE restart.. Except that in that case,
> instead of changing the generation, you change the credentials (see
> ICE-19 188.8.131.52).
Indeed. 184.108.40.206 has a list of "MUST" cases for when you should restart ICE,
however an IP address change (or a general network connectivity change) is
not one of them. Instead, the purpose of ICE restarts seems to be more about
redirecting media mid-stream (read: SIP madness).
But, I think it could work for recovering from IP/network changes too.
> Also, if your IP address has changed, the XMPP connection is also gone.
Yep, you'd need to reconnect to XMPP first in order to perform the restart.
Moving forward, I think one of two things should happen:
1) Remove the currently-documented transport-replace + generation attribute
approach, so that ICE "restarting" is not possible at all in the context of
2) Document how to perform restarting clearly, be sure to call it "ICE
restarts" for consistency with the ICE draft, and strongly consider using the
ICE approach (change user/pass, rather than introducing a generation
More information about the Jingle