PHP-proxied Director calls, TURN transport filtering, ICE candidate gathering, and optional browser-to-browser loopback media tests for DTLS, RTP, VPN, UDP blackhole, and possible DPI symptoms.
Format: streamAccountId/streamName.
Relay classification uses candidate.url. The relay candidate port itself is usually an allocated ephemeral port, not 3478 or 443. Use All candidates to match the original page and show host/srflx candidates; Relay only intentionally suppresses host/srflx.
The loopback test creates two RTCPeerConnections in this browser, exchanges an offer/answer, sends generated video/audio, and checks if ICE, DTLS, and RTP counters actually move through the selected TURN path.
Iframe is a visual reference only; browser security prevents reading its internal WebRTC stats.
Interpretation
ICE-only success does not prove media will work. The strongest browser-side evidence of filtering is: relay selected, ICE connected, but DTLS fails or RTP counters stay at zero. That points to UDP blackhole, VPN filtering, DPI appliance behavior, or TURN/SRTP path filtering.