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.iceTransport;

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

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
onstatechangeChrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No


No support  
No support

See also