At a glance
Layers
| Layer | Role |
|---|---|
| Telephony | Inbound/outbound calls, media streams, provider signatures (e.g. Twilio). |
| Voice runtime | Real-time audio, tool calls, session policy (e.g. LiveKit worker). |
| STT / TTS | Streaming transcription and neural speech output. |
| Backend API | Bookings, availability, integrations, webhooks (e.g. FastAPI). |
| Dashboard | Operators, lines, campaigns, analytics (e.g. Next.js + Supabase). |
Operational concerns
Reliability
Reliability
Treat telephony and WebRTC as flaky by default: retries, idempotent webhooks, and clear timeouts on tool calls reduce duplicate bookings and stuck sessions.
Security
Security
Keep API keys and secrets out of operator-visible JSON where possible; use your vault or integration store and rotate credentials on the same schedule as the rest of your stack.
Observability
Observability
Correlate call ids, operator ids, and webhook delivery ids in logs so support can trace a single conversation across services.
Related
Operators
How prompts, voice, and knowledge map to the runtime.
Integrations
Calendars, CRM, automation, and custom APIs.