Subject: [rtcweb] JSEP: Candidiates in SDP

From: Christer Holmberg <[email-masked]>
Date: Tue, 24 Nov 2015 12:31:42 +0000

Hi,

A question for clarification:

Is addIceCandidiate the MUST-USE mechanism for providing candidiates using JSEP? I.e. one can not rely on providing candidates in SDP?

Regards,

Christer

---

From: Eric Rescorla <[email-masked]>
Date: Tue, 24 Nov 2015 05:37:41 -0800

On Tue, Nov 24, 2015 at 4:31 AM, Christer Holmberg <
[email-masked]> wrote:

> Is addIceCandidiate the MUST-USE mechanism for providing candidiates using
> JSEP? I.e. one can not rely on providing candidates in SDP?
>
>
>
I don't understand the question. Under some conditions, the SDP will have
the candidates,
specifically, if you wait until gathering is finished and then get the
offer/answer. However,
absent explicit agreement between the sides (or them being the same app)
then you
don't know that that's true.

-Ekr

Regards,
>
>
>
> Christer
>
>
>
>
>
> _______________________________________________
> rtcweb mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/rtcweb
>
>

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 24 Nov 2015 14:52:02 +0000

Hi,

I am thinking e.g. about the case where the JS app receives a subsequent offer from the remote party, and the updated offer contains new candidates that weren’t provided in the previous offer.

Regards,

Christer

From: Eric Rescorla [mailto:[email-masked]]
Sent: 24. marraskuuta 2015 15:38
To: Christer Holmberg
Cc: [email-masked]
Subject: Re: [rtcweb] JSEP: Candidiates in SDP

On Tue, Nov 24, 2015 at 4:31 AM, Christer Holmberg <[email-masked]<mailto:[email-masked]>> wrote:
Hi,

I don't understand the question. Under some conditions, the SDP will have the candidates,
specifically, if you wait until gathering is finished and then get the offer/answer. However,
absent explicit agreement between the sides (or them being the same app) then you
don't know that that's true.

-Ekr

Regards,

Christer

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

---

From: Eric Rescorla <[email-masked]>
Date: Tue, 24 Nov 2015 07:58:05 -0800

On Tue, Nov 24, 2015 at 6:52 AM, Christer Holmberg <
[email-masked]> wrote:

> Hi,
>
>
>
> I am thinking e.g. about the case where the JS app receives a subsequent
> offer from the remote party, and the updated offer contains new candidates
> that weren’t provided in the previous offer.
>
>
>
Sorry, I don't follow.

-Ekr

> Regards,
>
>
>
> Christer
>
>
>
> *From:* Eric Rescorla [mailto:[email-masked]]
> *Sent:* 24. marraskuuta 2015 15:38
> *To:* Christer Holmberg
> *Cc:* [email-masked]
> *Subject:* Re: [rtcweb] JSEP: Candidiates in SDP
>
>
>
>
>
>
>

---

From: Emil Ivov <[email-masked]>
Date: Tue, 24 Nov 2015 10:05:10 -0600

Sounds like an ICE restart.

If it isn't then this is not currently allowed by any spec.

Emil

On Tuesday, 24 November 2015, Christer Holmberg <
[email-masked]> wrote:

> *From:* Eric Rescorla [mailto:[email-masked]
> <javascript:_e(%7B%7D,'cvml',[email-masked]');>]
> *Cc:* [email-masked] <javascript:_e(%7B%7D,'cvml',[email-masked]');>
> [email-masked]
> <javascript:_e(%7B%7D,'cvml',[email-masked]');>> wrote:
>
> Hi,
>
>
>
> [email-masked] <javascript:_e(%7B%7D,'cvml',[email-masked]');>

-- 
sent from my mobile

---

From: Jonathan Lennox <[email-masked]>
Date: Tue, 24 Nov 2015 16:19:39 +0000

Not so. See RFC 5245 sections 9.2.1.2, 9.2.2.1, and 9.3.1.4 — if ICE is still in the Running state, an endpoint is allowed to send an updated offer (or answer) with additional candidates.  It’s sort of a “poor man’s trickle”.

On Nov 24, 2015, at 11:05 AM, Emil Ivov <[email-masked]<mailto:[email-masked]>> wrote:

Emil

On Tuesday, 24 November 2015, Christer Holmberg <[email-masked]<mailto:[email-masked]>> wrote:
Hi,

Regards,

Christer

From: Eric Rescorla [mailto:[email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>]
Sent: 24. marraskuuta 2015 15:38
To: Christer Holmberg
Cc: [email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>
Subject: Re: [rtcweb] JSEP: Candidiates in SDP

On Tue, Nov 24, 2015 at 4:31 AM, Christer Holmberg <[email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>> wrote:
Hi,

-Ekr

Regards,

Christer

_______________________________________________
rtcweb mailing list
[email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>
https://www.ietf.org/mailman/listinfo/rtcweb

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 24 Nov 2015 16:24:02 +0000

Correct. I was maybe unclear, but I was not talking about replacing previous candidates, but adding new ones, using an updated offer, while it is still “allowed”.

Regards,

Christer

From: Jonathan Lennox [mailto:[email-masked]]
Sent: 24 November 2015 18:20
To: Emil Ivov <[email-masked]>
Cc: Christer Holmberg <[email-masked]>; [email-masked]
Subject: Re: [rtcweb] JSEP: Candidiates in SDP

Emil

Regards,

Christer

-Ekr

Regards,

Christer

---

From: Emil Ivov <[email-masked]>
Date: Tue, 24 Nov 2015 10:24:51 -0600

Now that we have trickle we should probably outlaw this. I don't think it
was ever widely supported anyway.

On Tuesday, 24 November 2015, Christer Holmberg <
[email-masked]> wrote:

> Correct. I was maybe unclear, but I was not talking about replacing
> previous candidates, but adding new ones, using an updated offer, while it
> is still “allowed”.
>
>
>
> Regards,
>
>
>
> Christer
>
>
>
> *From:* Jonathan Lennox [mailto:[email-masked]
> <javascript:_e(%7B%7D,'cvml',[email-masked]');>]
> *Sent:* 24 November 2015 18:20
> *To:* Emil Ivov <[email-masked]
> <javascript:_e(%7B%7D,'cvml',[email-masked]');>>
> *Cc:* Christer Holmberg <[email-masked]
> <javascript:_e(%7B%7D,'cvml',[email-masked]');>>;
> Not so. See RFC 5245 sections 9.2.1.2, 9.2.2.1, and 9.3.1.4 — if ICE is
> still in the Running state, an endpoint is allowed to send an updated offer
> (or answer) with additional candidates.  It’s sort of a “poor man’s
> trickle”.
>
>
>
>
>
> On Nov 24, 2015, at 11:05 AM, Emil Ivov <[email-masked]
> <javascript:_e(%7B%7D,'cvml',[email-masked]');>> wrote:
>
>
>

-- 
sent from my mobile

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 24 Nov 2015 19:11:48 +0000

Hi,

How candidates are signalled/trickled on the wire is irrelevant – JSEP needs to be clear on when/if candidates can be provided within an offer/answer, and when they can/need to be provided using addCandidate().

Regards,

Christer

From: Emil Ivov [mailto:[email-masked]]
Sent: 24 November 2015 18:25
To: Christer Holmberg <[email-masked]>
Cc: Jonathan Lennox <[email-masked]>; [email-masked]
Subject: Re: [rtcweb] JSEP: Candidiates in SDP

Now that we have trickle we should probably outlaw this. I don't think it was ever widely supported anyway.

Regards,

Christer

From: Jonathan Lennox [mailto:[email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>]
Sent: 24 November 2015 18:20
To: Emil Ivov <[email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>>
Cc: Christer Holmberg <[email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>>; [email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>
Subject: Re: [rtcweb] JSEP: Candidiates in SDP

On Nov 24, 2015, at 11:05 AM, Emil Ivov <[email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>> wrote:

Emil

On Tuesday, 24 November 2015, Christer Holmberg <[email-masked]<javascript:_e(%7B%7D,'cvml',[email-masked]');>> wrote:
Hi,

Regards,

Christer

From: Eric Rescorla [mailto:[email-masked]]
Sent: 24. marraskuuta 2015 15:38
To: Christer Holmberg
Cc: [email-masked]<mailto:[email-masked]>
Subject: Re: [rtcweb] JSEP: Candidiates in SDP

-Ekr

Regards,

Christer

--
sent from my mobile

---

From: Peter Thatcher <[email-masked]>
Date: Tue, 24 Nov 2015 11:33:27 -0800

I think Christer's real question is "how does JS pass candidates down
remote candidate to the browser?".  And I think the answer is that it can
come down via either addIceCandidate or via setRemoteDescription (the SDP,
either offer or answer).

Another way of phrasing the question is:  "If the PeerConnection sees
candidates in the remote description that weren't passed down via
addIceCandidate, should it use them or throw them away?".  And I think the
answer is "it should use them".

Such is not explicitly specified in JSEP, but section 4.1.11 for
addIceCandidate says the candidate "will be added to the remote description
according to the rules defined for Trickle ICE".  Which makes one think
that if addIceCandidate is equivalent to adding a candidate to the remote
description, then adding a candidate to the remote description be
equivalent to addIceCandidate.  But it doesn't say so explicitly.

Chrome implements this way (accepts candidates in the SDP that aren't from
addIceCandidate).

The ORTC shim (https://github.com/webrtc/adapter/pull/136/files) doesn't, I
don't think, but that's probably just a bug/oversight.

I don't know what Firefox does.

On Tue, Nov 24, 2015 at 11:11 AM, Christer Holmberg <
[email-masked]> wrote:

> Hi,
>
>
>
> How candidates are signalled/trickled on the wire is irrelevant – JSEP
> needs to be clear on when/if candidates can be provided within an
> offer/answer, and when they can/need to be provided using addCandidate().
>
>
>
> Regards,
>
>
>
> Christer
>
>
>
> *From:* Emil Ivov [mailto:[email-masked]]
> *Sent:* 24 November 2015 18:25
> *To:* Christer Holmberg <[email-masked]>
> *Cc:* Jonathan Lennox <[email-masked]>; [email-masked]
>
> *From:* Jonathan Lennox [mailto:[email-masked]]
> *To:* Emil Ivov <[email-masked]>
> *Cc:* Christer Holmberg <[email-masked]>; [email-masked]
> On Nov 24, 2015, at 11:05 AM, Emil Ivov <[email-masked]> wrote:
>
>
>
> *From:* Eric Rescorla [mailto:[email-masked] <[email-masked]>]

---

From: Martin Thomson <[email-masked]>
Date: Tue, 24 Nov 2015 11:39:03 -0800

> I don't know what Firefox does.

If you provide a set of remote candidates, we use them, whether they
arrive via addIceCandidate or setRemoteDescription.

---

From: Eric Rescorla <[email-masked]>
Date: Tue, 24 Nov 2015 11:38:43 -0800

> answer is "it should use them".

This is absolutely the case. Otherwise you are going to have a horrendous
interop problem with non-trickle endpoints. I think this probably falls
within
the TODO in S 5.6.2:
https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-12#section-5.6.2

> Chrome implements this way (accepts candidates in the SDP that aren't from

As does Firefox.

-Ekr

>> Is addIceCandidiate the MUST-USE mechanism for providing candidiates
>> using JSEP? I.e. one can not rely on providing candidates in SDP?
>>
>>
>>
>>
>>

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Tue, 24 Nov 2015 23:44:20 +0100

> (or answer) with additional candidates.  It’s sort of a “poor man’s

This is the reason why rfc5245-bis removes the SDP from the ICE specification.

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

---

From: Cullen Jennings <[email-masked]>
Date: Mon, 30 Nov 2015 22:30:30 -0700

JSEP does not change that part of SDP. (which amounts to the same thing that  Ekr, Martn, Peter etc said )

> On Nov 24, 2015, at 9:24 AM, Christer Holmberg <[email-masked]> wrote:
> 
> On Tuesday, 24 November 2015, Christer Holmberg <[email-masked]> wrote:
> Hi,
>  
> On Tue, Nov 24, 2015 at 4:31 AM, Christer Holmberg <[email-masked]> wrote:
> Hi,
>