Subject: [MMUSIC] ICE tiebreaker - session-level or media-level?

From: Justin Uberti <[email-masked]>
Date: Thu, 11 Oct 2012 23:25:36 -0700

Reviewing the handling of role conflicts, a question came up: in the event
different systems handle different media in a session, do they have to
share the same ICE tiebreaker?

Section 5.2 of RFC 5245 indicates that the ICE Agent chooses the
tiebreaker, indicating that this is a session-level value.

 To resolve this, each agent MUST select a random number, called
      the tie-breaker, uniformly distributed between 0 and (2**64) - 1
      (that is, a 64-bit positive integer).  This number is used in
      connectivity checks to detect and repair this case, as described
      in Section 7.1.2.2 <http://tools.ietf.org/html/rfc5245#section-7.1.2.2>.

Or am I misreading, and each m= line corresponds to its own ICE Agent,
with its own tiebreaker value?

Thanks,

--justin

---

From: Marc Petit-Huguenin <[email-masked]>
Date: Fri, 12 Oct 2012 06:37:26 -0700

On 10/11/2012 11:25 PM, Justin Uberti wrote:
> To resolve this, each agent MUST select a random number, called the
> tie-breaker, uniformly distributed between 0 and (2**64) - 1 (that is, a
> 64-bit positive integer).  This number is used in connectivity checks to
> detect and repair this case, as described in Section 7.1.2.2
> <http://tools.ietf.org/html/rfc5245#section-7.1.2.2>.
> 
> 
> Or am I misreading, and each m= line corresponds to its own ICE Agent, with
> its own tiebreaker value?
> 

Well, it is obvious that ICE was not designed with an Agent per m= line, see
draft-petithuguenin-mmusic-ice-attributes-level.  Work on rfc5245bis will
start after the Atlanta meeting, so this will be a good time to fix this.
Meanwhile, is there any interoperability problem when implementing an ICE
Agent per m= line?

- -- 
Marc Petit-Huguenin
Email: [email-masked]
Blog: http://blog.marc.petit-huguenin.org
Profile: http://www.linkedin.com/in/petithug

---

From: Martin Thomson <[email-masked]>
Date: Fri, 12 Oct 2012 13:14:29 -0700

On 11 October 2012 23:25, Justin Uberti <[email-masked]> wrote:
> different systems handle different media in a session, do they have to share
> the same ICE tiebreaker?

My reading was the same.  There is an expectation of a single agent
that handles the entire session.

I presume that you are concerned about deployments where audio and
video is routed to separate mixers.  My guess was that ICE lite would
have been assumed for the mixer, in which case the tie breaker becomes
moot.

I imagine that any attempt to "fix" this would require new work.  The
decision to operate multiple agents would have to be negotiated so
that both sides properly synchronize their connectivity checking.