Test serwera STUN / TURN

Sprawdź w przeglądarce, czy Twoje serwery ICE działają i jakich kandydatów zwracają.

Adres URL serwera

Wynik

    Kandydaci ICE

    TypAdresProtokółCzas

    Do czego służą serwery STUN i TURN

    WebRTC obsługuje rozmowy wideo, udostępnianie ekranu i przesyłanie plików bezpośrednio między przeglądarkami. Zanim dwa urządzenia połączą się bezpośrednio, każde musi wiedzieć, pod jakim adresem jest osiągalne drugie. Większość urządzeń znajduje się jednak za domowym routerem lub firmową zaporą i używa adresów prywatnych tłumaczonych przez NAT. Serwery STUN i TURN rozwiązują ten problem:

    • STUN informuje urządzenie, jak jest widoczne z internetu: jaki ma publiczny adres IP i port. Dzięki tej informacji dwa urządzenia często mogą połączyć się bezpośrednio.
    • TURN działa jako przekaźnik, gdy bezpośrednie połączenie jest niemożliwe, np. za symetrycznym NAT, restrykcyjną zaporą lub w sieciach dopuszczających tylko TCP.

    Uruchamianie testu

    1. Wpisz adres URL serwera z prefiksem stun:, turn: lub turns: (na przykład stun:server.example.com:3478 lub turn:server.example.com:3478?transport=tcp).
    2. W przypadku serwerów TURN podaj nazwę użytkownika i poświadczenie. Jeśli używasz poświadczeń ograniczonych czasowo, upewnij się, że nie wygasły.
    3. W razie potrzeby dodaj kolejne serwery i uruchom test. Przeglądarka zbiera kandydatów ICE i wyświetla każdego z jego typem, adresem, protokołem oraz czasem, po jakim się pojawił.

    Jeśli nie masz własnego serwera, użyj opcji testowania naszych serwerów, aby zobaczyć, jak wygląda poprawny wynik.

    Typy kandydatów

    Każdy wiersz wyniku to kandydat ICE. Jego znaczenie zależy od typu:

    • host: własny adres lokalny urządzenia. Nowoczesne przeglądarki dla ochrony prywatności ukrywają go za losową nazwą .local.
    • srflx: adres publiczny zwrócony przez serwer STUN. Jeśli go widzisz, STUN działa.
    • relay: adres przekaźnika przydzielony przez serwer TURN. Jeśli go widzisz, TURN i uwierzytelnianie działają.
    • prflx: adres wykryty podczas sprawdzania łączności; w teście jednostronnym pojawia się rzadko.

    Kolumna czasu pokazuje, po ilu milisekundach od startu pojawił się każdy kandydat. Daje to pojęcie o odległości i obciążeniu serwera; czasy rzędu kilkuset milisekund mogą zauważalnie opóźnić nawiązanie rozmowy.

    Częste problemy

    • Brak kandydata relay: błędna nazwa użytkownika lub hasło, niezgodny static-auth-secret na serwerze albo port TURN zablokowany przez zaporę.
    • Działa tylko przez UDP: dla użytkowników w sieciach z ograniczeniami dodaj ?transport=tcp lub turns: (TLS) na porcie 443.
    • turns: nie działa, ale turn: tak: certyfikat TLS może być nieprawidłowy, wygasły lub niezgodny z nazwą hosta.
    • Nieoczekiwany adres srflx: przy CGNAT lub VPN adres publiczny należy do Twojego dostawcy internetu lub VPN.

    Test działa w całości w przeglądarce; wprowadzone dane uwierzytelniające są używane wyłącznie przez Twoją przeglądarkę do połączenia ze wskazanym serwerem. Aby zobaczyć swój publiczny adres IP i stan wycieku WebRTC, odwiedź stronę Jakie mam IP. Aby zmierzyć rzeczywistą utratę pakietów w kanale danych WebRTC, wypróbuj test utraty pakietów, a przed dopracowywaniem jakości rozmów we własnej aplikacji sprawdź bazowe opóźnienie testem pingu.

    Narzędzia