The iceRestart
property of the RTCOfferOptions
dictionary is a Boolean value which, when true, tells the RTCPeerConnection
to start ICE renegotiation.
This renegotiation is triggered by generating and using new values for the ICE username fragment ("ufrag")}}
var options = { iceRestart: trueOrFalse };
A Boolean value indicating whether or not the RTCPeerConnection
should generate new values for the connection's ice-ufrag and ice-pwd values, which will trigger ICE renegotiation on the next message sent to the remote peer.
When the RTCPeerConnection
object's ICE connection state changes to "failed"
, you should try to trigger an ICE restart.
This example shows a handler for the iceconnectionstatechange
event. It watches for the ICE connection state to transition to "failed"
, which indicates that an ICE restart should be tried in order to attempt to bring the connection back up.
pc.oniceconnectionstatechange = function(evt) { if (pc.iceConnectionState == "failed") { pc.createOffer({ iceRestart: true }) .then(offer => return pc.setLocalDescription(offer)) .then(() => sendOfferToServer()); } }
If the state changes to "failed"
, a new offer is created with iceRestart
set to true
, then that offer is set as the new local description for the connection. After that, the offer is sent to the server by calling a custom function sendOfferToServer()
.
Specification | Status | Comment |
---|---|---|
WebRTC 1.0: Real-time Communication Between Browsers The definition of 'RTCOfferOptions.iceRestart' in that specification. | Candidate Recommendation | Initial definition. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 50 | ? | No | No | ? | ? |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 50 | 50 | ? | No | ? | ? | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCOfferOptions/iceRestart