ICE (Interactive Connectivity Establishment) to protokół używany do łączenia dwóch węzłów; określa wszystkie możliwe trasy między nimi, a następnie zapewnia ich połączenie. Trasy te są znane również jako pary kandydatów, czyli powiązanie lokalnych i zdalnych adresów transportowych. Adresy te mogą być lokalnym adresem IP, publicznym adresem IP lub adresem transportowym przekazywanym. Każdy węzeł gromadzi wszystkie adresy, których chce użyć, wymienia je z drugim węzłem, a następnie próbuje nawiązać połączenie.
Następujące zdarzenia mogą być wywoływane podczas zbierania adresów.
OnRTCLocalCandidate
Zdarzenie jest wywoływane po znalezieniu nowego lokalnego kandydata.
OnRTCRemoteCandidate
Zdarzenie jest wywoływane, gdy serwer WebSocket wysyła do tego peera zdalny kandydat.
OnRTCLocalDescription
Zdarzenie jest wywoływane, gdy TsgcRTCPeerConnection wymaga lokalnego SDP
OnRTCRemoteDescription
Zdarzenie jest wywoływane, gdy serwer WebSocket wysyła zdalne SDP do tego peera.
Gdy węzeł wysyła żądania powiązania do drugiego węzła w celu sprawdzenia możliwości połączenia, mogą być wywoływane następujące zdarzenia.
OnRTCCandidatePairNominated
Zdarzenie jest wywoływane, gdy oba węzły mogą połączyć się za pomocą tej pary kandydatów.
OnRTCCandidatePairFailed
Gdy węzły nie mogą nawiązać połączenia przy użyciu tej pary kandydatów, wywoływane jest to zdarzenie.
OnRTCConnect
To zdarzenie jest wywoływane, gdy istnieje prawidłowa para kandydatów i DTLS nie jest włączone.
Jeśli DTLS jest włączone, zdarzenie to jest wywoływane po pomyślnym uzgodnieniu DTLS.