ICE est le protocole de synchronisation utilisé par WebRTC (en VoIP). ( https://www.wikiwand.com/en/Interactive_Connectivity_Establishment ) Il est associé aux protocoles stun et turn.
L’objet RtcPeerConnection a besoin d’un objet RTCConfiguration qui se configure en spécifiant un (ou plusieurs) serveur stun/turn.
L’outil suivant permet de monter un serveur stun & turn :
https://github.com/coturn/coturn (une image coturn
est dispo sur AWS apparemment)
Le projet Freeice (https://github.com/DamonOehlman/freeice) permet de récupérer une liste de serveurs gratuits qui proposent la synchro webrtc. Le problème est au niveau de la privacy: les serveurs peuvent éventuellement utiliser le fait de savoir quel peer est connecté avec quel autre peer.
Google parle de tout cela dans sa Google I/O: https://www.youtube.com/watch?v=p2HzZkd2A40&feature=youtu.be&t=1313