The onstatechange event handler for the RTCIceTransport interface is a property which specifies a function to serve as the event handler 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") {


WebRTC 1.0: Real-Time Communication Between Browsers (WebRTC 1.0)
# dom-rtcicetransport-onstatechange

Browser compatibility

BCD tables only load in the browser

See also