SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Bridging multimedia sessions
         between SIP and XMPP
                           Saúl Ibarra Corretgé | AG Projects
Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                                            Intro

                        • Hi, I’m Saúl
                        • @saghul
                        • Working with VoIP (and beyond!) since
                             Asterisk 1.0
                        • Happy to be at ClueCon!

Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                                  AG Projects

         • SIP Infrastructure             • Blink
                 Experts
                                          • SIP SIMPLE SDK
         • SIP Thor: SIP platform
                 with P2P capabilities    • SylkServer
                 for horizontal
                 scalability              • MediaProxy
         • Open Source Software           • OpenXCAP
                 Projects
                                          • MSRPRelay
Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                                       Understanding
                                       SIP and XMPP


                        • Protocols for negotiation of multimedia
                             sessions, instant messaging and presence
                        • Same feature set, different design principles


Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                                               SIP

                        • Session Initiation Protocol
                        • Current specification (RFC 3261) in 2002
                        • Built for establishing multimedia sessions,
                             mainly used in voice, video and
                             conferencing
                        • Designed to have fat clients and thin
                             servers


Thursday, August 9, 2012
Thursday, August 9, 2012
AG Projects
                             IM with SIP
SIP Infrastructure Experts




Thursday, August 9, 2012
AG Projects
                             Presence with SIP
SIP Infrastructure Experts




Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                                             XMPP
                        • eXtensible Messaging and Presence
                             Protocol
                        • Created by the Jabber community in 1999,
                             standardized in 2004 and updated in 2011
                        • Built for instant messaging and presence,
                             with extensibility in mind
                        • Designed to have fat servers and thin
                             clients

Thursday, August 9, 2012
Thursday, August 9, 2012
AG Projects
                             IM with XMPP
SIP Infrastructure Experts




Thursday, August 9, 2012
AG Projects
                             Presence with XMPP
SIP Infrastructure Experts




Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts



                                Realtime Communications:
                                      State of The Art
                        • SIP used for voice, video, conferencing and
                             PSTN interoperability
                        • XMPP used for instant messaging and
                             presence
                        • Ongoing efforts to bring both to web  Google

                             browsers through WebSocket transport for
                                                                Facebook

                                                                ^^ BIG XMPP players
                             use with WebRTC


Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                             Combining SIP and XMPP


                        • Dual-stack clients: CUSAX
                         • draft-ivov-xmpp-cusax
                        • Single-stack clients: use a gateway
                         • It must be transparent

Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                                     Going single stack


                        • Protocol abstractions can lead to problems
                             and limitations
                        • Simpler provisioning
                        • SIP and XMPP are different by design, how
                             to marry them?



Thursday, August 9, 2012
Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                                      SylkServer


                        • Open Source SIP Application server
                        • Zero configuration
                        • State-of-the-art SIP feature set
                        • Implemented using SIP SIMPLE SDK

Thursday, August 9, 2012
AG Projects
                             SylkServer Architecture
SIP Infrastructure Experts




Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                              SylkServer: Applications



                        • Conference server
                        • XMPP gateway


Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                             SylkServer: Conferencing

                        • HD audio
                        • MSRP chat
                        • Participants list (RFC 4575)
                        • Conference control (RFC 4579)
                        • File transfer
                        • Screen sharing
Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                             SylkServer: XMPP gateway



                        • Chat (SIP MESSAGE and MSRP)
                        • Presence
                        • MUC server


Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                             SylkServer: XMPP gateway design


                        • SylkServer acts as a stand-alone XMPP
                              Server

                        • It only supports S2S connections
                        • Users are on the SIP side, no XMPP clients
                              allowed to register on SylkServer   ZERO conf!




Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts


             SylkServer: XMPP gateway architecture




Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                             Implementation challenges

                        • XMPP server vs XMPP component
                        • Loose / incomplete specifications
                        • Concept mismatch
                         • XMPP “sessions”
                         • SIP PIDF vs XMPP presence stanza
                        • Different feature set
                         • SIP conferencing vs MUC
Thursday, August 9, 2012
Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




                                            Future

                        • IETF is considering resurrecting the
                             SIP-XMPP interoperability drafts!
                        • SylkServer roadmap
                         • Jingle
                         • File transfer

Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts




Thursday, August 9, 2012
AG Projects
SIP Infrastructure Experts

                     BYE sip:audience@ClueCon2012 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:audience@ClueCon2012>;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


                                            @saghul


                                            saul@ag-projects.com


                                            sip:saul@ag-projects.com

Thursday, August 9, 2012

Mais conteúdo relacionado

Destaque

Destaque (19)

OpenSIPS Workshop
OpenSIPS WorkshopOpenSIPS Workshop
OpenSIPS Workshop
 
Extendiendo SIP con WebRTC
Extendiendo SIP con WebRTCExtendiendo SIP con WebRTC
Extendiendo SIP con WebRTC
 
Proyecto Open Pi Phone
Proyecto Open Pi PhoneProyecto Open Pi Phone
Proyecto Open Pi Phone
 
De SIP a WebRTC y vice versa
De SIP a WebRTC y vice versaDe SIP a WebRTC y vice versa
De SIP a WebRTC y vice versa
 
Videoconferencias: el santo grial de WebRTC
Videoconferencias: el santo grial de WebRTCVideoconferencias: el santo grial de WebRTC
Videoconferencias: el santo grial de WebRTC
 
SIP Beyond VoIP
SIP Beyond VoIPSIP Beyond VoIP
SIP Beyond VoIP
 
SIP2SIP: SIP gratis para las masas
SIP2SIP: SIP gratis para las masasSIP2SIP: SIP gratis para las masas
SIP2SIP: SIP gratis para las masas
 
SIP is hard, let's go shopping!
SIP is hard, let's go shopping!SIP is hard, let's go shopping!
SIP is hard, let's go shopping!
 
Blink: SIP conferencing done right
Blink: SIP conferencing done rightBlink: SIP conferencing done right
Blink: SIP conferencing done right
 
Developing rich SIP applications with SIPSIMPLE SDK
Developing rich SIP applications with SIPSIMPLE SDKDeveloping rich SIP applications with SIPSIMPLE SDK
Developing rich SIP applications with SIPSIMPLE SDK
 
CDRTool: CDR mediation and rating engine for OpenSIPS
CDRTool: CDR mediation and rating engine for OpenSIPSCDRTool: CDR mediation and rating engine for OpenSIPS
CDRTool: CDR mediation and rating engine for OpenSIPS
 
Trust No One
Trust No OneTrust No One
Trust No One
 
Planning libuv v2
Planning libuv v2Planning libuv v2
Planning libuv v2
 
Python, WebRTC and You (v2)
Python, WebRTC and You (v2)Python, WebRTC and You (v2)
Python, WebRTC and You (v2)
 
The Future of the PBX
The Future of the PBXThe Future of the PBX
The Future of the PBX
 
Building an Open Source VoIP Hardware Phone
Building an Open Source VoIP Hardware PhoneBuilding an Open Source VoIP Hardware Phone
Building an Open Source VoIP Hardware Phone
 
libuv, NodeJS and everything in between
libuv, NodeJS and everything in betweenlibuv, NodeJS and everything in between
libuv, NodeJS and everything in between
 
WebRTC enabling your OpenSIPS infrastructure
WebRTC enabling your OpenSIPS infrastructureWebRTC enabling your OpenSIPS infrastructure
WebRTC enabling your OpenSIPS infrastructure
 
SIP más allá de la VoIP
SIP más allá de la VoIPSIP más allá de la VoIP
SIP más allá de la VoIP
 

Mais de Saúl Ibarra Corretgé

Mais de Saúl Ibarra Corretgé (20)

JanusCon 2024: Mom there are robots in my meeting
JanusCon 2024: Mom there are robots in my meetingJanusCon 2024: Mom there are robots in my meeting
JanusCon 2024: Mom there are robots in my meeting
 
Challenges running Jitsi Meet at scale during the pandemic
Challenges running Jitsi Meet at scale during the pandemicChallenges running Jitsi Meet at scale during the pandemic
Challenges running Jitsi Meet at scale during the pandemic
 
The Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi MeetThe Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi Meet
 
Jitsi: State of the Union 2020
Jitsi: State of the Union 2020Jitsi: State of the Union 2020
Jitsi: State of the Union 2020
 
Jitsi Meet: our tale of blood, sweat, tears and love
Jitsi Meet: our tale of blood, sweat, tears and loveJitsi Meet: our tale of blood, sweat, tears and love
Jitsi Meet: our tale of blood, sweat, tears and love
 
Jitsi Meet: Video conferencing for the privacy minded
Jitsi Meet: Video conferencing for the privacy mindedJitsi Meet: Video conferencing for the privacy minded
Jitsi Meet: Video conferencing for the privacy minded
 
Jitsi - Estado de la unión 2019
Jitsi - Estado de la unión 2019Jitsi - Estado de la unión 2019
Jitsi - Estado de la unión 2019
 
Get a room! Spot: the ultimate physical meeting room experience
Get a room! Spot: the ultimate physical meeting room experienceGet a room! Spot: the ultimate physical meeting room experience
Get a room! Spot: the ultimate physical meeting room experience
 
Going Mobile with React Native and WebRTC
Going Mobile with React Native and WebRTCGoing Mobile with React Native and WebRTC
Going Mobile with React Native and WebRTC
 
Going Mobile with React Native and WebRTC
Going Mobile with React Native and WebRTCGoing Mobile with React Native and WebRTC
Going Mobile with React Native and WebRTC
 
Jitsi: Estado de la Unión (2018)
Jitsi: Estado de la Unión (2018)Jitsi: Estado de la Unión (2018)
Jitsi: Estado de la Unión (2018)
 
Jitsi: state-of-the-art video conferencing you can self-host
Jitsi: state-of-the-art video conferencing you can self-hostJitsi: state-of-the-art video conferencing you can self-host
Jitsi: state-of-the-art video conferencing you can self-host
 
WebRTC: El epicentro de la videoconferencia y IoT
WebRTC: El epicentro de la videoconferencia y IoTWebRTC: El epicentro de la videoconferencia y IoT
WebRTC: El epicentro de la videoconferencia y IoT
 
Jitsi: Open Source Video Conferencing
Jitsi: Open Source Video ConferencingJitsi: Open Source Video Conferencing
Jitsi: Open Source Video Conferencing
 
Jitsi: State of the Union
Jitsi: State of the UnionJitsi: State of the Union
Jitsi: State of the Union
 
libuv: cross platform asynchronous i/o
libuv: cross platform asynchronous i/olibuv: cross platform asynchronous i/o
libuv: cross platform asynchronous i/o
 
SylkServer: State of the art RTC application server
SylkServer: State of the art RTC application serverSylkServer: State of the art RTC application server
SylkServer: State of the art RTC application server
 
Escalabilidad horizontal desde las trincheras
Escalabilidad horizontal desde las trincherasEscalabilidad horizontal desde las trincheras
Escalabilidad horizontal desde las trincheras
 
A deep dive into libuv
A deep dive into libuvA deep dive into libuv
A deep dive into libuv
 
From SIP to WebRTC and vice versa
From SIP to WebRTC and vice versaFrom SIP to WebRTC and vice versa
From SIP to WebRTC and vice versa
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Bridging Multimedia Sessions between SIP and XMPP

  • 1. Bridging multimedia sessions between SIP and XMPP Saúl Ibarra Corretgé | AG Projects Thursday, August 9, 2012
  • 2. AG Projects SIP Infrastructure Experts Intro • Hi, I’m Saúl • @saghul • Working with VoIP (and beyond!) since Asterisk 1.0 • Happy to be at ClueCon! Thursday, August 9, 2012
  • 3. AG Projects SIP Infrastructure Experts AG Projects • SIP Infrastructure • Blink Experts • SIP SIMPLE SDK • SIP Thor: SIP platform with P2P capabilities • SylkServer for horizontal scalability • MediaProxy • Open Source Software • OpenXCAP Projects • MSRPRelay Thursday, August 9, 2012
  • 4. AG Projects SIP Infrastructure Experts Understanding SIP and XMPP • Protocols for negotiation of multimedia sessions, instant messaging and presence • Same feature set, different design principles Thursday, August 9, 2012
  • 5. AG Projects SIP Infrastructure Experts SIP • Session Initiation Protocol • Current specification (RFC 3261) in 2002 • Built for establishing multimedia sessions, mainly used in voice, video and conferencing • Designed to have fat clients and thin servers Thursday, August 9, 2012
  • 7. AG Projects IM with SIP SIP Infrastructure Experts Thursday, August 9, 2012
  • 8. AG Projects Presence with SIP SIP Infrastructure Experts Thursday, August 9, 2012
  • 9. AG Projects SIP Infrastructure Experts XMPP • eXtensible Messaging and Presence Protocol • Created by the Jabber community in 1999, standardized in 2004 and updated in 2011 • Built for instant messaging and presence, with extensibility in mind • Designed to have fat servers and thin clients Thursday, August 9, 2012
  • 11. AG Projects IM with XMPP SIP Infrastructure Experts Thursday, August 9, 2012
  • 12. AG Projects Presence with XMPP SIP Infrastructure Experts Thursday, August 9, 2012
  • 13. AG Projects SIP Infrastructure Experts Realtime Communications: State of The Art • SIP used for voice, video, conferencing and PSTN interoperability • XMPP used for instant messaging and presence • Ongoing efforts to bring both to web Google browsers through WebSocket transport for Facebook ^^ BIG XMPP players use with WebRTC Thursday, August 9, 2012
  • 14. AG Projects SIP Infrastructure Experts Combining SIP and XMPP • Dual-stack clients: CUSAX • draft-ivov-xmpp-cusax • Single-stack clients: use a gateway • It must be transparent Thursday, August 9, 2012
  • 15. AG Projects SIP Infrastructure Experts Going single stack • Protocol abstractions can lead to problems and limitations • Simpler provisioning • SIP and XMPP are different by design, how to marry them? Thursday, August 9, 2012
  • 17. AG Projects SIP Infrastructure Experts SylkServer • Open Source SIP Application server • Zero configuration • State-of-the-art SIP feature set • Implemented using SIP SIMPLE SDK Thursday, August 9, 2012
  • 18. AG Projects SylkServer Architecture SIP Infrastructure Experts Thursday, August 9, 2012
  • 19. AG Projects SIP Infrastructure Experts SylkServer: Applications • Conference server • XMPP gateway Thursday, August 9, 2012
  • 20. AG Projects SIP Infrastructure Experts SylkServer: Conferencing • HD audio • MSRP chat • Participants list (RFC 4575) • Conference control (RFC 4579) • File transfer • Screen sharing Thursday, August 9, 2012
  • 21. AG Projects SIP Infrastructure Experts SylkServer: XMPP gateway • Chat (SIP MESSAGE and MSRP) • Presence • MUC server Thursday, August 9, 2012
  • 22. AG Projects SIP Infrastructure Experts SylkServer: XMPP gateway design • SylkServer acts as a stand-alone XMPP Server • It only supports S2S connections • Users are on the SIP side, no XMPP clients allowed to register on SylkServer ZERO conf! Thursday, August 9, 2012
  • 23. AG Projects SIP Infrastructure Experts SylkServer: XMPP gateway architecture Thursday, August 9, 2012
  • 24. AG Projects SIP Infrastructure Experts Implementation challenges • XMPP server vs XMPP component • Loose / incomplete specifications • Concept mismatch • XMPP “sessions” • SIP PIDF vs XMPP presence stanza • Different feature set • SIP conferencing vs MUC Thursday, August 9, 2012
  • 26. AG Projects SIP Infrastructure Experts Future • IETF is considering resurrecting the SIP-XMPP interoperability drafts! • SylkServer roadmap • Jingle • File transfer Thursday, August 9, 2012
  • 27. AG Projects SIP Infrastructure Experts Thursday, August 9, 2012
  • 28. AG Projects SIP Infrastructure Experts BYE sip:audience@ClueCon2012 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:audience@ClueCon2012>;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 @saghul saul@ag-projects.com sip:saul@ag-projects.com Thursday, August 9, 2012