RE: how is an ice restart done?

Here is what it says in Section 3.3 with respect to iceTransport.start():

If start() is called again with a new value of gatherer but the value of remoteParameters is unchanged, local candidates are flushed, candidate pairs are flushed, new candidate pairs are formed with existing remote candidates, and state transitions to checking. 
If start() is called again with new values of gatherer and remoteParameters, local candidates are flushed, remote candidates are flushed, candidate pairs are flushed and state transitions to new. 

[BA] According to Section 3.3 of the ORTC API spec (http://draft.ortc.org/)  defining the behavior of start(), if you construct a new iceGatherer and call start(), you should get the desired result without having to construct another RTCIceTransport and RTCDtlsTransport.   

I believe that ORTC Lib works this way. 

Unfortunately Edge throws an InvalidStateError exception if start() is called again. See Section 3.3:
http://internaut.com:8080/~baboba/ms/msortc.html

So for Edge you'd need to construct a new IceGatherer, IceTransport and DtlsTransport.
________________________________________
From: Philipp Hancke [fippo@goodadvice.pages.de]
Sent: Sunday, March 5, 2017 4:03 AM
To: public-ortc@w3.org
Subject: Re: how is an ice restart done?

> Now... how do I change the ICE transport a RTCPRtpSender is using?

Turns out I don't need to. Calling the existing ICE transports .start
again as described in https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdraft.ortc.org%2F%23dom-rtcicetransport-start&data=02%7C01%7CBernard.Aboba%40microsoft.com%7Ca7ccafd24bd2429835a508d463bfce72%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636243122864588400&sdata=YMLniC1reQNkF3A1s1ucANbyPwk78Ufe5n53L%2FExf70%3D&reserved=0
should do the job (famous last words)

Received on Sunday, 5 March 2017 19:12:32 UTC