De SIP a XMPP y vice versa
  Saúl Ibarra Corretgé | AG Projects
AG Projects
SIP Infrastructure Experts




                                          ¡Hola!


                        • Hola, soy Saúl
                        • @saghul
                        • The SIP Gentleman (TM)
                        • ¡Encantado de estar de vuelta en la 4K!
AG Projects
SIP Infrastructure Experts




                                  AG Projects

         • Infraestructura SIP            • Blink
                 para proveedores
                                          • SIP SIMPLE SDK
         • SIP Thor: plataforma
                 SIP con escalabilidad    • SylkServer
                 horizontal (P2P).
                                          • MediaProxy
         • Proyectos Open                 • OpenXCAP
                 Source
                                          • MSRPRelay
¿Cómo nos comunicamos?
          4
1. Llega un email
        5
2. Disponibilidad (presencia)
              6
3. Chat
   7
4. Audio / Video
       8
5. Otros participantes
          9
pero... ¿qué protocolo usamos?
AG Projects
SIP 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 Projects
SIP 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 Projects
                             Chat con SIP
SIP Infrastructure Experts
AG Projects
                             Presencia con SIP
SIP Infrastructure Experts
AG Projects
SIP 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 Projects
                             Chat con XMPP
SIP Infrastructure Experts
AG Projects
                             Presencia con XMPP
SIP Infrastructure Experts
AG Projects
SIP 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
¿SIP vs XMPP?
      22
SIP + XMPP

    23
AG Projects
SIP 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 Projects
SIP 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 Projects
SIP Infrastructure Experts




                                       SylkServer



                        • Servidor de aplicaciones SIP, Open Source
                        • ZeroConf
                        • Implementado utilizando SIP SIMPLE SDK
AG Projects
SIP Infrastructure Experts




                             SIP SIMPLE Client SDK
AG Projects
SIP Infrastructure Experts




                               SylkServer: Apliaciones



                        • Servidor de conferencias
                        • Gateway a XMPP
AG Projects
SIP Infrastructure Experts




                             SylkServer: Conferencias

                        • Audio en HD
                        • Chat
                        • Transferencia de ficheros
                        • Compartir escritorio
                        • Control (RFC 4575 y 4579)
AG Projects
SIP Infrastructure Experts




                             SylkServer: Gateway a XMPP



                        • Chat (SIP MESSAGE y MSRP)
                        • Chat en grupo (MUC)
                        • Presencia
AG Projects
SIP 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 Projects
SIP Infrastructure Experts
Problemas
AG Projects
SIP 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 Projects
SIP 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 Projects
SIP Infrastructure Experts
AG Projects
SIP Infrastructure Experts



                             BYE sip:audiencia@4KConf2012 SIP/2.0
                             Via: SIP/2.0/UDP
                             192.168.99.23:49919;rport;branch=z9hG4bKPjDb30Dx0sH7aM
                             Max-Forwards: 70
                             From: "saghul" <sip:saul@ag-projects.com>;tag=UCpGKVZbQQx7BUK
                             To: <sip:audiencia@4KConf2012>;tag=as59aef35c
                             Call-ID: DEWDfu63OACwYeQk7MrhmRhRq.1cqqis
                             CSeq: 10633 BYE
                             Route: <sip:81.23.228.129;lr;ftag=UCpGKVZbQQx7BUKY;did=641.a8a9c553>
                             User-Agent: Blink
                             Content-Length: 0




                                     saul@ag-projects.com                                @saghul

                                     sip:saul@ag-projects.com                            /dev/null

De SIP a XMPP y vice versa

  • 1.
    De SIP aXMPP y vice versa Saúl Ibarra Corretgé | AG Projects
  • 2.
    AG Projects SIP InfrastructureExperts ¡Hola! • Hola, soy Saúl • @saghul • The SIP Gentleman (TM) • ¡Encantado de estar de vuelta en la 4K!
  • 3.
    AG Projects SIP InfrastructureExperts AG Projects • Infraestructura SIP • Blink para proveedores • SIP SIMPLE SDK • SIP Thor: plataforma SIP con escalabilidad • SylkServer horizontal (P2P). • MediaProxy • Proyectos Open • OpenXCAP Source • MSRPRelay
  • 4.
  • 5.
    1. Llega unemail 5
  • 6.
  • 7.
  • 8.
    4. Audio /Video 8
  • 9.
  • 10.
  • 11.
    AG Projects SIP InfrastructureExperts Entendiendo SIP y XMPP • Protocolos para la negociación de sesiones, mensajería instantánea y presencia • Mismas características, distinto diseño
  • 12.
    AG Projects SIP InfrastructureExperts 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
  • 14.
    AG Projects Chat con SIP SIP Infrastructure Experts
  • 15.
    AG Projects Presencia con SIP SIP Infrastructure Experts
  • 16.
    AG Projects SIP InfrastructureExperts 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
  • 18.
    AG Projects Chat con XMPP SIP Infrastructure Experts
  • 19.
    AG Projects Presencia con XMPP SIP Infrastructure Experts
  • 20.
    AG Projects SIP InfrastructureExperts 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.
  • 23.
  • 24.
    AG Projects SIP InfrastructureExperts Combinando SIP y XMPP • Clientes dual-stack: CUSAX • draft-ivov-xmpp-cusax • Clientes con un solo stack: usar un gateway • Tiene que ser transparente
  • 25.
    AG Projects SIP InfrastructureExperts ¡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?
  • 27.
    AG Projects SIP InfrastructureExperts SylkServer • Servidor de aplicaciones SIP, Open Source • ZeroConf • Implementado utilizando SIP SIMPLE SDK
  • 28.
    AG Projects SIP InfrastructureExperts SIP SIMPLE Client SDK
  • 29.
    AG Projects SIP InfrastructureExperts SylkServer: Apliaciones • Servidor de conferencias • Gateway a XMPP
  • 30.
    AG Projects SIP InfrastructureExperts SylkServer: Conferencias • Audio en HD • Chat • Transferencia de ficheros • Compartir escritorio • Control (RFC 4575 y 4579)
  • 31.
    AG Projects SIP InfrastructureExperts SylkServer: Gateway a XMPP • Chat (SIP MESSAGE y MSRP) • Chat en grupo (MUC) • Presencia
  • 32.
    AG Projects SIP InfrastructureExperts 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
  • 33.
  • 34.
  • 35.
    AG Projects SIP InfrastructureExperts 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
  • 37.
    AG Projects SIP InfrastructureExperts Futuro • Los drafts de interoperabilidad SIP - XMPP van a ser retomados • Roadmap para SylkServer • Audio / video (Jingle) • Transferencia de ficheros
  • 39.
    Si vas enserio con un cliente SIP, construye también un servidor.
  • 40.
  • 41.
    AG Projects SIP InfrastructureExperts BYE sip:audiencia@4KConf2012 SIP/2.0 Via: SIP/2.0/UDP 192.168.99.23:49919;rport;branch=z9hG4bKPjDb30Dx0sH7aM Max-Forwards: 70 From: "saghul" <sip:saul@ag-projects.com>;tag=UCpGKVZbQQx7BUK To: <sip:audiencia@4KConf2012>;tag=as59aef35c Call-ID: DEWDfu63OACwYeQk7MrhmRhRq.1cqqis CSeq: 10633 BYE Route: <sip:81.23.228.129;lr;ftag=UCpGKVZbQQx7BUKY;did=641.a8a9c553> User-Agent: Blink Content-Length: 0 saul@ag-projects.com @saghul sip:saul@ag-projects.com /dev/null