Real-Time AI Telephony Platform
Budget: $750 – $1,500 USD
I need to extend my existing voice-assistant infrastructure into a production-grade contact-center platform that can:
• Run inbound and outbound campaigns through Asterisk 18/21 using both AMI/ARI and a simple REST API.
• Stream 24 kHz PCM audio, full duplex, over WebSocket with ≤300 ms p98 barge-in so the assistant can react naturally.
• Drive AI-managed conversations that keep contextual understanding from start to finish. When the caller interrupts, we should pause, let them speak, then resume seamlessly.
• Detect answering machines and caller language with Vosk (including mandatory resampling from 24 kHz to 16 kHz) before handing control to the dialogue engine.
• Escalate any call to a live operator through standard Asterisk queues and keep both channels in sync.
• Record every call in stereo (separate agent / caller tracks).
• Survive timeouts, disconnects and mid-call network blips with automatic retries and buffered audio so no speech is lost.
• Expose an admin panel where I can create campaigns, upload prompts, tweak AMD thresholds, watch live calls, and pull analytics.
• Emit detailed metrics and structured logs—latency, failure codes, call statistics—straight into Prometheus.
Target numbers: ≤800 ms end-to-end latency at p95, 300+ concurrent sessions, ≥99.5 % uptime in a horizontally scalable, adapter-based architecture.
Preferred stack aligns with what we already run: Python (asyncio) or modern C++ for the media and routing layer, FastAPI or Node.js for control services, PostgreSQL for persistence.
Acceptance criteria
1. A demo environment handling 300 simultaneous WebSocket sessions that maintains the latency and uptime targets for 48 hours.
2. A sample campaign exercising barge-in, contextual replies, pause-and-resume handling, AMD, language detection, operator transfer and stereo recording; all events must appear in Prometheus and the admin panel.
3. Clean, commented source, Docker-compose manifests, and a brief runbook covering deployment, scaling and failover.
• Run inbound and outbound campaigns through Asterisk 18/21 using both AMI/ARI and a simple REST API.
• Stream 24 kHz PCM audio, full duplex, over WebSocket with ≤300 ms p98 barge-in so the assistant can react naturally.
• Drive AI-managed conversations that keep contextual understanding from start to finish. When the caller interrupts, we should pause, let them speak, then resume seamlessly.
• Detect answering machines and caller language with Vosk (including mandatory resampling from 24 kHz to 16 kHz) before handing control to the dialogue engine.
• Escalate any call to a live operator through standard Asterisk queues and keep both channels in sync.
• Record every call in stereo (separate agent / caller tracks).
• Survive timeouts, disconnects and mid-call network blips with automatic retries and buffered audio so no speech is lost.
• Expose an admin panel where I can create campaigns, upload prompts, tweak AMD thresholds, watch live calls, and pull analytics.
• Emit detailed metrics and structured logs—latency, failure codes, call statistics—straight into Prometheus.
Target numbers: ≤800 ms end-to-end latency at p95, 300+ concurrent sessions, ≥99.5 % uptime in a horizontally scalable, adapter-based architecture.
Preferred stack aligns with what we already run: Python (asyncio) or modern C++ for the media and routing layer, FastAPI or Node.js for control services, PostgreSQL for persistence.
Acceptance criteria
1. A demo environment handling 300 simultaneous WebSocket sessions that maintains the latency and uptime targets for 48 hours.
2. A sample campaign exercising barge-in, contextual replies, pause-and-resume handling, AMD, language detection, operator transfer and stereo recording; all events must appear in Prometheus and the admin panel.
3. Clean, commented source, Docker-compose manifests, and a brief runbook covering deployment, scaling and failover.