Archivo de la etiqueta: FreeSWITCH

En ClueCon 2012

Con las prisas, preparativos, pereza y demás se me había pasado comentar que me encuentro en Chicago en la que podríamos denominar la conferencia de FreeSWITCH: ClueCon.

Nunca había estado en ClueCon anteriormente, y todo lo que he experimentado por el momento me esta gustando. Mucho. Me he reencontrado con gente que solo me encuentro en estos saraos, otra gente que no conocía personalmente, y en general hay muy buen ambiente.

Mañana daré una charla titulada “Bridging multimedia sessions between SIP and XMPP” en la que comentaré el trabajo que estado realizando durante los ultimos meses: un gateway de SIP a XMPP y viceversa con SylkServer.

Como siempre, la presentación estara disponible online en cuanto termine.

Espero ver mas caras conocidas el año que viene 😉

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.

TCAPI: un anillo para administrarlos a todos

Hace un par de días que me enteré de la exustencia de este curioso y a la vez interesante proyecto. TCAPI (Telehpony Configuration API) consiste en el desarrollo de un framework sobre el que desarrollar una interfaz de administración para cualquier softswitch, como Asterisk, FreeSWITCH, YATE, etc.

La idea es abstraer completamente el GUI de el software que haya por debajo, facilitando así el desarrollo de interfaces gráficas.

De momento el proyecto acaba de comenzar y ya hay algo de código disponible. Habrá que ver como evoluciona y si comienzan a surgir nuevas GUIs para Asterisk y demás basadas en este framework.

Podéis echar un vistazo al proyecto aquí.

sipX incorporará FreeSWITCH en su siguiente versión

Leo en la web oficial de FreeSWTICH, que la SIP Foundry ha anunciado que sipXecs incorporará un servidor de conferencias en siguiente versión y esto lo realizarán mediante FreeSWITCH.

Al parecer FreeSWITCH formará la infraestructura subyacente, y sipX incorporará una interfaz gráfica de usuario (GUI) amigable para su manejo.

Aquí podéis ver una imágen del asunto, y si queréis más información podéis leer el anuncio oficial.

conference.png

FreeSWITCH 1.0.0 released!!

Today is the day. Un día antes de lo que me esperaba, ya tenemos entre nosotros FreeSWITCH 1.0.0.0, la primera release, 3 años después de que comenzara el proyecto..

En los últimos tiempos ya comenté un par de cosas acerca de este software, que vengo siguiendo de cerca, y creo que puede ser muy interesante 😉

Si queréis probarlo, es tan fácil como seguir los pasos indicados aquí.

En freeswitch.org lo celebran con fuegos artificiales y todo xD

fireworks.jpg

FreeSWITCH vs Asterisk?

Acabo de leer un post en la web de FreeSWITCH en la que se autor, antiguo desarrollador de Asterisk ofrece las razones por las que se aventuró en crear FreeSITCH.

La verdad es que no tiene desperdicio, y aconsejo a todo usuario medio/avanzado o curioso de Asterisk que se lo lea, ya que aporta datos muy detallados de la arquitectura de Asterisk, y como él ha tratado de mejorarla en FreeSWITCH.

El artículo es algo largo, pero es interesante hasta la última coma. Por poner un ejemplo: en Asterisk el core no es independiente, hay código necesario disperso en módulos. Podéis probar a hacer una llamada sin tener el módulo res_features cargado y veréis 🙂 Además, Asterisk genera un solo thread por llamada, por lo que las transferencias son un infierno, ya que ocurre el ‘mágico’ ‘Channel Masquerading’, en el que los datos de un canal tienen que pasar de la memoria dinámica de un thread a otro… y todo esto sin que pase nada! 🙂

Aún es muy pronto para plantearse estas cosas, y tal como se menciona al final del post, Asterisk es una PBX y FreeSWITCH un SoftSwitch, pero: ¿estamos ante un serio competidor de Asterisk? Teniendo en cuenta que su creador conoce MUY bien Asterisk y lo que ha tratado de hacer con FreeSWITCH es mejorar su diseño, creo que habrá que vigilarlo de cerca 😉 Pero de momento vamos a esperar al 26 de Mayo, día en que se puclicará la versión 1.0 de FreeSWITC: ‘phoneix’. 

freeswitch.png

FreeSWITCH 1.0 rc2 released!

Hace no mucho que comenté que había sido liberada la versión 1.0 rc1 de este software, que promete mucho.

Pues bien, ya tenemos la rc2, po lo que cada vez esta más cerca la versión final 1.0, aunque como se puede leer en la web ya hay gente que tiene FreeSWITCH en producción 🙂

Podéis descargarlo aquí: http://files.freeswitch.org

Más información: http://freeswitch.org/node/111

freeswitch.png

FreeSWITCH 1.0 rc1 released!

Leyendo los feeds mientras desayuno, leo en el blog de Alberto que acaba de ser lanzada la primera Release Candidate de FreeSWITCH.

FreeSWITCH es un proyecto que sigo así de reojo, sobre todo viniendo de quien viene: Anthony Minessale (anthm). Así de primeras seguro que no os suena el nombre, pero si miráis el Hall of Fame del bugtracker de Digium podréis comprobar que esta el tercero… y no hace un commit desde hace 2 años! (desde que empezó con FreeSWITCH).

Así pues, FreeSWITCH me parece un proyecto serio y con futuro, esta muy documentado y tiene muchas características interesantes.

Tengo pendiente, si tengo tiempo algún día, de probarlo bastante, ya que se como he dicho tiene muy buena pinta. Si os animáis, tienen un Wiki muy completo, y también hay grupo de google FreeSWITCH-ES, donde hay unos cuantos nombre conocidos 🙂

¿Hay vida más allá de Asterisk?

freeswitch.png

Vía VoIP Novatos