1. Introducción
ARA, la arquitectura RealTime de Asterisk es una de las mayores virtudes que posee esta central en sus nuevas versiones. La configuración externa es configurada en /etc/asterisk/extconfig.conf permitiendo mapear cualquier archivo de configuración (mapeos estáticos) desde la base de datos, o mapear entradas que se esten ejecutando lo cual permite la creación de objetos dinámicos, entidades, peers, etc. Sin necesidad de una actualización.
Además al tener una interface que maneje herramientas de configuración permite que el servidor no pierda tiempo en reiniciar y asi no perder flujo de llamadas.
2. Native Mysql, iodbc, unixODBC ?
Hay dos maneras que se puede conectar el módulo de tiempo real a la base de datos.
El ODBC driver es lejos la mejor opción, su desempeño es mejor y soporta más opciones que mysql.
Este proyecto se basa en el uso de ODBC. Nuevamente se tienen 2 opciones, en linux se tienen dos maneras para la conectividad de odbc, llamadas iodbc y unixodbc. En este caso se uso unixodbc. También se tiene que mencionar que debido a algunos archivos de configuración son llamados iguales por lo que no se pueden ocupar al mismo tiempo. Importante es que la configuración de ambas está hecha de una manera similar o la diferencia entre ambos es muy pequeña.
Como se dijo anteriormente se utlizará odbc con pgsql como base de datos (PostgreSQL), por lo que no solo se necesitará odbc apim, sino también el odbc-postgresql driver.
Con lo los requerimientos ya implementados, se procede a crear y llenar la base de datos.
3. Cuestionamiento del Performance y Confiabilidad.
Si el Asterisk necesita conectarse a la base de datos para cada paso en el dialplan, la base de datos podría estar muy . Es sabido que Asterisk RealTime poco puede configurarse de dos maneras distintas:
Static Realtime
En este caso, los datos se recuperan del servidor de la base de datos solamente en el arranque y en recargas.
La ventaja es que la carga en el servidor de la base de datos es más baja, y si el servidor de la base de base de datos cae, puede ser que no afecte la ejecución de Asterisk.
La gran desventaja es que no es tiempo real. Después de cada cambio a la base de datos, asterisk debe ser reiniciado.
Dynamic Realtime
Esta es la segunda posibilidad, aquí todos los cambios de configuración se reflejan en tiempo real. Pero si servidor de la base de datoscae, el servicio de voip cae también.