Asterisk Gateway Interface (AGI) Definición AGI es un protocolo que permite a Asterisk ejecutar programas externos durante el procesamiento de una llamada. Cuando una llamada llega a un paso de AGI en el dialplan, Asterisk lanza un script externo (en Perl, PHP, Python, etc.) y se comunica con él a través de stdin/stdout. Estos scripts pueden gestionar el flujo de la llamada, reproducción de audio, captura de DTMF, consultas a bases de datos y lógica de enrutamiento. Cómo lo implementa VICIdial VICIdial depende fuertemente de scripts AGI para sus operaciones centrales de llamada. El sistema usa scripts en Perl almacenados en /var/lib/asterisk/agi-bin/. Implementaciones clave incluyen: Llamadas salientes: agi-VDAD_ALL_outbound.agi gestiona el procesamiento de llamadas atendidas, la detección de AMD, la búsqueda en la base de datos de leads, la selección de agente y el enrutamiento a ConfBridge. Llamadas entrantes: agi-VDADfirstreq.agi gestiona el enrutamiento de DID, la ejecución del menú de llamada y la colocación en cola. Cada llamada concurrente genera un proceso AGI independiente, consumiendo memoria, CPU y manejadores de archivo. Por qué importa AGI extiende a Asterisk más allá de la funcionalidad básica de PBX. Permite integración con CRM, enrutamiento dinámico basado en datos externos, lógica de IVR personalizada y búsqueda de leads en tiempo real durante la llamada. Para los administradores, entender AGI ofrece capacidades de personalización profundas, pero requiere pruebas cuidadosas: un error en un script AGI afecta a todas las llamadas. Para escenarios sensibles al rendimiento se recomienda FastAGI (FastAGI). Configuraciones relacionadas start_call_url dead_trigger amd_agent_route Conceptos relacionados Asterisk FastAGI Dialplan Interactive Voice Response (IVR) ConfBridge Direct Inward Dialing (DID) Answering Machine Detection (AMD)