ICE (Interactive Connectivity Establishment) es el protocolo que se utiliza para conectar 2 pares; determina todas las rutas posibles entre los 2 pares y garantiza que estén conectados. Estas rutas también se conocen como pares candidatos (Candidate Pairs), que son una combinación de direcciones de transporte locales y remotas. Estas direcciones pueden ser la dirección IP local, la dirección IP pública o la dirección de transporte retransmitida. Cada par recopila todas las direcciones que desea utilizar, las intercambia y luego intenta conectarse.
Los siguientes eventos pueden invocarse al recopilar direcciones
OnRTCLocalCandidate
El evento se llama cuando se ha encontrado un nuevo candidato local.
OnRTCRemoteCandidate
El evento se llama cuando el servidor websocket envía un candidato remoto a este par.
OnRTCLocalDescription
El evento se llama cuando TsgcRTCPeerConnection requiere el SDP local
OnRTCRemoteDescription
El evento se activa cuando el servidor WebSocket envía el SDP remoto a este par.
Cuando el par envía solicitudes de enlace al otro par para comprobar si puede conectarse, se pueden activar los siguientes eventos
OnRTCCandidatePairNominated
Cuando ambos pares pueden conectarse usando este par de candidatos, se llama al evento.
OnRTCCandidatePairFailed
Cuando los pares no pueden conectarse usando este par de candidatos, se llama a este evento.
OnRTCConnect
Este evento se llama cuando existe un par de candidatos válido y DTLS no está habilitado.
Si DTLS está habilitado, este evento se invoca tras un handshake DTLS exitoso.