Post on 19-May-2015
description
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