Saturday, May 21, 2005

Why SIP Isn’t Good Enough For Skype

Aswath Rao - Aswath Weblog

Immediately after deploying Skype, its CEO defended their decision to use a proprietary system rather than use the SIP standard. He was widely quoted as having dismissed the SIP option to be inferior. This has sprung up in Skype Forum. Muppetmaster informs us that one of the Skype configurable parameters is labeled SipServers and an item under it is called DirectlyConnected. He goes on to suggest that this is evidence that Skype client runs SIP when it wants to interconnect to PSTN. A few days back DGLewis raised this same point. In that context I commented that there are operational benefits in Skype client following the same procedure independent of whether the call terminates at PSTN or not. This entry does not revisit that issue, but explores why Skype may not be satisfied with SIP and concludes that SIP can easily accommodate these requirements.

A communications protocol needs to identify the end-points involved in the session, specify the mode and format of the communication and finally identify any network resources it may want to use during the session. All protocols do these in one form or another. Q.931 of ISDN and H.323 are competent in this respect, contradicting the widely held belief. SIP does these as well. So what are missing from SIP (or for that matter H.323) that Skype would need. I can think of two things.
The first one is these protocols use UDP to transport the media packets, but many firewalls block UDP traffic. In these cases, unlike the standard protocols, Skype uses TCP in these cases. This is counter to the established security policies and hence it is not advisable that standard protocols be extended to use this scheme.
The second one involves NAT traversal. The standard scheme is to use Session Border Controllers and use UDP Hole Punching for optimization purposes. The two standard protocols use one set of port(s) to carry the signaling information and other port(s) to carry media. Because of this, the optimization scheme does not work if even one of the end-points is behind an asymmetric NAT. On the other hand, if the media port can receive limited signaling information then we can devise a method by which the optimization procedure will work as long as both the end points are not behind asymmetric NATs. Interestingly, according to Baset and Schulzrinne, Skype does not use this scheme.
So it is not clear what Skype achieves by using a non-standard signaling protocol.


Post a Comment

<< Home