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") { handleFailure(pc); } }
| Specification | 
|---|
| WebRTC 1.0: Real-Time Communication Between Browsers (WebRTC 1.0) # dom-rtcicetransport-onstatechange  | 
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
onstatechange | 
75  | 
79  | 
No  | 
No  | 
62  | 
No  | 
75  | 
75  | 
No  | 
54  | 
No  | 
11.0  | 
statechange event and its type, Event.RTCIceTransport: ongatheringstatechange and onselectedcandidatepairchange 
    © 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
    https://developer.mozilla.org/en-US/docs/Web/API/RTCIceTransport/onstatechange