OpenReplay Logo
12k
12k

Test ICE WebRTC

Pointez vers un serveur STUN ou TURN, collectez les candidats ICE et vérifiez qu'il fonctionne réellement — le test Trickle ICE, entièrement exécuté dans votre navigateur.

Serveurs STUN / TURN

S'exécute dans votre navigateur
Transport ICE

« Relay uniquement » force un test TURN exclusif, en ignorant les candidats STUN et host.

Optionnel. Sans autorisation média, Chrome ne collecte les candidats que sur une seule interface réseau ; l'accorder révèle toutes les interfaces. Rien n'est enregistré — le flux est arrêté immédiatement.

Candidats ICE

Aucun candidat pour l'instant. Ajoutez un serveur et sélectionnez « Collecter les candidats ».

À propos de cet outil

C'est le test Trickle ICE vers lequel se tournent les développeurs lorsqu'une connexion WebRTC ne s'établit pas. Saisissez l'URI d'un serveur STUN ou TURN (plus un nom d'utilisateur et un identifiant pour TURN) et l'outil démarre une RTCPeerConnection locale qui utilise uniquement ce serveur, collecte les candidats ICE et rapporte ce qu'il trouve. Un candidat server-reflexive (srflx) signifie que STUN fonctionne ; un candidat relay signifie que TURN fonctionne.

De mauvais identifiants TURN apparaissent sous la forme d'une erreur 401 dans l'événement onicecandidateerror — le diagnostic le plus utile qui soit — ce qui permet de distinguer un problème d'authentification d'un hôte injoignable. Réglez la politique de transport sur « Relay uniquement » pour forcer un test TURN exclusif, ou accordez l'autorisation optionnelle micro/caméra afin que le navigateur expose les candidats de chaque interface réseau au lieu d'une seule. Cliquez sur n'importe quelle adresse pour la copier.

Les URI de serveur et les identifiants TURN ne sont transmis qu'à la RTCPeerConnection locale de votre navigateur — rien n'est envoyé à OpenReplay. La seule action réseau inhérente est la requête de binding STUN/TURN vers le serveur que vous testez, ce qui constitue tout l'objet de l'outil. Notez qu'un test STUN, par conception, révèle votre IP publique à ce serveur STUN.

Questions fréquentes

Qu'est-ce qu'un serveur STUN ?

Un serveur STUN indique à un appareil sa propre adresse IP publique et son port tels que vus depuis Internet, afin que deux pairs derrière un NAT puissent trouver une route l'un vers l'autre. WebRTC l'utilise pour collecter des candidats « server-reflexive » (srflx). Il ne fait que découvrir des adresses — il ne relaie pas les médias.

Qu'est-ce qu'un serveur TURN ?

Un serveur TURN relaie les médias entre les pairs lorsqu'une connexion directe est impossible (NAT symétrique ou pare-feu restrictifs). Contrairement à STUN, le trafic le traverse, il a donc besoin d'identifiants. En WebRTC, un serveur TURN fonctionnel produit un candidat « relay ».

Quelle est la différence entre STUN et TURN ?

STUN se contente de découvrir votre adresse publique pour que les pairs puissent se connecter directement ; il est léger et gratuit. TURN relaie le trafic réel lorsqu'un chemin direct échoue, ce qui consomme de la bande passante et nécessite une authentification. La plupart des configurations WebRTC essaient d'abord STUN puis se rabattent sur TURN.

Comment tester si un serveur TURN fonctionne ?

Saisissez l'URI turn: ainsi que son nom d'utilisateur et son identifiant, réglez le transport sur « relay » et collectez les candidats. Si un candidat de type « relay » apparaît, le serveur TURN fonctionne. Si vous obtenez plutôt une erreur 401, les identifiants sont incorrects ; aucun candidat du tout signifie qu'il est injoignable.

Comment savoir si un serveur STUN fonctionne ?

Saisissez l'URI stun: et collectez les candidats. Si un candidat de type « srflx » (server-reflexive) apparaît avec votre IP publique, le serveur STUN est accessible et fonctionnel. Si seuls des candidats « host » apparaissent, le serveur STUN n'a pas répondu.

Qu'est-ce que Trickle ICE ?

Trickle ICE est la technique WebRTC consistant à envoyer les candidats ICE à l'autre pair au fur et à mesure de leur découverte, au lieu d'attendre la fin de la collecte. Cet outil exécute le même processus de collecte de candidats pour que vous puissiez voir chaque candidat apparaître et confirmer qu'un serveur répond.