Setup
Advanced settings
Live conversation
Latency
Your calls
| When | Number | Engine Β· model | Length | Greeting | First reply | Typical reply | Slowest | Replies | Talk-overs | How it ended |
|---|
Launch concurrent calls
Run a comparison
Past comparisons
| When | Engines | Script | RunsΓConc | Status |
|---|
Results
Tools the agent can call
| On | Name | Type | Kind | Delay | Fail% |
|---|
Edit tool
Synthetic customers
| Id | Name | Lang | Owes (AED) | Overdue | Scenario |
|---|
Customer record (what Mode A preloads / what tools return)
Agent prompt
Voices
Synthetic caller scripts
Phone allowlist (test numbers)
Calls
| When | Engine | Source | Mode | Customer | Dur | Turns | V2V p50 | V2V avg | 1st word | Tools | Barge | End |
|---|
System status
How it's wired
Speech Engine β our bridge streams caller audio (PCM 16 kHz) to ElevenLabs' conversation WebSocket (EU). ElevenLabs does speech-to-text, turn detection and interruptions, then connects back to this lab's brain (/se/ws) with the transcript; the brain calls the LLM + tools and streams text back; ElevenLabs speaks it.
ElevenLabs APIs (DIY) β our bridge runs the loop itself: Scribe v2 Realtime (its VAD ends the turn) β the same brain β Flash TTS over the multi-context WebSocket. Barge-in = partial transcript while the agent speaks.
Pipecat β a Python pipeline on this server: Silero VAD + Smart Turn decide the turn, ElevenLabs realtime STT/TTS, the same LLM; tools call back into the same tool runner.
Phone β the VoiceGateway test line (not the prod line). Its allowlist admits the office network, so the lab reaches it through a relay on the Mac; if that relay is down, phone calls fail (browser + synthetic still work).
Latency is measured identically for every engine at our side: the moment the caller's audio stops β the first audible agent audio we receive. The phone network's own delay is the same for all engines and not included.