ICE Trickling

Is the process when candidate is shared as soon as gathered by WebRTC.

However, to do this, we might need a middleware that handle transfering the candidate to eachother.

To disable ICE Trickling we can either do these format:

peer.oniceconnectionstatechange = function(event) {
    if (peer.iceGatheringState === 'complete') {
        send_sdp_to_remote_peer();
    }
};

peer.onicecandidate = function(event) {
    if (event.candidate === null) {
        return send_sdp_to_remote_peer();
    }
};

When we call send_sdp_to_remote_peer(), the offer should contain all the gathered candidates and therefore we shouldn't need a signal server (can send by hand)

Muaz Khan Blog: Disable ICE Trickling (muaz-khan.blogspot.com)