Archivo de la etiqueta: SIP

VoIP2day 2015: Extendiendo SIP con WebRTC

Como todos los años desde el 2007, he tenido la suerte de asistir al VoIP2day y ademas dar una presentación. Me encanta poder asistir para reencontrarme con viejos amigos, ver a que estamos jugando cada uno, y conocer gente nueva de nuestro pequeño mundillo.

En esta ocasión he presentado “Extendiendo SIP con WebRTC”, en la que he explorado la forma en la que utilizamos WebRTC en AG Projects para extender cualquier infraestructura SIP, utilizando SylkServer.


¡Espero que os sirva!

ElastixWorld 2015: De SIP a WebRTC y vice versa

Si, si hace un mes del tema, ¡lo se! Pero he estado de vacaciones hasta el pasado domingo 🙂

El ElastixWorld 2015 ha sido increíble, como de costumbre, estos chicos consiguen seguir superándose año a año. No voy a poder comentarlo tan elocuentemente como Elio lo ha hecho en su blog, asi que mejor vais allí a leer todo sobre como fue el ElastixWorld 2015.

A continuación os dejo mi presentación “De SIP a WebRTC y vice versa”. En ella comente cual es nuestra idea sobre WebRTC y como aplicarlo en redes SIP tradiciones. Presentamos SylkServer 3, que incluye un gateway a WebRTC.


Podéis leer mas acerca del gateway aquí, y probarlo directamente con una cuenta de SIP2SIP aquí.

¡Nos vemos en Buenos Aires para el ElastixWorld 2016!

SylkServer 3.0.0 disponible, con gateway WebRTC!

Wow, hace casi un año que no escribo por aquí. Tras las labores de mantenimiento correspondientes y pasar a utilizar un theme algo mas minimalista, vamos al grano.

Ayer lanzamos SylkServer 3.0.0, una nueva versión de SylkServer, el servidor de aplicaciones SIP que desarrollamos en AG Projects. La funcionalidad principal que trae la version 3.0.0 es la capacidad de funcionar como un gateway a WebRTC.

En este post vamos a explorar un poco esta nueva versión, instalándola en una maquina virtual o servidor, hasta llegar al punto donde podamos realizar una llamada desde nuestro navegador a un dispositivo SIP de la vieja escuela.

Paso 1: requisitos previos

Lo primero que necesitamos en un sistema en el que instalar SylkServer. Yo voy a basarme en una Debian Jessie.

Una vez nuestro sistema esta instalado / actualizado, tenemos que anyadir los repositorios de AG Projects, siguiendo las instrucciones que se indican aquí.

Paso 2: instalación

Una vez tengamos los repositorios en nuestro sistema, instalaremos un par de paquetes, y el sistema de dependencias se encargará del resto:

sudo apt-get update
sudo apt-get install sylkserver sylkserver-webrtc-gateway

Paso 3: ejecución

Arrancamos los servicios de Janus y SylkServer:

sudo systemctl restart sylkserver
sudo systemctl restart janus

Consultamos syslog para ver que todo se haya arrancado correctamente:

Sep  4 12:11:22 debian-stable sylk-server[10031]: Starting SylkServer 3.0.0, with no configuration file
Sep  4 12:11:22 debian-stable sylk-server[10031]: Using SIP SIMPLE SDK version 2.5.1
Sep  4 12:11:24 debian-stable sylk-server[10031]: SylkServer started, listening on:
Sep  4 12:11:24 debian-stable sylk-server[10031]: 192.168.99.36:5060 (UDP)
Sep  4 12:11:24 debian-stable sylk-server[10031]: 192.168.99.36:5060 (TCP)
Sep  4 12:11:24 debian-stable sylk-server[10031]: 192.168.99.36:5061 (TLS)
Sep  4 12:11:24 debian-stable sylk-server[10031]: Site (TLS) starting on 10888
Sep  4 12:11:24 debian-stable sylk-server[10031]: Web server listening for requests on: https://192.168.99.36:10888
Sep  4 12:11:24 debian-stable sylk-server[10031]: warning: Error loading builtin "sylk.applications.xmppgateway" application: No module named wokkel.disco
Sep  4 12:11:24 debian-stable sylk-server[10031]: Loaded applications: conference, webrtcgateway, playback, echo, ircconference
Sep  4 12:11:24 debian-stable sylk-server[10031]: Default application: conference
Sep  4 12:11:24 debian-stable sylk-server[10031]: Application map:
Sep  4 12:11:24 debian-stable sylk-server[10031]: * echo:
Sep  4 12:11:24 debian-stable sylk-server[10031]: - echo
Sep  4 12:11:24 debian-stable sylk-server[10031]: [webrtcgateway] WebSocket handler started at wss://192.168.99.36:10888/webrtcgateway/ws
Sep  4 12:11:24 debian-stable sylk-server[10031]: [webrtcgateway] Allowed web origins: *
Sep  4 12:11:24 debian-stable sylk-server[10031]: [webrtcgateway] Allowed SIP domains: *
Sep  4 12:11:24 debian-stable sylk-server[10031]: [webrtcgateway] Using Janus API: ws://127.0.0.1:8188
Sep  4 12:11:24 debian-stable sylk-server[10031]: [webrtcgateway] Janus backend connection up

Paso 4: prueba

En el paso anterior hemos visto que SylkServer ha arrancado su servidor web en el puerto 10888:

Web server listening for requests on: https://192.168.99.36:10888

Asi que dirigimos el navegador a https://IP-del-servidor:10888/webrtcgateway/ y veremos la siguiente web:

Screenshot 2015-09-04 12.28.56

Al hacer click en el link “SylkRTC Test suite” se mostrará la pagina de prueba desde la que poder registrarnos y hacer llamadas:

Screenshot 2015-09-04 12.29.12

Rellenamos nuestros datos y llamamos al 3333@sip2sip.info para probar…

Screenshot 2015-09-04 12.30.14

Yeah!


 

Supongo que os surgirán algunas dudas de configuración y demás. Hay varias cosas que se pueden configurar en el fichero webrtcgateway.ini, pero una de nuestras decisiones de diseño con SylkServer es zeroconf, es decir, que el software funcione diréctamente sin configurar nada.

Para mas información, podéis consultar la web de SylkServer, el wiki con la documantación del API, o probar Blink for Web con vuestra cuenta de SIP2SIP.

Screenshot 2015-09-04 12.30.27

Open Pi Phone en el VoIP2day + Webinar

La semana pasada tuvo lugar el VoIP2day, cita oficial de profesinales y frikis de la VoIP. Nos juntamos los de siempre, pero ví algunas caras nuevas y buen contenido, espero que el evento siga mejorando 🙂

Tuve la ocasión de dar una charla titulada “Proyecto Open Pi Phone” en la que presenté una revisión de OP^2, que incluye nuevo hardware y una nueva versión del software. El software ya se encuentra disponible en la web del proyecto.

Esta es la pinta que tenía la nueva versión:

op2-spoiler

Y aqui os dejo las dispos:


Si tenéis especial interés en escucharme contarlo, mañana Jueves 16 de Octubre voy a impartir un webinar a traves de OpenWebinars, a las 19:00 CET.

SIP2SIP: SIP gratis para las masas

Hace unos pocos días tuve la oportunidad de participar nuevamente en el voip2day, con la charla “SIP2SIP: SIP gratis para las masas”.

El evento fue increíble, ¡sin duda la mejor edición hasta la fecha! Pude reencontrarme con antiguos amigos, hacer nuevos y desvirtualizar a otros cuantos 🙂

Muchas gracias a los organizadores y sponsors por seguir trabajando en hacer un voip2day mejor cada año.

Aquí os dejo mi presentación, para los que pudierais asistir:


¡Nos vemos el año que viene!

 

ElastixWorld: OpenSIPS Workshop

Además de nuestras respectivas presentaciones, Adrian y yo tuvimos la ocasión de impartir un workshop sobre OpenSIPS.

OpenSIPS no es precisamente fácil de aprender, ya que ofrece control a muy bajo nivel, por lo que nos esperábamos una asistencia bastante reducida. Cual fue nuestra sorpresa cuando vimos que no paraba de venir gente y que muchos incluso estaban de pie escuchando, ¡gracias a todos los asistentes!

opensips_workshop

Para los que no pudieron estar, aquí está la presentación que utilizamos, en la que comentamos algunas buenas prácticas para la administración de OpenSIPS, seguridad, etc.


De nuevo, gracias a todos los asistentes y a la organización, ¡el año que viene habrá más!

ACTUALIZACIÓN: Gracias a Eternal por grabar el vídeo, aqúi lo tenéis en YouTube:

ElastixWorld: Proyecto Open Pi Phone

Acaba de terminal la edición de 2013 de ElastixWorld y no podría estar más contento (ni más cansado), el evento ha sido increíble y la respuesta a las presentaciones que he tenido la oportunidad de compartir ha sido abrumadora.

Ayer prenseté el proyecto en el que he estado trabajando junto a mi compañero de trabajo Tijmen: Proyecto OP^2: Open Pi Phone.

El proyecto Open Pi Phone ha consistido en el desarrollo de un firmware basado en Debian para dispositivos embebidos con el que poder hacer un terminal SIP hardware. El primer prototipo lo hemos llamado Falcon y está basado en una placa Raspberry Pi, con un diseño un tanto peculiar 😉

El código esta disponible en GitHub.

Aqui tenéis las transparencias:


El prototipo Falcon en acción:

Y por ultimo, el video de presentación:

Espero volver a acudir el año que viene, si no habéis estado en ElastixWorld anteriormente id buscando una excusa para ir en 2014 🙂

De SIP a XMPP… pasando por la IETF

Como muchos sabréis he estado trabajando en un gateway de SIP a XMPP (y vice versa) desde hace un par de años. El gateway forma parte de SylkServer y he tenido la oportunidad de presentarlo en diversas ocasiones, a medida que el proyecto ha ido madurando.

Para poder implementar este gateway, nos basamos en los drafts escritos por Peter Saint-Andre y publicados en 2008, aunque no hubieran sido actualizados. Al no haber sido actualizados, había muchos casos no contemplados o especificados, por lo que tuvimos que ser creativos, y rellenar los huecos.

Una vez tuvimos el gateway funcionando para chat y presencia, acudimos al XMPP Summit y tuvimos la oportunidad de reunirnos con Peter, transmitirle nuestro feedback y las ganas de “resucitar” esos drafts. Ya que algunos de ellos necesitaban bastante trabajo, Peter me ofreció ser coautor de los drafts: el de chat en grupo y el de media. Por supuesto, acepté 🙂

Rápidamente se formó el grupo de trabajo STOX, con el objetivo de llevar esos documentos desde el estado de draft a RFC. He tenido la oportunidad de estar presente durante toda esta semana en la IETF 87 en Berlin, donde nos hemos podido reunir y discutir los problemas pendientes y los pasos necesarios para seguir adelante.

ietf-small

Es la primera vez que vengo a la IETF, y estoy encantado de haber podido venir 🙂 Una semana entera hablando de protocolos, problemas, soluciones, … donde además, si hay código funcional se tiene muy en cuenta, algo que yo desconocía.

ietf-badge

Todavía hay bastante trabajo que hacer, pero espero que en unos meses todos esos documentos sean RFCs.

¡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