Tal y como explicamos cuando hablamos de ARI (Asterisk REST Interface) en la conferencia de Las 12 pruebas de Asterisk, una de las novedades de Asterisk 12, Asterisk 13 y posteriores, es la posibilidad de crear aplicaciones en casi cualquier lenguaje y que sean ejecutadas por Asterisk utilizando el «engine» Stasis que utiliza conexiones HTTP y websocket para enviar y recibir información de la aplicación y del propio Asterisk (similar a como lo hace AGI) pero manteniendo la conexión vía websocket (similar a como lo hace el AMI).
Esa comunicación HTTP/Websocket requiere de algunas librerías para poder conectar con Stasis y poder interactuar con Asterisk, de ahí que no todos los lenguajes sean válidos, por lo que actualmente los lenguajes que disponen de librerías para conectar con Stasis son:
- Python : https://github.com/asterisk/ari-py
- C# / .NET : https://asternetari.codeplex.com/
- Java : https://github.com/l3nz/ari4java
- JavaScript (node) : https://github.com/asterisk/node-ari-client
- PHP : http://www.phpari.org/
Este último lenguaje (PHP) acaba de ser incorporado gracias a Nir Simionovich al que podremos ver en el VoIP2DAY 2014 y a Leonid Notik.
Este nuevo sistema (ARI) es el camino que va a seguir Asterisk para poder interactuar con otras aplicaciones. Si bien no está claro que sea un sustituto de AGI y del AMI, podemos ver que todos los desarrolladores de Asterisk están volcados en este proyecto por lo que, tiene bastantes papeletas para ser el interfaz Asterisk-Aplicación definitivo de Asterisk y por lo tanto, va siendo hora de ir conociendo este sistema.
Si tienes más dudas sobre ARI y cómo programar aplicaciones en Asterisk 12, Asterisk 13 y posteriores, puedes empezar leyendo esto: https://wiki.asterisk.org/wiki/display/AST/Getting+Started+with+ARI
Más información y ejemplos sobre PHPARI: http://www.phpari.org/