Replicates every step a real Quarterzip call performs — Firebase auth, the call API, the Daily room, the WebRTC engine bundle, signalling, ICE negotiation and the actual join — and instruments each layer so a failure lands on one specific cause. Run this from the network that is failing.
Call connects but the agent never speaks? Try the mirror room — it puts a real bot in the room so the inbound audio path is tested too.
What this runs
01
Environment
Secure context, WebRTC availability, Opus support, and whether a corporate proxy is terminating TLS in the path.
02
Microphone & devices
Permission state and real capture, because Quarterzip joins mic-off — a denied microphone produces a connected call that simply never hears the user.
03
HTTPS reachability
Every host on the call path, cross-checked against a server-side control probe so a failure is provably the customer's network and not an outage.
04
WebSocket / signalling
Raw wss:// upgrades against Daily and a neutral control, each correlated with HTTPS to the same host so an application-level refusal is not mistaken for a firewall block.
05
UDP egress & NAT
STUN probed one server at a time to map the firewall's egress policy, then NAT behaviour classified from a single socket contacting several servers.
06
Daily built-in tests
Daily's own regional signalling, connectivity and throughput tests, run against their real infrastructure.
07
TURN relay transports
Each relay transport forced in isolation with the real credentials Daily issues, so we know exactly which of UDP/3478, TCP/443 and TLS/443 is permitted.
08
Full call replication
An actual join() with production's options, recording a millisecond event timeline and the ICE candidate pair media really selected.
Every run records a summary of its results — the verdict, which checks failed and why — to Quarterzip's own server logs, so support can look it up without having to ask you. If a check fails, the full report is also sent to Quarterzip support automatically so you don't have to. It contains your public IP address, approximate location, browser and audio device names — no audio is ever recorded. Tick redact IPs & tokens after the run to send a stripped version instead.