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.
Buen trabajo amigo, para la gente que tamos en FS nos va ayudar bastante Plivo.
Saludos.
Fredy G.
Lima – Peru
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!