AVA Core is an open-source AI voice agent for Asterisk and FreePBX. Build phone agents using realtime voice providers or modular speech-to-text, language-model, and text-to-speech pipelines, managed through a self-hosted Admin UI.
Managing multiple PBXs or customer installations? Explore AVA Operator — the commercial multi-installation management layer built around AVA Core, currently available as an early-access preview. AVA Core remains MIT-licensed, free, and fully functional on its own.
Quick Start · Capabilities · Demo · Documentation · Contributing · Community
Quick Start
For a fresh installation, use a Linux x86_64 host with Docker Compose v2 and an Asterisk 18+ / FreePBX system with ARI enabled. Cloud configurations start with 2 CPU cores and 4 GB RAM; local inference needs additional resources. Check supported platforms and transport compatibility first; some transports require newer Asterisk versions or additional modules.
Already running AVA? Follow the v7.6.4 upgrade guide instead of cloning another installation.
On the AVA host:
git clone --branch v7.6.4 https://github.com/hkjarral/AVA-AI-Voice-Agent-for-Asterisk.git
cd AVA-AI-Voice-Agent-for-Asterisk
sudo ./preflight.sh --apply-fixes
docker compose -p asterisk-ai-voice-agent up -d --build admin_ui
Preflight prepares .env, generates the JWT secret, and checks PBX/media
permissions. Review its findings before continuing.
Open http://:3003. Retrieve the one-time admin password:
docker compose -p asterisk-ai-voice-agent logs admin_ui | grep -i password
Change the password at first login. Restrict port 3003 to trusted access using a firewall, VPN, or an authenticated TLS reverse proxy; do not expose plain HTTP admin access to the public internet.
Complete the Setup Wizard, configure the generated Asterisk dialplan, and start the AI Engine as described in the installation guide. Verify engine health and make a test call before routing callers to the agent. The guide also covers CLI/manual installation, permissions, and recovery; local AI setup covers CPU/GPU configurations.
Capabilities
- Realtime or modular voice: use a full voice-agent provider, or select separate STT, LLM, and TTS backends.
- Self-hosted management: configure providers and Agents, inspect Call History, filter/export records, and manage updates through the Admin UI.
- Telephony tools: transfers, extension availability, voicemail, and hangup controls integrated with Asterisk.
- Business integrations: Google/Microsoft calendars, email, HTTP tools, and MCP tools with per-Agent access controls.
- Cloud, hybrid, or local operation: choose where audio and model inference run. Hybrid deployments still send the configured inputs to cloud services.
- Operational diagnostics: CLI health checks, sanitized support packages, metrics, and documented upgrade/recovery paths.
Providers and deployment modes
| Mode | Options | Setup |
|---|---|---|
| Realtime voice agents | Deepgram, OpenAI Realtime, Google Live/Vertex, ElevenLabs, xAI Grok | Provider guides |
| Modular pipelines | Mix supported STT, LLM and TTS adapters, including OpenAI-compatible endpoints | Pipeline configuration |
| Local or hybrid | Local speech and/or LLM inference, optional GPU acceleration and remote local-model servers | Local setup |
Model availability, tools, latency, and transport support vary by configuration. Use the compatibility matrix and release validation evidence rather than assuming every provider/transport combination is qualified.
AudioSocket and ExternalMedia RTP are configuration-dependent; Media WebSocket is opt-in and has additional Asterisk requirements. See the WebSocket guide. Outbound campaigns and VICIdial integration remain alpha; FreeSWITCH setup is community-maintained.
Demo
Try the US demo lines and follow the current voice menu:
- Standard voice: (925) 736-6718
- HD voice: (909) 788-2282
HD voice requires a G.722-capable carrier/device path and the opt-in
wideband_pcm_16k Audio Profile; other calls fall back to standard telephony
audio. The video is a v6.1 walkthrough, not a description of every current UI
screen or model.
Documentation
| I want to… | Start here |
|---|---|
| Install, upgrade, or recover | Installation · Migration notes |
| Connect my PBX | FreePBX guide · Transport matrix |
| Configure providers and Agents | Admin UI · Agents · Configuration |
| Add actions and integrations | Tools · MCP |
| Operate and troubleshoot | CLI · Troubleshooting · Monitoring |
| Understand or extend the code | Architecture · Developer guides |
The core services are ai_engine and admin_ui; local_ai_server and
updater are optional. Run only the services required by your deployment.
All documentation · Roadmap · Security policy · Ask DeepWiki
Latest release: v7.6.4
- Safer HTTP-tool templates with single-pass substitution and protected call data.
- Farewell and transfer-recovery fixes that prevent stale hangups.
- Compatible Admin dependency updates and refreshed upgrade guidance.
See the changelog for detailed changes and contributor credit, GitHub Releases for artifacts, and migration notes before upgrading. Earlier release notes remain in the changelog and versioned repository history.
Contributing
Code, documentation, tests, bug reports, and real-world validation are welcome. Start with CONTRIBUTING.md and the developer quickstart. Include reproducible evidence and follow the PR review workflow. Documentation and many automated tests do not require a PBX.
If you use an AI coding assistant, AVA.mdc provides optional project context. All contributions still require appropriate testing and review.
Contributors
hkjarral
Architecture, Code
Abhishek
Telnyx LLM Provider
turgutguvercin
NumPy Resampler
Scarjit
Code
egorky
Azure STT/TTS Provider
alemstrom
Docs — PBX Setup
gcsuri
Code — Google Calendar
octo-patch
MiniMax LLM Provider
neilruaro-camb
CAMB AI TTS Provider
Ai-chan-0411
Transcript Search, Health Badges
exaland
Outbound .ULAW Compatibility
YosefAdPro
Agents API/OpenAPI
Chris Wilson
Google Live, Transfer Handoff, Admin UI
Rea-PC08
Fish Audio TTS, Call History Filters
Arnav Patil
Admin UI Accessibility, Numeric Alignment, Empty States
Alce
OpenAI Streaming Timeouts
Joey Roth
OpenAI Tool-call Tests
Ivan Garcia
Azure STT/TTS, OpenAI GA Tools
pi0n00r
Local AI, Whisper, DTMF Privacy, MCP
MVECoder
Startup Recovery, Farewell Investigation
NC
Local AI Environment Parser
Michael (theluckystrike)
Farewell Hangup Fix
Kevin Rossen
HTTP Template Security
See CONTRIBUTORS.md for contribution details and historical credit. Commit-linked badges preserve attribution when no GitHub profile is linked; they do not imply a verified account identity.
AVA Operator
AVA Operator helps MSPs and operators manage AI voice across multiple Asterisk and FreePBX installations from one console. It builds on AVA Core while remaining a separate commercial product.
Explore the early-access preview →
Community and support
Discord · Issues · Discussions
AVA Core is independently maintained. GitHub Sponsors and Ko-fi support compatibility testing, maintenance, and release infrastructure. Book a consultation for dedicated help.
License
AVA Core is MIT-licensed. See LICENSE.






















