ICE (Interactive Connectivity Establishment), 2 eşi bağlamak için kullanılan protokoldür, 2 eş arasındaki tüm olası rotaları belirler ve ardından bağlı olduklarından emin olur. Bu rotalar, yerel ve uzak taşıma adresinin bir eşleşmesi olan Aday Çiftleri (Candidate Pairs) olarak da bilinir. Bu adresler yerel IP Adresi, genel IP Adresi veya İletilen Taşıma Adresi olabilir. Her eş kullanmak istediği tüm adresleri toplar, bunları değiş tokuş eder ve ardından bağlanmaya çalışır.
Adresler toplanırken aşağıdaki olaylar çağrılabilir
OnRTCLocalCandidate
Olay, yeni bir yerel aday bulunduğunda çağrılır.
OnRTCRemoteCandidate
Olay, websocket sunucusu bu eşe uzak bir aday (candidate) gönderdiğinde çağrılır.
OnRTCLocalDescription
Olay, TsgcRTCPeerConnection yerel SDP'yi gerektirdiğinde çağrılır
OnRTCRemoteDescription
Bu olay, websocket sunucusu uzak SDP'yi bu eşe gönderdiğinde çağrılır.
Eş, bağlanıp bağlanamayacağını test etmek için diğer eşe bağlama istekleri (binding requests) gönderdiğinde, aşağıdaki olaylar çağrılabilir
OnRTCCandidatePairNominated
Her iki eş de bu aday çiftini kullanarak bağlanabildiğinde, olay çağrılır.
OnRTCCandidatePairFailed
Eşler bu aday çifti kullanarak bağlanamadığında, bu olay çağrılır.
OnRTCConnect
Bu olay, geçerli bir aday çifti olduğunda ve DTLS etkin olmadığında çağrılır.
DTLS etkinse, bu olay başarılı bir DTLS Handshake'inden sonra çağrılır.