ProjectVoice Infrastructure · 2026
Telephony Voice Simulator
A local-first test platform for voice agents, AMD, IVRs, PBX routing, live carrier behavior, recordings, and automated grading.
- Python
- Next.js
- LiveKit
- Twilio
- SQLite
- MySQL
- Docker
Voice Infrastructure · Project
Overview
Telephony Voice Simulator tests the boundary where voice agents meet the real phone network. It brings answering-machine detection, inbound IVRs, PBX routing, queues, screeners, human pickup, recordings, and grading into one repeatable workspace.
Why It Exists
Voice systems fail in ways that text-based tests do not capture: unusual voicemail greetings, early beeps, silence, DTMF gates, carrier errors, queue overflow, and timing-sensitive transfers. The simulator makes those conditions reproducible before they affect live callers.
Scenario Catalog
The platform includes more than forty scenarios across three domains:
- Answering-machine and human-pickup behavior
- IVR routing, invalid input, retry, silence, busy, and abandonment
- PBX schedules, extensions, queues, overflow, fallback, and voicemail
One Telephony Platform
A Python control plane owns scenarios, provider profiles, runs, recordings, grading, and analytics. A Next.js console provides the operator experience, while adapters connect local simulation to Twilio and LiveKit.
Live and Local Testing
The default mode runs locally with SQLite. Controlled ingress exposes only signed carrier webhooks and reviewed media routes for live Twilio testing; the private control API stays on loopback or a protected network.
Automated UAT
Multi-step UAT flows can provision a scenario, initiate a call, capture values, retry transient failures, grade the outcome, and collect artifacts. That makes voice-agent regression testing portable across runtimes and providers.
Safety and Release Boundaries
Recordings are opt-in, provider data is isolated, and public builds exclude restricted audio corpora. The repository documents consent, retention, deletion, and provider-hosted recording boundaries rather than treating call capture as a default.
Next projectProductivity