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