AVA: un agent vocal IA qui dialogue avec Asterisk via AudioSocket et RTP
Un agent vocal AI open source qui s'intègre à Asterisk/FreePBX à l'aide de la technologie Audiosocket/RTP.
En bref
- De quoi s’agit-il ?
- AVA connecte Asterisk et FreePBX à des fournisseurs de reconnaissance vocale, de LLM et de synthèse vocale via un pipeline modulaire, avec une interface d'administration, un routage par agent et des appels d'outils.
- À qui s’adresse-t-il ?
- Le README présente AVA comme un projet orienté déploiement, avec une interface d'administration, des configurations de base dorées et un modèle d'agent contrôlé par AI_AGENT. Ce qui est plus difficile à vérifier à partir du seul dépôt, ce sont le comportement réel en production, la posture de sécurité et les engagements de support.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un agent vocal open source pour Asterisk et FreePBX
AVA est un agent vocal IA open source qui s'intègre à Asterisk et FreePBX avec la technologie AudioSocket et RTP, selon la description du dépôt. Le README décrit une architecture de pipeline modulaire où les fournisseurs de reconnaissance vocale, de LLM et de synthèse vocale peuvent être combinés. Le code est en Python, et le README liste Python 3.11+, Docker Compose et Asterisk 18+ comme exigences. Les métadonnées du dépôt pointent aussi vers une démo en direct sur demo.agent6789.com, tandis que le README donne des numéros de téléphone américains séparés pour essayer les lignes vocales.
Démarrage rapide et interface d'administration
Le parcours documenté vers un premier appel commence par le clonage du dépôt et l'exécution de `sudo ./preflight.sh --apply-fixes`, qui, selon le README, crée `.env` et génère un secret JWT. Ensuite, on démarre l'interface d'administration avec `docker compose -p asterisk-ai-voice-agent up -d --build --force-recreate admin_ui` et on ouvre le port 3003. Au premier démarrage, un mot de passe administrateur à usage unique est imprimé dans les journaux du conteneur. Le README demande aux opérateurs de le changer à la première connexion et de restreindre le port 3003 via un pare-feu, un VPN ou un proxy inverse. L'assistant de configuration configure les fournisseurs et génère le plan de numérotation Asterisk. Le README n'établit pas ce qui se passe si preflight est ignoré ni comment l'assistant traite un plan de numérotation existant.
Configurations de base dorées et choix de fournisseurs
Le README liste sept configurations de base dorées: OpenAI Realtime, Deepgram Voice Agent, Google Live, ElevenLabs Agent, Local Hybrid, Telnyx AI Inference et xAI Grok Voice Agent. Chacune a un chemin de configuration YAML comme `config/ai-agent.golden-openai.yaml`. Il documente aussi d'autres fournisseurs LLM, dont MiniMax, un mode entièrement local avec topologies CPU, GPU et serveur séparé, et un pipeline basé sur Ollama sans clé API. Le README affirme des temps de réponse inférieurs à deux secondes pour plusieurs bases hébergées, mais ce sont des déclarations du projet, pas des mesures indépendantes. Les métadonnées du dépôt ne contiennent pas de données de test de performance.
Agents, routage du plan de numérotation et configuration
Depuis v7.0.0, selon le README, les agents sont gérés dans l'interface d'administration plutôt que dans des blocs de contexte YAML. La variable de plan de numérotation `AI_AGENT` sélectionne un agent géré par l'opérateur par slug, avec `AI_PROVIDER` disponible comme surcharge par appel. Un extrait FreePBX exemple définit `AI_AGENT=sales-agent` et appelle `Stasis(asterisk-ai-voice-agent)`. La configuration est répartie sur un schéma à trois fichiers que le README mentionne mais ne liste pas dans la section fournie; il renvoie à la documentation pour la précédence et des exemples. La migration de l'ancien `AI_CONTEXT` vers `AI_AGENT` est décrite comme automatique lors de la mise à niveau, `AI_CONTEXT` restant un alias de compatibilité obsolète.
Appels d'outils et accès aux ressources par agent
Le README documente des actions pilotées par IA: transferts vers des postes, files d'attente et groupes de sonnerie; annulation de transfert; raccrochage avec message d'adieu; messagerie vocale; résumés par e-mail; et transcriptions demandées par l'appelant. Deux outils de messagerie sont désactivés par défaut. Depuis v7.4, chaque agent peut hériter, sélectionner ou refuser les destinations de transfert, Google Agenda, Microsoft Agenda et les boîtes vocales. Le README décrit aussi des outils HTTP avant, pendant et après l'appel avec des exemples YAML. Il ne précise pas les limites de débit, les politiques de nouvelle tentative ni la façon dont les outils HTTP gèrent l'authentification contre des points de terminaison arbitraires.
Historique des versions et ce que le README laisse ouvert
Le journal des modifications du README couvre v7.5.4 jusqu'à v4.1, les versions récentes étant centrées sur les diagnostics respectueux de la vie privée, la récupération audio, l'AudioSocket large bande et des mises à niveau plus sûres. Le README affirme des matrices de validation et des preuves de tests communautaires pour certaines configurations IA locales, et il lie une matrice de validation pour v7.5.4. Les métadonnées du dépôt listent 29 problèmes ouverts et 252 forks, mais cela n'établit pas que ces problèmes sont résolus ni que le projet est activement maintenu. La licence MIT accorde l'utilisation, la copie, la modification, la fusion, la publication, la distribution, la sous-licence et la vente, et exclut toute garantie. Elle ne dit rien sur le support, les garanties de sécurité ou la préparation à la production; ces points doivent être vérifiés séparément.
Conclusion éditoriale
Le README présente AVA comme un projet orienté déploiement, avec une interface d'administration, des configurations de base dorées et un modèle d'agent contrôlé par AI_AGENT. Ce qui est plus difficile à vérifier à partir du seul dépôt, ce sont le comportement réel en production, la posture de sécurité et les engagements de support.
Notes de la communauté