Re: Issue 166: Section 3.3.2: ICE re-start

Sounds good to me.

-Robin

On January 26, 2015 at 4:05:40 PM, Bernard Aboba (bernard.aboba@microsoft.com) wrote:

Peter Thatcher said: 

"I thought the local ufrag/pwd was tied to the RTCIceGatherer. Wouldn't that mean that if I call IceTranpsort.start(iceGatherer1) and then IceTranpsport.start(iceGatherer2), 
it would use the ICE ufrag/pwd of iceGatherer2? " 

[BA] Yes, that's right. 

Peter Thatcher also said: 

"The text you just sent says "remain unchanged", implying it would use the ICE ufrag/pwd of iceGatherer1." 

[BA] What the text was *trying* to say was that if instead of constructing a new iceGatherer2, IceTransport.start(iceGatherer1) were called again, then iceGatherer1 would still have the same ufrag/pwd (e.g. IceTransport.start() doesn't change the ufrag/password of the IceGatherer object passed to it). 

So perhaps the text should say "Since iceTransport.start() does not change the ufrag/password of the RTCIceGatherer object passed as an argument, if IceTransport.start() is called again using the same IceGatherer object (e.g. one with iceGatherer.state set to "completed"), the existing (unpruned) local candidates are reused and the ICE ufrag/password remains unchanged." 

Does that get the point across better? 

================== 
> Here is the proposed text for Section 3.3.2: 
> 
> start 
> The first time start() is called, candidate connectivity checks are 
> started and the ICE transport attempts to connect to the remote 
> RTCIceTransport. If start() is called with invalid parameters, throw an 
> InvalidParameters exception. When start() is called again, 
> RTCIceTransportState transitions to the "connected" state, all remote 
> candidates are flushed, and addRemoteCandidates or setRemoteCandidates must 
> be called to add the remote candidates back or replace them. 
> 
> If a newly constructed RTCIceGatherer object is passed as an argument when 
> start() is called again, an ICE restart as defined in [RFC5245] Section 
> 9.2.1.1 occurs. If an RTCIceGatherer with RTCIceGathererState of 
> "completed" is passed as an argument to start(), the existing (unpruned) 
> local candidates are reused and the ICE ufrag/password remains unchanged. 
> However, other aspects of the behavior in this case are not currently 
> defined. 

Received on Monday, 26 January 2015 22:52:53 UTC