De SIP a XMPP y vice versa

Preview:

DESCRIPTION

Slides (in Spanish) from the talk I gave at 4KConference in Colombia in 2012 about SIP and XMPP interoperability and how we built the SIP-XMPP gateway functionality into SylkServer.

Citation preview

De SIP a XMPP y vice versaSaúl Ibarra Corretgé | AG Projects

AG ProjectsSIP Infrastructure Experts

¡Hola!

• Hola, soy Saúl

• @saghul

• The SIP Gentleman (TM)

• ¡Encantado de estar de vuelta en la 4K!

AG ProjectsSIP Infrastructure Experts

• Infraestructura SIP para proveedores

• SIP Thor: plataforma SIP con escalabilidad horizontal (P2P).

• Proyectos Open Source

• Blink

• SIP SIMPLE SDK

• SylkServer

• MediaProxy

• OpenXCAP

• MSRPRelay

AG Projects

4

¿Cómo nos comunicamos?

5

1. Llega un email

6

2. Disponibilidad (presencia)

7

3. Chat

8

4. Audio / Video

9

5. Otros participantes

pero... ¿qué protocolo usamos?

AG ProjectsSIP Infrastructure Experts

Entendiendo SIP y XMPP

• Protocolos para la negociación de sesiones, mensajería instantánea y presencia

• Mismas características, distinto diseño

AG ProjectsSIP Infrastructure Experts

SIP

• Session Initiation Protocol

• Especificación (RFC 3261) en 2002

• Ideado para el establecimiento de sesiones multimedia, se utiliza principalmente para audio, video y conferencias

• Diseñado para fat clients y thin servers

AG ProjectsSIP Infrastructure Experts

Chat con SIP

AG ProjectsSIP Infrastructure Experts

Presencia con SIP

AG ProjectsSIP Infrastructure Experts

XMPP

• eXtensible Messaging and Presence Protocol

• Creado por la comunidad Jabber en 1999, estandarizado en 2004 y actualizado en 2011

• Ideado para mensajería instantánea y presencia, con mucha extensibilidad

• Diseñado para fat servers y thin clients

AG ProjectsSIP Infrastructure Experts

Chat con XMPP

AG ProjectsSIP Infrastructure Experts

Presencia con XMPP

AG ProjectsSIP Infrastructure Experts

Realtime Communications:Estado del Arte

• SIP utilizado para audio, video, conferencias y PSTN

• XMPP utilizado para chat y presencia

• Ambos coexistirán en los navegadores gracias a WebSocket y WebRTC

22

¿SIP vs XMPP?

23

SIP + XMPP

AG ProjectsSIP Infrastructure Experts

Combinando SIP y XMPP

• Clientes dual-stack: CUSAX

• draft-ivov-xmpp-cusax

• Clientes con un solo stack: usar un gateway

• Tiene que ser transparente

AG ProjectsSIP Infrastructure Experts

¡Un solo stack!

• Abstraer demasiado un protocolo puede acarrear problemas y/o limitaciones

• Configuración más sencilla

• SIP y XMPP son diferentes por diseño, ¿cómo los unificamos?

AG ProjectsSIP Infrastructure Experts

SylkServer

• Servidor de aplicaciones SIP, Open Source

•ZeroConf

• Implementado utilizando SIP SIMPLE SDK

AG ProjectsSIP Infrastructure Experts

SIP SIMPLE Client SDK

AG ProjectsSIP Infrastructure Experts

SylkServer: Apliaciones

• Servidor de conferencias

• Gateway a XMPP

AG ProjectsSIP Infrastructure Experts

SylkServer: Conferencias

• Audio en HD

• Chat

• Transferencia de ficheros

• Compartir escritorio

• Control (RFC 4575 y 4579)

AG ProjectsSIP Infrastructure Experts

SylkServer: Gateway a XMPP

• Chat (SIP MESSAGE y MSRP)

• Chat en grupo (MUC)

• Presencia

AG ProjectsSIP Infrastructure Experts

SylkServer: diseño del gateway XMPP

• SylkServer actua como un servidor XMPP

• Sólo soporta conexiones S2S

• Los usuarios están del lado SIP, los clientes XMPP no se pueden registrar en SylkServer

AG ProjectsSIP Infrastructure Experts

Problemas

AG ProjectsSIP Infrastructure Experts

Retos en la implementación

• Servidor XMPP vs componente XMPP

• Especificaciones incompletas y/o ambiguas

• Diferencia de conceptos

• Sesiones XMPP

• SIP PIDF vs presence stanza de XMPP

• Diferencia de características

• Conferencias SIP vs chat en grupo XMPP

AG ProjectsSIP Infrastructure Experts

Futuro

• Los drafts de interoperabilidad SIP - XMPP van a ser retomados

• Roadmap para SylkServer

• Audio / video (Jingle)

• Transferencia de ficheros

Si vas en serio con un cliente SIP, construye también un servidor.

AG ProjectsSIP Infrastructure Experts

AG ProjectsSIP Infrastructure Experts

@saghulsaul@ag-projects.com

sip:saul@ag-projects.com

BYE sip:audiencia@4KConf2012 SIP/2.0Via: SIP/2.0/UDP 192.168.99.23:49919;rport;branch=z9hG4bKPjDb30Dx0sH7aMMax-Forwards: 70From: "saghul" <sip:saul@ag-projects.com>;tag=UCpGKVZbQQx7BUKTo: <sip:audiencia@4KConf2012>;tag=as59aef35cCall-ID: DEWDfu63OACwYeQk7MrhmRhRq.1cqqisCSeq: 10633 BYERoute: <sip:81.23.228.129;lr;ftag=UCpGKVZbQQx7BUKY;did=641.a8a9c553>User-Agent: BlinkContent-Length: 0

/dev/null

Recommended