SIP is hard, let’s go shopping!Saúl Ibarra Corretgé | AG Projects
AG ProjectsSIP Infrastructure Experts
• I’m Saúl
• @saghul
• Passionate about VoIP, SIP, XMPP and Real Time Communications
• Sad for not wearing a suit today
Hello
AG ProjectsSIP Infrastructure Experts
• SIP Infrastructure for providers
• SIP Thor: horizontal scalability using P2P technology
• Open Source
• Blink
• SIP SIMPLE SDK
• SylkServer
• MediaProxy
• OpenXCAP
• MSRPRelay
AG Projects
AG ProjectsSIP Infrastructure Experts
State of The (SIP) Art
• SIP (v2) is 10 years old
• 3261 already carries baggage from SIPv1
• Lack of proper instant messaging until MSRP
• Complex model for presence
• NAT traversal issues
• Too many “SHOULD”s on RFCs
AG ProjectsSIP Infrastructure Experts
SIP: The Good
• Well established and mature standard
• Provides all required building blocks
AG ProjectsSIP Infrastructure Experts
SIP: The Bad
• Complicated deployments
• Not much use of SIP beyond VoIP
AG ProjectsSIP Infrastructure Experts
SIP: The Ugly
• Interoperability issues
• SIMPLE, worst name ever
AG ProjectsSIP Infrastructure Experts
What are others doing?
• Asterisk created IAX
• XMPP is the king for chat and presence
• WebRTC seems to be the new cool kid in town
AG ProjectsSIP Infrastructure Experts
IAX
• Inter Asterisk eXchange
• Multiplexes signaling and media in a single port
• Designed mainly for trunking purposes
AG ProjectsSIP Infrastructure Experts
IAX is an ancient African word which means “I don’t know how to fix NAT traversal issues”.
AG ProjectsSIP Infrastructure Experts
XMPP
• eXtensible Messaging and Presence Protocol
• Formerly Jabber
• RFC 6120, 6121
AG ProjectsSIP Infrastructure Experts
XMPP: The Good
• Chat and presence at the core
• Easily extendable: XEP vs RFC
• Jingle: state of the art media features
AG ProjectsSIP Infrastructure Experts
XMPP: The Bad
• Jingle is an add-on, how to correlate it with chat?
• “Timeout driven behavior”
AG ProjectsSIP Infrastructure Experts
XMPP: The Ugly
• Three stanza types are used for everything
• Split presence model (<presence/> and PEP)
AG ProjectsSIP Infrastructure Experts
WebRTC
• Everyone is talking about it
• Not everyone knows what it is about
AG ProjectsSIP Infrastructure Experts
WebRTC: The Good
• Lots of focus on security
• Piggybacks on SDP
• SRTP and ICE are mandatory
AG ProjectsSIP Infrastructure Experts
WebRTC: The Bad
• Microsoft went their own way, Apple remains silent
• Codec war (VP8 vs H.264)
• Too influenced by telephony ideas
AG ProjectsSIP Infrastructure Experts
WebRTC: The Ugly
Apparently SIP is some kind of javascript stack /protocol on top of WebRTC which is a standard about making different vendors video conferencing via web browsers. Pretty cool stuff. Support for it is planned for boot to gecko.
-- Someone on Reddit
AG ProjectsSIP Infrastructure Experts
WEBRTC IS FUN
• Hipsters can use it, it’s JavaScript!
• Interesting ideas coming up all the time
AG ProjectsSIP Infrastructure Experts
SUP
• Saúl’s Ultimate Protocol (TM)
• SIP-ish for signaling, WebRTC for media
• TLS only
• No Via, Route or Record Route headers
• XMPP federation model
AG ProjectsSIP Infrastructure Experts
SUP
• Session based instant messaging
• XMPP style yet simplified presence model
• Easily extendable (XEP style)
• Secure
AG ProjectsSIP Infrastructure Experts
• There is no silver bullet
• Every protocol has it’s place
• Use the right tool for the job
• Optimize for Happiness (TM)
sipstacheThe Ultimate Over-Engineered
Virtual Mustache Toolkit
AG ProjectsSIP Infrastructure Experts
sipstache
• SylkServer application
• SIP for signaling
• MSRP media (chat + file transfer)
• OpenCV for image processing