Probando el framework de comunicaciones Plivo

Plivo es un framework de comunicaciones creado alrededor de FreeSWITCH con la intención de proporcionar un entorno en el que desarrollar aplicaciones multimedia. Puede compararse con Twilio, pero con una importante diferencia: es Open Source.

Para hacernos una idea de la arquitectura del sistema completo podemos consultar la sección overview de su página web. Aquí una de las imágenes a modo resumen:

Ya que Plivo es una solución hosted, es decir, tenemos que instalar nuestro propio servidor, tendremos que hacer algo de trabajo antes de poder probar una aplicación hola-mundo, pero afortunadamente Plivo viene con unos cuantos scripts que nos harán la vida muy fácil. ¡Al tema!

Paso 1: Instalar FreeSWITCH

Partiremos de una Debian Squeeze recién instalada y utilizaremos el script de instalación provisto por Plivo. La razón es que necesitamos una configuración específica para trabajar con Plivo y el script ya lo hace todo solo 😉 Podemos consultar algo más de documentación en la sección get started.

# wget --no-check-certificate https://github.com/plivo/plivo/raw/master/freeswitch/install.sh
# chmod +x install.sh
# ./install.sh

Una vez tenemos FreeSWITCH instalado (estará en /usr/lcoal/freeswitch/) podemos arrancarlo en background ejecutando:

# ./usr/local/freeswitch/bin/freeswitch -nc

Y podemos conectarnos a un CLI interactivo así:

# ./usr/local/freeswitch/bin/fs_cli

Paso 2: Instalar Plivo

Para instalar Plivo también utilizaremos un script y lo instalaremos en /opt/plivo/:

# wget --no-check-certificate https://github.com/plivo/plivo/raw/master/scripts/plivo_install_beta.sh
# chmod +x plivo_install_beta.sh
# ./plivo_install_beta.sh

Paso 3: Configurar Plivo

Una vez tenemos instalados FreeSWITCH y Plivo vamos a modificar ligeramente la condifuración de Plivo. Por defecto escucha peticiones del API REST en 127.0.0.1 (no Mike, creo que aún no soporta IPv6) así que lo cambiaremos para poder desarrollar en otra máquina.

Editamos el fichero /opt/plivo/etc/plivo/default.conf y configuramos la IP de la máquina donde tendremos nuestra aplicación escuchando:

...
DEFAULT_ANSWER_URL = http://192.168.99.53:5000/answered/
DEFAULT_HANGUP_URL = http://192.168.99.53:5000/hangup/
...
ALLOWED_IPS = 127.0.0.1,192.168.99.53
...
HTTP_ADDRESS = 0.0.0.0:8088
...
CALL_HEARTBEAT_URL = http://192.168.99.53:5000/heartbeat/

Ya estamos listos para arrancar Plivo:

/opt/plivo/bin/plivo start

Paso 4: Hola mundo

Ya tenemos todo listo ahora veámoslo en acción. El ejemplo a continuación está hecho echo en Python con Flask (un framework web) y hará que al llamar a sip:cualquiercosa@IP_de_nuestro_servidor:5080 se escuche «hello world» utilizando Text-To-Speech.

Esto tiene pinta de que me va a tener muy entretenido, ya iré posteando algo más a medida que lo vaya conociendo mejor.

3 thoughts on “Probando el framework de comunicaciones Plivo

  1. Buen trabajo amigo, para la gente que tamos en FS nos va ayudar bastante Plivo.

    Saludos.

    Fredy G.
    Lima – Peru

  2. hi,

    my plivo default installation path is usr/share/plivo.

    for example i have index.php application.

    where sould i put my application file.

    Any help would be greatly appreciated!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *