The ongatheringstatechange event handler for the RTCIceTransport interface specifies an event handler that is to be called when the gatheringstatechange event occurs on the transport. This event is delivered whenever the transport's gatheringState property changes.


RTCIceTransport.ongatheringstatechange = stateChangeHandler;


A function to be called when the RTCIceTransport object's gathering state changes. To determine the new state, examine the value of gatheringState.

The gathering state indicates whether or not the ICE agent has begun gathering candidates, and if so, whether or not gathering has finished. Its possible values are:

The RTCIceTransport is newly created and has not yet started to gather ICE candidates.
The transport is in the process of gathering candidates.
The transport has finished gathering ICE candidates and has sent the end-of-candidates indicator to the remote device. The transport won't gather any further candidates unless an ICE restart occurs, at which point the gathering process starts over from scratch.


This snippet establishes a handler for the gatheringstatechange event that checks to see if the state has changed to "complete", indicating that all ICE candidates from both the local and remote peers have been received and processed.

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

iceTransport.ongatheringstatechange = function(event) {
  if (iceTransport.gatheringState == "complete") {


Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCIceTransport.ongatheringstatechange' 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,