Ir al contenido principal

FastAGI

Definición

FastAGI es una versión basada en red del Asterisk Gateway Interface que establece conexiones TCP hacia un servidor externo en lugar de generar procesos individuales por cada llamada. Esta arquitectura permite que un único daemon persistente gestione múltiples interacciones concurrentes simultáneamente.

Cómo lo implementa VICIdial

Enfoque AGI estándar: el AGI tradicional crea un proceso Perl separado por cada llamada, que se carga en memoria, se ejecuta y termina cuando finaliza la interacción.

Enfoque FastAGI: en lugar de generar procesos, Asterisk se conecta vía TCP a un daemon que ya está en ejecución (típicamente operando en localhost, puerto 4577). El daemon recibe los mensajes del protocolo a través de sockets de red y los procesa usando un entorno persistente. La implementación de VICIdial usa un daemon en Perl que preinicializa las conexiones a la base de datos, la información de configuración y la infraestructura compartida.

Método de invocación: FastAGI reemplaza la sintaxis estándar como AGI(/var/lib/asterisk/agi-bin/script.agi) por AGI(agi://localhost:4577/script_name). La mensajería subyacente del protocolo permanece sin cambios; solo difiere el mecanismo de entrega.

Por qué importa FastAGI

FastAGI se vuelve crítico para sistemas que gestionan más de 100-150 llamadas simultáneas. En volúmenes más altos, la generación tradicional de procesos crea una sobrecarga sustancial de CPU y memoria: cada proceso AGI consume entre 10 y 30 MB de RAM, y cientos de instancias concurrentes generan una carga significativa en el sistema. El enfoque de daemon persistente reduce drásticamente el consumo de recursos manteniendo la misma capacidad de manejo de llamadas.

Recomendación de implementación

Las instalaciones de VICIdial a gran escala y los despliegues en clúster deberían adoptar FastAGI como estrategia de mejora de desempeño.

Conceptos relacionados