Subject: [MMUSIC] Review of draft-ietf-mmusic-ice-tcp-03

From: EKR <[email-masked]>
Date: Sat, 10 Mar 2007 19:45:45 -0800

$Id: draft-ietf-mmusic-ice-tcp-03-rev.txt,v 1.1 2007/03/11 03:56:43 ekr Exp $

This draft seems fairly improved over the previous version.
Comments below.

TECHNICAL
S 2.
   Similarly, communications with a STUN server will provide server
   reflexive and relayed versions of all three types.

Can you explain why you would want to have a simultaneous open
or passive version of a relayed candidate? 

S 3.1.

      OPEN ISSUE: What happens with TLS and simultaneous opens?  Who
      sends the ClientHello?

The standard procedure here would be to have some sort of tie-breaking
algorithm. For instance, compare the numerical values of hashes of
the transport addresses.

S 3.4.
Why is 9 discard? 9 isn't a valid port?

S 7.1.
   If an ICE restart occurs for a media stream with TCP candidate pairs
   that have been selected by ICE, the agents MUST NOT close the
   connections after the restart.

I think you're trying to say that you shouldn't close the pairs immediately
upon the restart. You presumably close them after you've figured out
new pairs.

S 8.1.
   When sending media, if the selected candidate pair matches an
   existing TCP connection, that connection MUST be used for sending
   media.

   The framing defined in RFC 4571 MUST be used when sending media. 

Just for clarity, if TLS is in use you use this framing *over* TLS,
right?

EDITORIAL
S 2.
   When gathering candidates from a host interface, the agent typically
   obtains an active, passive and simultaneous-open candidates.

This is ungrammatical. Obtains one each, maybe?

      subsequent SYNACK, which will cause the connection attempt to
SYN/ACK

S 3.1.
      Having it be configurable, and then configuring it to be off, is
      far better than not having the capability at all.  An important

This is an explanatory note, right? It should say "Note" or something.

   Each agent SHOULD "obtain" an active host candidate for each

These scare quotes scare me.

   Using each simultaneous-open and passive host TCP candidate as a
   base, the agent SHOULD obtain server reflexive candidate.  In
   addition, the agent SHOULD choose, amongst all host TCP candidates
   for a component that have the same foundation (there will typically
   be two - a passive and simultaneous-open), one of those candidates,
   and from it, obtain two server reflexive candidates - one that will
   be simultaneous-open, and one that will be passive.  If an agent
   requires both a server reflexive and relayed candidate using a
   particular host candidate as a based, it SHOULD obtain both at the
   same time using a STUN Allocate request.  Otherwise, if just a server
   reflexive candidate is required, the agent SHOULD use a STUN Binding
   Request.

Can you break this out into a bulleted list or something?

S 6.
   If there are TCP candidates for a media stream, a controlling agent
   MUST use a regular selection algorithm.

What's a regular selection algorithm.

-Ekr

_______________________________________________
mmusic mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mmusic