Mi Brain-Training Personal

Para que no se me olviden las cosas…

¡Hola Jingle, soy SIP!

Hace apenas un par de semanas que lanzamos la nueva versión de SylkServer, la versión 2.4.0 que incluye soporte de Jingle.

Habiendo trabajado siempre con SIP ha sido muy refrescante haber podido trabajar en hacer un gateway SIP – XMPP que incluya chat, presencia y RTP. Y yo que siempre había pensado que Jingle era casi como SIP pero en XML… ;-) Como nota curiosa SylkServer utiliza el mismo motor RTP y ICE para SIP y para Jingle, a bajo nivel si que utilizan los mismos protocolos y hemos podido reutilizar grandes partes de código.

Ha sido un largo camino, que hubiera sido mucho más largo de no ser por la colaboración con el equipo de Jitsi, sobre todo en lo que a pruebas de interoperabilidad se refiere. Realmente fue algo mágico poder llamar desde Blink a Jitsi y que hubiera audio bidireccional :-)

Éste viernes 5 de abril vamos a presentar esta nueva versión en el VoIP Users Conference, una conferencia virtual que tiene lugar todos los viernes por la tarde y que será retransmitida por Google Hangouts, pasáos por http://vuc.me, ¡yo allí estaré!

 

sylk-server-diagram

FOSDEM: SIP is hard, let’s go shopping!

Otra de transparencias. En esta ocasión de la charla “SIP is hard, let’s go shopping!“. En ella trato de explicar en un tono distendido qué problemas tiene SIP y cómo podemos inspirarnos en otros protocolos para obtener algo mejor.

Nos os la toméis demasiado en serio ;-)



FOSDEM: Challenges in XMPP and SIP interoperability

La pasada semana estuve en el XMPP Summit y el FOSDEM, como he comentado antes, y tuve la oportunidad de relacionarme con la gente de XMPP y aprender cómo y porqué algunas decisiones fueron tomadas en el protocolo. Fueron unos días muy productivos, ya que al parecer hay suficiente interés como para resucitar los drafts relativos a la interoperabilidad de SIP y XMPP que no han sido actualizados desde el 2008.

Durante el FOSDEM dí una presentación en la Jabber Devroom acerca de la interoperabilidad entre XMPP y SIP, enfocada desde el lado de XMPP y con mucho detalle en los problemas encontrados y las soluciones adoptadas: “Challenges in XMPP and SIP interoperability”. Aquí las transparencias:



Me llevé un muy buen sabor de boca y espero poder colaborar más de cerca para que los actuales drafts lleguen a RFC y los gateways SIP – XMPP tengan un comportamiento uniforme :-)

4KConference: De SIP a XMPP y vice versa

Con algo de retraso pero aquí van las transparencias de la presentación que dí el pasado diciembre en Colombia con motivo de la 4KConference: “De SIP a XMPP y vice versa”



Aunque ya se lo comenté en persona, me gustaría reiterar aquí lo encantado que estuve con la organización del evento, que dicho sea de paso, tuve el honor de cerrar. ¡Todo salió a la perfección! Es para mi un orgullo formar parte de ésta gran comunidad de usuarios y entusiastas de VoIP, SIP y lo que se nos ponga por delante. Espero poder estar de nuevo en la 4K, donde sea que toque éste año :-)

 

XMPP Summit y FOSDEM, ¡allá vamos!

Empieza la temporada 2013. El primer evento del año suele ser el FOSDEM, que además de encantarme como evento en sí, está cerca de casa :-) Además del FOSDEM, este año voy a asistir al XMPP Summit, que tiene lugar los dos días antes del FOSDEM, y es también en Bruselas.

El XMPP Summit es un encuentro de desarrolladores que de una manera u otra utilizan XMPP, para intercambiar ideas acerca del protocolo, los diversos XEPs y demás. Ya que me he pasado la mayor parte del 2012 trabajando en el gateway XMPP – SIP con SylkServer era una oportunidad que no me podía perder. ¿Lo mejor de todo? No hay intereses comerciales y la asistencia es totalmente gratuita.

 

Y después, ¡al FOSDEM! Éste año vuelve a haber Telephony Devroom así que por allí andadre contando historias :-) Me calenté un poco a mandar propuestas en el call for papers, y al final doy 4 charlas entre los dos días. Challenge accepted.

 

Plivo lanza un SDK utilizando WebRTC y SIP… ¡con JsSIP!

Hace un tiempo que comenté en qué consiste Plivo y cómo utilizarlo. Básicamente, es un framework de comunicaciones basado en FreeSWITCH, que además de estar disponible bajo una licencia libre proporciona un servicio in the cloud.

Parece que Plivo ha suscitado bastante interés, hasta el punto de recibir 1.75 millones de dolares de capital riesgo.

La semana pasada Plivo lanzó su nuevo SDK utilizando SIP y WebRTC, y como persona curiosa que soy tuve que echar un vistazo a su código minificado, que gracias a Chrome se puede deofuscar un poco:

Fue toda una sorpresa descubrir que para la señalización el SDK de Plivo¡ utiliza JsSIP! Su SDK añade soporte de flash para los casos en los que WebRTC no esté disponible, pero la señalización es 100% JsSIP.

Desde aquí mi más sincera enhorabuena a José Luis e Iñaki por todo el buen trabajo y a Plivo por el lanzamiento.

HowTo: Compilar Asterisk 11 en la Raspberry Pi

En la 4KConference (si, ya se que tengo un post pendiente) los chicos de PaloSanto (¡gracias Paul y Edgar!) me regalaron una Raspberry Pi, así que en cuanto he tenido tiempo de meterle mano lo primero que he hecho es instalarle un Asterisk :-) Veamos cómo.

Voy a asumir que tenéis instalado Raspbian en vuestra pi. Al primero que pregunte cómo instalar CentOS le corto una mano.

0. Descargar el código fuente

Vamos a compilar Asterisk 11 del branch de subversion, nada de esperar a un release :-)

cd /usr/src
svn checkout http://svn.asterisk.org/svn/asterisk/branches/11 asterisk-11
cd asterisk-11

 

1. Instalar dependencias

Para poder compilar Asterisk necesitamos instalar las dependencias necesarias primero. He incluído iksemel, para que así de compile el nuevo chan_motif (a ver si le dedico un post).

apt-get install libncurses5-dev libsqlite3-dev libssl-dev libiksemel-dev

 

2. ./configure y selección de módulos

Tras un par de intentos fallidos y problemas en el linkado de libasteriskssl.so, conseguí que el proceso funcionara de la siguente manera:

./configure --disable-xmldoc --disable-asteriskssl

 

Lo importante es el –disable-asteriskssl. No, no deshabilita SSL en Asterisk. Lo que hace es no compilar un wrapper que Asterisk utiliza (desde su versión 10, creo) para evitar problemas con otras aplicaciones que también usan OpenSSL. Como estamos experimentando no hay problema.

Cuando finalice, lanzamos el menuselect y seleccionamos los módulos que deseemos compilar:

make menuselect

 

3. Compilación e instalación

Ya solo nos queda compilar e instalar:

make
make install
make samples

 

El proceso de compilación dura unos 45 minutos, así que tómatelo con calma ;-)

 

4. ¡A jugar!

Una vez hemos terminado Asterisk debería funcionar correctamente (aunque el core show translation da un poco de miedo), así que ¡a jugar!

Guadalux OpenWebinars

Manuel Agudo me ha comentado una interesante iniciativa levada a cabo por la Fundación Guadalux que me gustaría compartir por aquí: OpenWebinars.

OpenWebinars es una iniciativa gracias a la que cualquiera puede disfrutar de un webinar gratuíto sobre Software Libre cada semana. Su objetivo es divulgar el uso del Software Libre en el entorno profesional y de momento ya han hecho uno sobre Asterisk y VoIP, el siguiente será sobre gestión documental con Alfresco (aún estáis a tiempo, es mañana) y el siguiente sobre virtualización.

Como usuario y desarrollador de software libre, me ha encantado la iniciativa, espero que muchos os animéis a seguirlos y descubrir software interesante, y lo mejor de todo: libre.

 

 

Lector de RFCs para OSX

Los que solemos leer bastantes RFCs sabemos que el modo texto no es precisamente el más ideal para leerlos así que normalmente usamos la versión en HTML, que además tiene links.

Hace años que descubrí qRFCView, una pequeña aplicación hecha con C++ y Qt que permite cargar RFCs, cambiar la fuente, y disponer de un índice que facilite navegar por el documento. Desafortunadamente la aplicación se dejó de mantener y solo funcionaba en Windows y GNU/Linux.

Necesitaba usarla en OSX así que hace unos meses decidí echar un vistazo al código y ver si lo podía adaptar al look & feel de OSX. No tengo ni idea de C++, pero algo de Qt sí, así que tras jugar un poco éste fue el resultado:

Antes:

Después:

El código está disponible en GitHub y la sección de descargas contiene binarios listos para su instalación en OSX >= 10.6. Espero que os guste :-)

 

Utiliza tu propio dominio con el servicio SIP2SIP.info

Hoy os quiero hablar de un nuevo servicio que hemos lanzado hace poco en AG Projects: la posibilidad de utilizar todos los servicios que ofrece SIP2SIP.info con tu propio dominio.

SIP2SIP es un servicio gratuito que provee la infraestrucutra necesaria con soporte para SIP, MSRP (chat, transferencia de ficheros), NAT traversal (ICE), presencia SIMPLE (incluído XCAP) y multiconferencias de audio y chat. Utiliza la infraestructura SIPThor que desplegamos en nuestros clientes y que nos permite escalar el serivicio de manera horizontal.

Pues bien, ahora podéis disfrutar de todos estos servicios bajo vuestro propio dominio de manera gratuita.

Si tenéis vuestro propio dominio y con 5 cuentas (es el límite) os es suficiente, éste servicio os podría resultar interesante ya que así podéis decir a todo el mundo que os llame a vuestro correo electrónico, como venimos recomendando desde hace mucho tiempo.

Para ello basta con seguir unos sencillos pasos. En éste ejemplo voy a delegar la zona DNS saghul.net a la infraestructura de SIPThor. La razón es que GoDaddy (mi DNS registrar) no me permite crear registros DNS de tipo NAPTR (y eso que estamos en 2012…).

En caso de que ya tengáis vuestro propio servidor DNS solo tenéis que crear los registros correspondientes que vienen detallados aquí y saltar al paso 4.

 

1. Crear una cuenta de usuario

Para ello nos dirigimos aquí, y una vez nos hayamos registrado y hecho login llegaremos a esta ventana:

 

 

2. Crear la zona DNS

Rellenamos nuestro dominio y hacemos click en add.

 

3. Crear los registros DNS adecuados

Para hacer esta operación lo más sencilla posible hemos creado un template con todos los registros necesarios, basta con seleccionar “SIP2SIP infrastructure” en el campo type al crear los registros DNS.

 

 

4. Crear el dominio SIP

En la pestaña SIP, añadimos nuestro dominio.

 

5. Crear cuentas SIP (hasta 5)

Seleccionando la opción SIP accounts podemos crear hasta 5 cuentas SIP.

 

6. Molar!

Listo, ya hemos creado una cuenta SIP en nuestro propio dominio, con el servicio SIP2SIP. Al hacer click sobre la cuenta se abre una nueva ventana donde es posible configurar distintos aspectos de la misma.

 

¡Eso es todo! Ya podéis empezar a llamar por SIP y utilizar MSRP sin necesidad de instalar ningún tipo de servidor, espero que os guste :-)

PD: La cuenta que he creado, sip:s@saghul.net es real, pero solo contesto si es un chat con MSRP ;-)