Inicio > Asterisk, Centos, Linux, Manuales y tutoriales, Programacion > Asterisk Rest Interface (ARI) en Issabel

Asterisk Rest Interface (ARI) en Issabel

Una de las cosas que me gusta hacer junto con el Ethical Hacking es instalar/programar aplicaciones de Voz para ello hace mucho tiempo que uso Asterisk, evidentemente esto a evolucionado gratamente para los que nos gusta esta área, a partir de Asterisk 12 apareció ARI o “Asterisk REST Interface” API que permite programar cualquier tipo de aplicación y que se ejecute en Asterisk.

Realmente ARI desde mi punto de vista ha cambiado la forma de ver lo que se puede hacer con Asterisk ya que no solo es pensar en una PBX, si no que ahora puedes tomar las librerías de ARI de los lenguajes mas importantes como python, C#, Java, Javascript, para conectarte a la API y empezar a desarrollar usando la aplicación que implementa Asterisk a nivel de dialplan llamada “Statis”.

En esa linea de ideas, debido a que Issabel trae Asterisk 13 podemos usar ARI sin problemas, a continuación veremos como realizar la configuración del mismo y realizar una prueba básica usado la herramienta wscat para conectarnos vía Websocket hacia la API en este caso ARI.

 

1.- Configurar ARI en Issabel

Ingresar al archivo http_custom.conf y activar ARI e indicarle en que puerto va funcionar de la siguiente forma:

Luego ingresar al archivo “ari.conf” el usuario y contraseña con el cual usaremos ARI

2.- Crear el dialplan

Ahora crearemos un dialplan para consumir y/o conectarse hacia ARI , para ello sera necesario declarar una extension 9000 donde invocaremos la aplicacion “Stasis” que es el mecanismo que utiliza Asterisk para entregar el control de un canal desde el plan de marcado hacia ARI.

En el archivo “extensions_custom.conf” incluimos un nuevo contexto llamado “ariwebsoket” de la siguiente forma:

 

Luego agregamos el final del archivo el nuevo conexto:

3.- Pruebas con ARI sobre Issabel.

Vamos a preparar una prueba muy sencilla de como nos podemos conectar mediante una petición de websoket hacia ARI para visualizar un evento en concreto, para ello sera necesario instalar wscat mediante nodejs.

curl -sL https://rpm.nodesource.com/setup_8.x | bash –
yum install -y nodejs
npm install -g wscat

Ahora desde una terminal nos conectamos a Issabel y ejecutamos

wscat -c “ws://localhost:8088/ari/events?api_key=ari:tucontrasena&app=hello-world”

Veremos que estamos conectados hacia ARI, de igual forma en el CLI veremos lo siguiente:

Lo cual nos indica que hay una conexión vía WebSocket hacia la aplicación “Hello-world”

Ahora al llamar a la extensión 9000 sera posible ver los detalles del evento mediante ARI de la siguiente forma

Esto es un test muy sencillo para validar que ARI funciona correctamente en Issabel, en un post nuevo veremos como desarrollar una aplicación con Nodejs haciendo uso de una cliente ARI para controlar Issabel.

Saludos
Juan Oliva.

 

 

Anuncios
  1. Poncho
    enero 21, 2019 de 7:36 pm

    Muchas Gracias, excelente articulo Saludos!!!!

  2. febrero 19, 2019 de 1:57 pm

    Gracias por la informacion, muy util!

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: