[Jingle] ICE/Raw UDP Candidate IDs and Generations

Paul Witty paulrw at codian.com
Wed Apr 22 08:37:01 CDT 2009

I'm somewhat unsure about the use of IDs and generations for candidates 
in both ICE and Raw UDP.

For Raw UDP, there is only one candidate per component per channel, so 
why do we need an additional identifier attribute?  And if we want to 
switch to a different IP/Port, is that just a new generation of 
candidate with the same ID, or a new candidate with a different ID and 
generation?  I'd favour dropping either the generation or the ID 
attribute, as both seems redundant.

With ICE UDP, the idea that you can modify candidates in-use mid-call by 
declaring a new generation of that candidate seems like a bad idea.  The 
whole point of ICE is to guarantee that, once candidates have been 
chosen, media can flow.  If one end can then modify the chosen 
candidate, this may no longer be true.  If a switch to a new address is 
required, this is best done by offering a new candidate to the far end, 
which will then be tested using ICE, and a switch to this new candidate 
made if appropriate.



More information about the Jingle mailing list