The onstatechange event handler for the RTCIceTransport interface is a property which specifies a function to serve as the EventHandler for the statechange event that is fired whenever the transport's state changes.


RTCIceTransport.onstatechange = stateChangeHandler;


Set this property to reference a function you provide that is called by the WebRTC layer when the RTCIceTransport object's state changes.

The event handler receives as its sole input an Event object describing the statechange event which occurred. To determine the new state, examine the value of state.


This snippet establishes a handler for the statechange event that looks to see if the transport has entered the "failed" state, which indicates that the connection has failed with no chance of being automatically restored.

var iceTransport = pc.getSenders()[0].transport.transport;

iceTransport.onstatechange = function(event) {
  if (iceTransport.state == "failed") {


Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCIceTransport.onstatechange' in that specification.
Candidate Recommendation Initial specification.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support No No No No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No No ? No No No No

See also

Document Tags and Contributors

Contributors to this page: Sheppy
Last updated by: Sheppy,