ICE (Interactive Connectivity Establishment) ist das Protokoll, das zur Verbindung von 2 Peers verwendet wird; es ermittelt alle möglichen Routen zwischen den 2 Peers und stellt dann sicher, dass sie verbunden sind. Diese Routen sind auch als Kandidatenpaare bekannt, die eine Paarung von lokaler und entfernter Transportadresse darstellen. Diese Adressen können die lokale IP-Adresse, die öffentliche IP-Adresse oder die weitergeleitete Transportadresse sein. Jeder Peer sammelt alle Adressen, die er verwenden möchte, tauscht sie aus und versucht dann, eine Verbindung herzustellen.
Die folgenden Ereignisse können beim Sammeln von Adressen aufgerufen werden
OnRTCLocalCandidate
Das Ereignis wird aufgerufen, wenn ein neuer lokaler Kandidat gefunden wurde.
OnRTCRemoteCandidate
Das Ereignis wird aufgerufen, wenn der WebSocket-Server einen Remote-Kandidaten an diesen Peer sendet.
OnRTCLocalDescription
Das Ereignis wird aufgerufen, wenn die TsgcRTCPeerConnection das lokale SDP benötigt
OnRTCRemoteDescription
Das Ereignis wird aufgerufen, wenn der WebSocket-Server das Remote-SDP an diesen Peer sendet.
Wenn der Peer Binding-Anforderungen an den anderen Peer sendet, um zu testen, ob eine Verbindung möglich ist, können die folgenden Ereignisse aufgerufen werden
OnRTCCandidatePairNominated
Wenn beide Peers über dieses Kandidatenpaar eine Verbindung herstellen können, wird das Ereignis aufgerufen.
OnRTCCandidatePairFailed
Wenn die Peers über dieses Kandidatenpaar keine Verbindung herstellen können, wird dieses Ereignis aufgerufen.
OnRTCConnect
Dieses Ereignis wird aufgerufen, wenn ein gültiges Kandidatenpaar vorliegt und DTLS nicht aktiviert ist.
Wenn DTLS aktiviert ist, wird dieses Ereignis nach einem erfolgreichen DTLS-Handshake aufgerufen.