Measuring Network RTT for AI Voice Agents in WebRTC (2026)
By Sagar Shankaran, Founder of CallSphere
RTT measures only the network leg, but it bounds everything else. We show how to read RTCIceCandidatePairStats, why OpenAI's WebRTC Realtime endpoint hits 60-70ms RTT, and how to alarm on the right percentile.
Key takeaways
TL;DR — RTT is the network-only floor under your AI voice agent's total latency. WebRTC exposes it via RTCIceCandidatePairStats; 60-70ms is achievable to OpenAI's Realtime endpoint; >150ms is a routing or PoP problem, not a model problem.
The latency problem
Every other layer of your voice stack is bounded by network RTT. You can ship a 50ms TTS and a 200ms LLM, but if the user-to-server RTT is 250ms you cannot break a 500ms total budget. RTT only measures network time — capture, encode, decode, and playback are extra.
Where the ms come from
WebRTC RTT is measured per ICE candidate pair via the W3C RTCIceCandidatePairStats interface. The browser's getStats() API returns:
currentRoundTripTime(seconds, last RTCP report)totalRoundTripTime(cumulative for averaging)responsesReceived(denominator for the average)
For SIP-bridged voice, RTP control packets (RTCP SR/RR) carry the timestamps; the originator subtracts the receiver's reported delay (DLSR) to compute RTT.
flowchart LR
CALLER[Caller<br/>NYC] -->|10ms| PoP1[Edge PoP<br/>NYC]
PoP1 -->|25ms| INF[Inference<br/>us-east-1]
INF -->|25ms| PoP1
PoP1 -->|10ms| CALLER
CALLER -.RTT 70ms.- INF
CallSphere stack
Explore a live demo and compare current plans to find the right fit for your business.
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
Explore a live demo and compare current plans to find the right fit for your business.
Optimization steps
- Sample
getStats()every 5s on the client and ship the deltas to your analytics endpoint. - Alarm on P95 RTT > 100ms — not on the average. The average hides spikes.
- Co-locate your inference region with your telephony PoP. Cross-region hops add 50-200ms.
- For SIP, prefer carriers with MPLS backbones (Telnyx, Bandwidth) over public-internet routes.
- Distinguish RTT from total latency in dashboards — engineers will conflate them.
FAQ
Q: Is RTT the same as ping? Conceptually yes, but WebRTC RTT is measured at the application layer over RTCP and includes UDP/STUN overhead.
Q: Why does my browser show 300ms RTT to a server 50ms away? Likely TURN relay — a STUN-only path was blocked and traffic is being relayed through a third region. Check ICE candidate types.
Q: Does jitter matter more than RTT? For audio quality, yes. For perceived "lag", RTT dominates.
Q: How does CallSphere alarm on RTT? P95 > 100ms or jitter > 30ms triggers a per-call note in the admin analytics tile.
Q: Can I infer total latency from RTT? No. RTT is a floor; add VAD + ASR + LLM + TTS timings to get end-to-end.
Sources
- BlogGeek — RTT in WebRTC: How to Measure
- webrtcHacks — Measuring OpenAI Realtime API Latency
- MDN — RTCIceCandidatePairStats.totalRoundTripTime
- Cyara — Jitter vs RTT in WebRTC
Measuring Network RTT for AI Voice Agents in WebRTC (2026): production view
Measuring Network RTT for AI Voice Agents in WebRTC (2026) sits on top of a regional VPC and a cold-start problem you only see at 3am. If your voice stack lives in us-east-1 but your customer is calling from a Sydney mobile network, the round-trip time alone wrecks turn-taking. Multi-region routing, GPU residency, and warm pools become the difference between "natural" and "robotic" — and it's all infra, not the model.
Still reading? Stop comparing — try CallSphere live.
CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.
Shipping the agent to production
Production AI agents live or die on three loops: evals, retries, and handoff state. CallSphere runs 37 agents across 6 verticals, each with its own eval suite — synthetic call transcripts replayed nightly with assertion checks on extracted entities (date, time, party size, insurance, address). Without that loop, prompt regressions ship silently and you only find out when bookings drop.
Structured tools beat free-form text every time. Our 90+ function tools all enforce JSON schemas validated server-side; if the model hallucinates an integer where a string is required, we retry with a corrective system message before falling back to a deterministic path. For long-running flows, we treat agent handoffs as a state machine — booking → confirmation → SMS — so context survives turn boundaries.
The Realtime API vs. async decision usually comes down to "is the user holding the phone right now?" If yes, Realtime; if no (callback queue, after-hours voicemail), async wins on cost-per-conversation, which we track per agent in 115+ database tables spanning all 6 verticals.
FAQ
Why does measuring network rtt for ai voice agents in webrtc (2026) matter for revenue, not just engineering? The IT Helpdesk product is built on ChromaDB for RAG over runbooks, Supabase for auth and storage, and 40+ data models covering tickets, assets, MSP clients, and escalation chains. For a topic like "Measuring Network RTT for AI Voice Agents in WebRTC (2026)", that means you're not starting from scratch — you're configuring an agent template that's already been hardened across thousands of conversations.
What are the most common mistakes teams make on day one? Day one is integration mapping (scheduler, CRM, messaging) and prompt tuning against your top 20 real call transcripts. Day two through five is shadow-mode running, where the agent transcribes and recommends but a human still answers, so you can compare side-by-side. Go-live is the moment your eval pass-rate clears your internal bar.
How does CallSphere's stack handle this differently than a generic chatbot? The honest answer: it scales until your tool catalog gets stale. The agent is only as good as the integrations it can actually call, so the operational discipline is keeping schemas, webhooks, and fallback paths green. The platform handles the rest — observability, retries, multi-region routing — without your team owning the GPU layer.
Talk to us
Explore a live demo and compare current plans to find the right fit for your business.

Written by
Sagar Shankaran· Founder, CallSphere
LinkedInSagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
Try CallSphere AI Voice Agents
See how AI voice agents work for your industry. Live demo available -- no signup required.