hkjarral/AVA-AI-Voice-Agent-for-Asterisk

An open-source AI Voice Agent that integrates with Asterisk/FreePBX using Audiosocket/RTP/Websocket technology https://demo.agent6789.com

Python

1,244

3,519 commits

updated Oct 13, 2026

See the code

README

AVA Core — AI Voice Agent for Asterisk

Version CI License Discord

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.3 upgrade guide instead of cloning another installation.

On the AVA host:

git clone --branch v7.6.3 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://<server-ip>: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

ModeOptionsSetup
Realtime voice agentsDeepgram, OpenAI Realtime, Google Live/Vertex, ElevenLabs, xAI GrokProvider guides
Modular pipelinesMix supported STT, LLM and TTS adapters, including OpenAI-compatible endpointsPipeline configuration
Local or hybridLocal speech and/or LLM inference, optional GPU acceleration and remote local-model serversLocal 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

Watch the demo

Demo homepage · Setup videos

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 recoverInstallation · Migration notes
Connect my PBXFreePBX guide · Transport matrix
Configure providers and AgentsAdmin UI · Agents · Configuration
Add actions and integrationsTools · MCP
Operate and troubleshootCLI · Troubleshooting · Monitoring
Understand or extend the codeArchitecture · 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.3

  • More reliable provider setup, optional startup recovery, and Google playback and transfer fixes.
  • Authenticated Local AI checks, Whisper speech finalization, DTMF log privacy, and YAML-configured Streamable HTTP MCP.
  • Admin security/dependency updates and clearer operator/contributor 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
hkjarral

Architecture, Code
a692570
Abhishek

Telnyx LLM Provider
turgutguvercin
turgutguvercin

NumPy Resampler
Scarjit
Scarjit

Code
egorky
egorky

Azure STT/TTS Provider
alemstrom
alemstrom

Docs — PBX Setup
gcsuri
gcsuri

Code — Google Calendar
octo-patch
octo-patch

MiniMax LLM Provider
neilruaro-camb
neilruaro-camb

CAMB AI TTS Provider
Ai-chan-0411
Ai-chan-0411

Transcript Search, Health Badges
exaland
exaland

Outbound .ULAW Compatibility
YosefAdPro
YosefAdPro

Agents API/OpenAPI
cswilsnetex
Chris Wilson

Google Live, Transfer Handoff, Admin UI
Rea-PC08
Rea-PC08

Fish Audio TTS, Call History Filters
arnavp27
Arnav Patil

Admin UI Accessibility, Numeric Alignment, Empty States
alceops
Alce

OpenAI Streaming Timeouts
Genmin
Joey Roth

OpenAI Tool-call Tests
Ivan Garcia contributor badge
Ivan Garcia

Azure STT/TTS, OpenAI GA Tools
pi0n00r
pi0n00r

Local AI, Whisper, DTMF Privacy, MCP
MVECoder
MVECoder

Startup Recovery Investigation
NC contributor badge
NC

Authenticated Local AI Tests

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.

Product Hunt · Star history

License

AVA Core is MIT-licensed. See LICENSE.

hkjarral/AVA-AI-Voice-Agent-for-Asterisk

An open-source AI Voice Agent that integrates with Asterisk/FreePBX using Audiosocket/RTP/Websocket technology https://demo.agent6789.com

Python

1,244

3,519 commits

updated Oct 13, 2026

See the code

README

AVA Core — AI Voice Agent for Asterisk

Version CI License Discord

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.3 upgrade guide instead of cloning another installation.

On the AVA host:

git clone --branch v7.6.3 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://<server-ip>: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

ModeOptionsSetup
Realtime voice agentsDeepgram, OpenAI Realtime, Google Live/Vertex, ElevenLabs, xAI GrokProvider guides
Modular pipelinesMix supported STT, LLM and TTS adapters, including OpenAI-compatible endpointsPipeline configuration
Local or hybridLocal speech and/or LLM inference, optional GPU acceleration and remote local-model serversLocal 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

Watch the demo

Demo homepage · Setup videos

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 recoverInstallation · Migration notes
Connect my PBXFreePBX guide · Transport matrix
Configure providers and AgentsAdmin UI · Agents · Configuration
Add actions and integrationsTools · MCP
Operate and troubleshootCLI · Troubleshooting · Monitoring
Understand or extend the codeArchitecture · 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.3

  • More reliable provider setup, optional startup recovery, and Google playback and transfer fixes.
  • Authenticated Local AI checks, Whisper speech finalization, DTMF log privacy, and YAML-configured Streamable HTTP MCP.
  • Admin security/dependency updates and clearer operator/contributor 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
hkjarral

Architecture, Code
a692570
Abhishek

Telnyx LLM Provider
turgutguvercin
turgutguvercin

NumPy Resampler
Scarjit
Scarjit

Code
egorky
egorky

Azure STT/TTS Provider
alemstrom
alemstrom

Docs — PBX Setup
gcsuri
gcsuri

Code — Google Calendar
octo-patch
octo-patch

MiniMax LLM Provider
neilruaro-camb
neilruaro-camb

CAMB AI TTS Provider
Ai-chan-0411
Ai-chan-0411

Transcript Search, Health Badges
exaland
exaland

Outbound .ULAW Compatibility
YosefAdPro
YosefAdPro

Agents API/OpenAPI
cswilsnetex
Chris Wilson

Google Live, Transfer Handoff, Admin UI
Rea-PC08
Rea-PC08

Fish Audio TTS, Call History Filters
arnavp27
Arnav Patil

Admin UI Accessibility, Numeric Alignment, Empty States
alceops
Alce

OpenAI Streaming Timeouts
Genmin
Joey Roth

OpenAI Tool-call Tests
Ivan Garcia contributor badge
Ivan Garcia

Azure STT/TTS, OpenAI GA Tools
pi0n00r
pi0n00r

Local AI, Whisper, DTMF Privacy, MCP
MVECoder
MVECoder

Startup Recovery Investigation
NC contributor badge
NC

Authenticated Local AI Tests

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.

Product Hunt · Star history

License

AVA Core is MIT-licensed. See LICENSE.

Significant stargazers

Elvis Saravia

4,415 followers · starred Jan 2026

Mohsen Azimi

572 followers · starred Dec 2025

Ashish Patel

12,478 followers · starred Dec 2025

Felipe Coury

240 followers · starred Dec 2025