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") {


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

Browser compatibility

BCD tables only load in the browser

See also