GitHub - hkjarral/Asterisk-AI-Voice-Agent: An open-source AI Voice Agent that integrates with Asterisk/FreePBX using Audiosocket/RTP technology
The most powerful, flexible open-source AI voice agent for Asterisk/FreePBX. Featuring a modular pipeline architecture that lets you mix and match STT, LLM, and TTS providers, plus 5 production-ready golden baselines validated for enterprise deployment. Quick Start • Features • Demo • Documentation • Community 🚀 Quick Start 🎉 What's New 🌟 Why Asterisk AI Voice Agent? ✨ Features 🎥 Demo 🛠️ AI-Powered Actions 🩺 Agent CLI Tools ⚙️ Configuration 🏗️ Project Architecture 📊 Requirements 🗺️ Documentation 🤝 Contributing 💬 Community 📝 License Get the Admin UI running in 2 minutes . For a complete first successful call walkthrough (dialplan + transport selection + verification), see: # Clone repository git clone https://github.com/hkjarral/Asterisk-AI-Voice-Agent.git cd Asterisk-AI-Voice-Agent # Run preflight with auto-fix (creates .env, generates JWT_SECRET) sudo ./preflight.sh --apply-fixes Important: Preflight creates your .env file and generates a secure JWT_SECRET . Always run this first! # Start the Admin UI container docker compose up -d --build admin-ui Open in your browser: Local: http://localhost:3003 Remote server: http://<server-ip>:3003 Default Login: admin / admin Follow the Setup Wizard to configure your providers and make a test call. ⚠️ Security: The Admin UI is accessible on the network. Change the default password immediately and restrict port 3003 via firewall, VPN, or reverse proxy for production use. # Start ai-engine (required for health checks) docker compose up -d --build ai-engine # Check ai-engine health curl http://localhost:15000/health # Expected: {"status":"healthy"} # View logs for any errors docker compose logs ai-engine | tail -20 The wizard will generate the necessary dialplan configuration for your Asterisk server. Transport selection is configuration-dependent (not strictly “pipelines vs full agents”). Use the validated matrix in: For users who prefer the command line or need headless setup. ./install.sh agent quickstart # Configure environment cp .env.example .env # Edit .env with your API keys # Start services docker compose up -d Add this to your FreePBX ( extensions_custom.conf ): [from-ai-agent] exten => s,1,NoOp(Asterisk AI Voice Agent v4.5.3) same => n,Stasis(asterisk-ai-voice-agent) same => n,Hangup() Health check: agent doctor View logs: docker compose logs -f ai-engine Latest Updates Full Call Logging : Every call saved with conversation history, timing, and outcome Per-Call Debugging : Review transcripts, tool executions, and errors from Admin UI Search & Filter : Find calls by caller, provider, context, or date range Export : Download call data as CSV or JSON Immediate Interruption : Agent audio stops instantly when caller speaks Provider-Owned Turn-Taking : Full agents (Google, Deepgram, OpenAI, ElevenLabs) handle VAD natively Platform Flush : Local playback clears immediately on interruption signal Transport Parity : Works with both ExternalMedia RTP and AudioSocket Faster Whisper : High-accuracy STT backend with GPU acceleration MeloTTS : New neural TTS option for local pipelines Model Hot-Swap : Switch models via Dashboard without container restart External Tools Framework : Connect AI agents to external services via Model Context Protocol Admin UI Config : Configure MCP servers from the web interface Remote Endpoint Pinning : Lock RTP streams to prevent audio hijacking Allowlist Support : Restrict allowed remote hosts...
Preview: ~500 words
Continue reading at Hacker News
Read Full Article