[Standards] XEP-0371: Jingle ICE Transport Method - Question on ICE Restart detection

Philipp Hancke fippo at goodadvice.pages.de
Wed Nov 17 09:25:16 UTC 2021


Am 16.11.21 um 20:31 schrieb Daniel Gultsch:
> Hi,
> 
> I’m trying to implement ICE Restarts with XEP-0371. The XEP states
> that ICE restarts can be detected by a changed ufrag and pwd
> attributes in the transport-info.
> 
> However what I'm currently unclear about is how I can detect if the
> incoming transport-info is a request to restart ICE on its own or a
> response to an ICE restart we initiated.
> 
> Or to put it into WebRTC terminology how do I know if a transport-info
> with changed ufrag/pwd is an Offer or an Answer.

oh this does a fancy variant which doesn't map 1:1 to WebRTC sdp.

Assume the following collision happening in parallel:
initiator: restart, transport-info
responder: restart, transport-info
Upon receiving the messages,
- the initiator consider the second message a response and maps it to an 
answer.
- the responder will also consider it a response and map it to an answer.

Both will then update their respective ufrag/pwd and be happy.

It should actually work no matter what, leaving role conflict handling 
to ICE. Oddly
   https://jsfiddle.net/fippo/ytqmnsxh/5/
never changes the pair in Firefox but i'll go nag someone.

In general I would always initiate restarts from one side (e.g. the 
intiator), not both. Why bother with glare and conflicts when it is 
trivial to avoid...


More information about the Standards mailing list