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.

 

 

Anuncio publicitario
  1. Poncho
    enero 21, 2019 a las 7:36 pm

    Muchas Gracias, excelente articulo Saludos!!!!

  2. febrero 19, 2019 a las 1:57 pm

    Gracias por la informacion, muy util!

  3. enero 31, 2020 a las 2:38 pm

    buen aporte me servio

  4. Gerardo Jacinto Astudillo
    junio 14, 2020 a las 5:17 pm

    muy interesante, saludos!!

  5. Carlos Lopez
    diciembre 11, 2020 a las 12:29 am

    Buenas noches. Al poner el comando curl -sL https://rpm.nodesource.com/setup_8.x | bash – me manda el iguiente mensaje:

    bash: –: No such file or directory

    Saludos.

  6. Carlos Lopez
    diciembre 11, 2020 a las 4:24 am

    Buenas noches Juan.

    Ya lo pude instalar con wget -qO- https://rpm.nodesource.com/setup_8.x | bash -, pero ahora al correr el siguiente comando:

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

    Me regresa el siguiente mensaje de error:

    error: Unexpected server response: 404

    Saludos.

  7. Carlos Lopez
    marzo 29, 2021 a las 5:57 pm

    Buen día Juan.

    Me interesa el post «como desarrollar una aplicación con Nodejs haciendo uso de una cliente ARI para controlar Issabel»

  1. septiembre 7, 2020 a las 7:01 am
  2. enero 23, 2021 a las 5:21 am

Deja una respuesta

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. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: