Subject: [MMUSIC] Dummy ports

From: Eric Rescorla <[email-masked]>
Date: Wed, 2 Jul 2014 16:22:36 -0700

Folks,

https://github.com/rtcweb-wg/jsep/issues/41

We ran into a place where bundle and trickle conflict.

Trickle requires that you use port 9 for the c-line if you are doing full
trickle:
http://tools.ietf.org/html/draft-ietf-mmusic-trickle-ice-01#section-5.1

However, JSEP explicitly requires that we use distinct ports for
each m= line:
http://tools.ietf.org/html/draft-ietf-rtcweb-jsep-06#section-5.2.1

Obviously 9 is equal to itself, so this isn't going to work.

The JSEP editors got together and came to the conclusion that
we probably needed to use sequential numbers < 1024. Does
anyone object to this? If not, perhaps Emil can edit this into Trickle.

Also, JSEP uses the term "null" for these ports. We propose that
instead we use the term "dummy".

-Ekr

---

From: Martin Thomson <[email-masked]>
Date: Wed, 2 Jul 2014 16:36:50 -0700

> Obviously 9 is equal to itself, so this isn't going to work.

I'm not sure that this is actually a problem, unless I've missed something.

The reason for having different ports is to make it clear that the m=
section will have distinct transport endpoints and can be unbungled if
the answerer wants that.  But the presence (or absence) of
a=bungle-only is sufficient to distinguish those m= sections.

> instead we use the term "dummy".

WFM.

---

From: Harald Alvestrand <[email-masked]>
Date: Fri, 04 Jul 2014 10:11:53 +0200

> a=bungle-only is sufficient to distinguish those m= sections.

Requiring multiple port 9s is silly. BUNDLE should not require this.

If I remember rightly, port 9 started out with TCP candidates where the 
transport can only be established as an outgoing call.

BUNDLE should say "MUST be unique, unless they're the discard port (port 
9)".

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

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Fri, 4 Jul 2014 10:26:20 +0200

> http://tools.ietf.org/html/draft-ietf-mmusic-trickle-ice-01#section-5.1

Isn't there any other way to indicate it instead of setting port to 9?
¿any attribute?

Section 5.1 [*] in draft-ietf-mmusic-trickle-ice-01 is really exasperating.

[*] http://tools.ietf.org/html/draft-ietf-mmusic-trickle-ice-01#section-5.1

-- 
Iñaki Baz Castillo
<[email-masked]>

---

From: Paul Kyzivat <[email-masked]>
Date: Fri, 04 Jul 2014 16:52:12 -0400

>> a=bungle-only is sufficient to distinguish those m= sections.

It isn't sufficient in the first offer, before you know if the other 
side supports it. If not, then you don't want the media to happen at 
all. The port=9 will ensure that, just as port=0 would.

But the answerer that doesn't understand bundle-only may also be 
disturbed by finding multiple port 9's. (If it gave any thought to the 
matter it wouldn't, but by the letter of the law it is incorrect.

> BUNDLE should say "MUST be unique, unless they're the discard port (port

Certainly you should be able to use unique-ports. But then you might as 
well not bother with bundle-only, since you need to allocate the ports.

	Thanks,
	Paul

---

From: Emil Ivov <[email-masked]>
Date: Mon, 07 Jul 2014 13:16:51 +0200

Hey Eric, all,

 From what I've seen here, it sounds as if using port 9 on multiple m= 
lines still sounds like a reasonable thing to do.

Does that mean that jsep would be adjusted to relax that requirement and 
only apply it in cases where it is still unclear what the remote side 
supports?

Emil

-- 
https://jitsi.org

---

From: Justin Uberti <[email-masked]>
Date: Fri, 11 Jul 2014 09:33:00 -0700

If I recall correctly, the reason this was an issue was that it was thought
that some equipment would key off the port number, and freak out when
multiple m= lines had the same port number (i.e., 9).

This really has nothing to do with BUNDLE, it can occur in any usage of
trickle ICE, where the initial offer has all 'dummy' ports. However, it
only occurs when doing trickle, so legacy non-trickle gear should not be
affected.

Anyway, the choices here are simple:
a) We require unique 'dummy' ports in the initial trickle offer.
b) We allow use of the same dummy port (9) in the initial trickle offer.
(This is what Chrome does, although it currently uses port 1).

We had been leaning towards (a) based on the legacy equipment case
mentioned above. However, if nobody can provide details on this case, I
agree we should end up with (b).

---

From: Martin Thomson <[email-masked]>
Date: Fri, 11 Jul 2014 10:51:26 -0700

On 11 July 2014 09:33, Justin Uberti <[email-masked]> wrote:
> We had been leaning towards (a) based on the legacy equipment case mentioned
> above. However, if nobody can provide details on this case, I agree we
> should end up with (b).

As a general rule, if accommodating legacy equipment is particularly
hard for us here, then we should leave the fixups needed for that
legacy equipment to application code.  This seems like a good
candidate for that.  It's not like non-9 ports will work with all
legacy equipment anyway.

---

From: Emil Ivov <[email-masked]>
Date: Fri, 11 Jul 2014 20:17:41 +0200

> candidate for that.  It's not like non-9 ports will work with all

Also note that, in the case of trickle, port 9s would only occur if the 
offerer expects (knows) it would be supported. In other cases it would 
just do half trickle and the problem wouldn't exist.

Emil

-- 
https://jitsi.org

---

From: Martin Thomson <[email-masked]>
Date: Fri, 11 Jul 2014 11:34:08 -0700

On 11 July 2014 11:17, Emil Ivov <[email-masked]> wrote:
>>> mentioned
> offerer expects (knows) it would be supported. In other cases it would just
> do half trickle and the problem wouldn't exist.

Yeah, that's even more reason to do the right thing (as opposed to the
safe thing).

---

From: Justin Uberti <[email-masked]>
Date: Wed, 23 Jul 2014 15:49:44 -0400

The JSEP authors discussed a bit more and agreed that using port 9s on all
m= lines when doing full trickle is the right solution to this problem.

On Fri, Jul 11, 2014 at 2:34 PM, Martin Thomson <[email-masked]>
wrote:

> just

---

From: Emil Ivov <[email-masked]>
Date: Wed, 23 Jul 2014 18:42:44 -0400

On 23.07.14, 15:49, Justin Uberti wrote:
> The JSEP authors discussed a bit more and agreed that using port 9s on
> all m= lines when doing full trickle is the right solution to this problem.

Great news! Then we are pretty much ready for WGLC.

Emil

>
> On Fri, Jul 11, 2014 at 2:34 PM, Martin Thomson
> <[email-masked] <mailto:[email-masked]>> wrote:
>
>     On 11 July 2014 11:17, Emil Ivov <[email-masked]
>     <mailto:[email-masked]>> wrote:
>      >
>      >
>      >> On 11 July 2014 09:33, Justin Uberti <[email-masked]
>     <mailto:[email-masked]>> wrote:
>      >>>

-- 
https://jitsi.org