Re: how is an ice restart done?

I think there's currently an issue with the part that says "candidate pairs
are flushed," though. For it to be a real ICE restart, media needs to be
able to continue flowing on the previously selected candidate pair while
ICE is working on finding a working candidate pair from the new generation.
Maybe it wasn't the intention, but "candidate pairs are flushed" sounds
like the state would be forgotten and media would stop flowing.

On Sun, Mar 5, 2017 at 11:11 AM, Bernard Aboba <>

> 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 (
> 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:
> So for Edge you'd need to construct a new IceGatherer, IceTransport and
> DtlsTransport.
> ________________________________________
> From: Philipp Hancke []
> Sent: Sunday, March 5, 2017 4:03 AM
> To:
> 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
> start&
> 7Ca7ccafd24bd2429835a508d463bfce72%7C72f988bf86f141af91ab2d7cd011
> db47%7C1%7C0%7C636243122864588400&sdata=YMLniC1reQNkF3A1s1ucANbyPwk78U
> fe5n53L%2FExf70%3D&reserved=0
> should do the job (famous last words)

Received on Monday, 6 March 2017 00:33:29 UTC