Complete project scaffolding and core implementation of an AI-powered telephony system that calls companies, navigates IVR menus, waits on hold, and transfers to the user when a human answers. Key components: - FastAPI server with REST API, WebSocket, and MCP (SSE) interfaces - SIP/VoIP call management via PJSUA2 with RTP audio streaming - LLM-powered IVR navigation using OpenAI/Anthropic with tool calling - Hold detection service combining audio analysis and silence detection - Real-time STT (Whisper/Deepgram) and TTS (OpenAI/Piper) pipelines - Call recording with per-channel and mixed audio capture - Event bus (asyncio pub/sub) for real-time client updates - Web dashboard with live call monitoring - SQLite persistence via SQLAlchemy with call history and analytics - Notification support (email, SMS, webhook, desktop) - Docker Compose deployment with Opal VoIP and Opal Media containers - Comprehensive test suite with unit, integration, and E2E tests - Simplified .gitignore and full project documentation in README
Hold Slayer Documentation
Comprehensive documentation for the Hold Slayer AI telephony gateway.
Contents
| Document | Description |
|---|---|
| Architecture | System architecture, component diagram, data flow |
| Core Engine | SIP engine, media pipeline, call manager, event bus |
| Hold Slayer Service | IVR navigation, hold detection, human detection, transfer |
| Audio Classifier | Waveform analysis, feature extraction, classification logic |
| Services | LLM client, transcription, recording, analytics, notifications |
| Call Flows | Call flow model, step types, learner, CRUD API |
| API Reference | REST endpoints, WebSocket protocol, request/response schemas |
| MCP Server | MCP tools and resources for AI assistant integration |
| Configuration | Environment variables, settings, deployment options |
| Development | Setup, testing, contributing, project conventions |