Why Skype is successful
Since Skype came out in late 2003, it has always been seen as the ultimate communication solution, because it “just worked” for end-customers. The reason for that is on one hand the dead-simple way to get started for end-users (signing up is tightly integrated into the client), and on the other hand the encrypted communication, which ensures that no device (like modems, routers and firewalls) can tinker with the content of the messages.
The History of SIP
At the same time as Skype emerged, the open Session Initiation Protocol (SIP) started to take off. The main problem with that was (and partially still is) that the majority of the clients and servers were only able to talk clear-text UDP. Due to the nature of SIP, which transports Layer-3/4 information in Layer-7 of the network stack (that is, it puts IP addresses and ports for signaling and media communication into various headers of the protocol), SIP communication had massive issues in NAT environments, so it was next to impossible for non-technical people to get it working properly without having to put port forwardings into their home routers. Things got worse when modem/router vendors started to implement Application Layer Gateway (ALG) logic into their devices, with the intention to overcome these issues. Next to all implementations are severely broken, making it even harder to interoperate between different servers and clients.
Where SIP really got successful was for Internet Service Providers (ISPs) to replace traditional phone lines. Nearly all cable/dsl modems nowadays have a SIP stack implemented in their software, with the ability to plug in your plain old telephone into the device, which is configured by the ISP to only work with their service. The communication happens over a separate, directly routed channel and network, which is independent from the “normal” IP traffic of the home network, so it bypasses any kinds of NAT issues (chances are high there is no NAT between the integrated SIP client and the ISP VoIP system) and allows the ISP to enforce traffic priorization to ensure proper voice quality.
SIP on a One-Way Road
Due to this business-case driven and established (technically, in terms of “it just works”) approach, innovation dramatically stagnated with SIP, and it soon became just the way to replace traditional phone lines with IP based ones. Mobile Operators also adopted SIP as the protocol for establishing phone calls between mobile devices by rolling out the IP Multimedia Subsystem (IMS) specifications, but at the end of the day it is still just an IP based approach to deliver traditional phone calls, and it still has to deliver its promises of innovative services.
The interesting point is that in the SIP ecosystem, specifications for those services delivered by Skype (encrypted signaling and media, instant messaging, buddy lists, presence, media-agnostic session establishment like voice, video and screen-sharing, conferencing, interconnection to mobile and fixed phone networks etc.) have been taken into account from the start, or they emerged soon after. The main issue here is that every use-case got specified in another new standard, and some of them are either really just bad, overly complex or both, which prevented a wide adoption of innovative services or made interoperability between implementations really hard or impossible. This is especially true for client devices (mainly desktop and mobile clients).
Kamailio and how it’s pushing Innovation in SIP
The main driving force to provide an open-source reference implementation on the server side is Kamailio (formerly SER (SIP Express Router) and later OpenSER). There are a couple of successful companies pushing the implementation and adoption of SIP services behind this project. The Sipwise platforms alone – which are not even the biggest ones deployed at ISPs – serve hundreds of millions of call minutes by month based on the Kamailio server. Over the last year, Kamailio massively evolved from being the work-horse to deliver voice minutes to end customer into becoming one of the most sophisticated platforms providing rich communication services due to the contributions of these companies. We have also learned from mistakes in the past, so a highly performant encryption implementation based on TLS is ready for prime-time, which overcomes the long-standing issues with NAT and devices messing with the signaling.
The crucial element in adopting a feature-rich SIP based service is still the customer facing client, which needs to play nice with the server on one hand, and has to provide an appealing and easy-to-use interface to the end-user on the other hand on a wide variety of platforms like the users’ desktop and their mobile devices, which is what Skype does very well.
How SIP will gain momentum as an Open Communication Protocol
In an effort to push the SIP based ecosystem forward to overtake Skype, Sipwise is currently integrating all the shiny and new SIP modules of Kamailio providing features beyond pure voice or video telephony into our sip:provider CE open-source system, which will be (as with our previous versions targeted at voice/video-only communication) available as installer as well as pre-installed vmware/virtualbox images. We are also successfully working on getting carefully selected open-source and commercial SIP clients (Jitsi, Blink, Bria) to interoperate with our sip:provider CE platform in order to make it easy to deploy a Skype-like service with a comparable feature set in a matter of an hour or less.
The future looks bright for an open communication system, and we’re welcoming everyone who wants to take part in that movement.
Keep in touch with the Future
If this topic is appealing to you and if you’d like to learn how to deploy your own Skype-like service in one of the following posts, follow us at Twitter or on Facebook to receive updates!