Apa fungsi server STUN dan TURN
WebRTC menjadi dasar panggilan video, berbagi layar, dan transfer file antar-browser. Sebelum dua perangkat dapat berkomunikasi langsung, masing-masing perlu mengetahui alamat tempat perangkat lain dapat dijangkau. Namun, sebagian besar perangkat berada di balik router rumah atau firewall kantor dengan alamat privat yang diterjemahkan oleh NAT. Server STUN dan TURN mengatasi hal ini:
- STUN memberi tahu perangkat bagaimana ia terlihat dari internet: alamat IP publik dan port-nya. Dengan informasi tersebut, dua peer sering kali dapat terhubung secara langsung.
- TURN bertindak sebagai relay ketika koneksi langsung tidak memungkinkan, misalnya di balik NAT simetris, firewall yang ketat, atau jaringan yang hanya mengizinkan TCP.
Menjalankan tes
- Masukkan URL server dengan awalan stun:, turn:, atau turns: (misalnya stun:server.example.com:3478 atau turn:server.example.com:3478?transport=tcp).
- Untuk server TURN, isi nama pengguna dan kredensial. Jika Anda memakai kredensial berbatas waktu, pastikan belum kedaluwarsa.
- Tambahkan server lain jika perlu, lalu jalankan tes. Browser Anda mengumpulkan kandidat ICE dan menampilkan masing-masing beserta tipe, alamat, protokol, dan waktu yang dibutuhkan hingga kandidat tersebut diterima.
Jika Anda tidak memiliki server sendiri, gunakan opsi untuk menguji server kami agar dapat melihat seperti apa hasil yang berfungsi dengan baik.
Membaca tipe kandidat
Setiap baris dalam hasil adalah satu kandidat ICE. Artinya bergantung pada tipenya:
- host: alamat lokal milik perangkat itu sendiri. Browser modern menyembunyikannya di balik nama .local acak demi privasi.
- srflx: alamat publik yang dilaporkan oleh server STUN. Jika Anda melihatnya, STUN berfungsi.
- relay: alamat relay yang dialokasikan oleh server TURN. Jika Anda melihatnya, TURN dan autentikasi berfungsi.
- prflx: alamat yang ditemukan selama pemeriksaan konektivitas; jarang terlihat pada tes satu sisi.
Kolom waktu menunjukkan berapa milidetik setelah tes dimulai setiap kandidat diterima. Ini memberi gambaran tentang jarak dan beban server; waktu hingga ratusan milidetik dapat memperlambat penyiapan panggilan secara nyata.
Masalah yang umum terjadi
- Tidak ada kandidat relay: nama pengguna atau kata sandi salah, static-auth-secret di server tidak cocok, atau port TURN diblokir oleh firewall.
- Hanya berfungsi lewat UDP: untuk pengguna di jaringan yang dibatasi, tambahkan ?transport=tcp atau turns: (TLS) pada port 443.
- turns: gagal tetapi turn: berfungsi: sertifikat TLS mungkin tidak valid, kedaluwarsa, atau tidak cocok dengan nama host.
- Alamat srflx tidak terduga: dengan CGNAT atau VPN, alamat publiknya milik ISP atau penyedia VPN Anda.
Tes ini sepenuhnya berjalan di browser Anda; kredensial yang Anda masukkan hanya digunakan oleh browser untuk terhubung ke server yang Anda tentukan. Untuk melihat IP publik dan status kebocoran WebRTC Anda, kunjungi Berapa IP Saya. Untuk mengukur packet loss nyata melalui kanal data WebRTC, coba tes packet loss, dan periksa latensi dasar dengan ping test sebelum menyetel kualitas panggilan di aplikasi Anda sendiri.