A SIP to Jingle (XMPP) gateway in Kamailio (OpenSER)

There is no question today that SIP is the most widely deployed VoIP protocol. Chances are that if you are making calls over the Internet, SIP is part of the picture. As you probably know, Kamailio is one of the most popular SIP proxies today, so there’s a very good chance that, whoever your provider is, your SIP messages would end up going through a Kamailio server while they are being routed.

Just as SIP is immensely popular for IP telephony, XMPP is the de facto standard for instant messaging and presence. Back in 2006 however, when Google first released the GTalk service, and together with the XMPP Software Foundation they started a joint effort on adding to XMPP the features it was missing for audio and video calls. That’s how Jingle was born.

So what does this mean to Kamailio?

Well, Jingle and SIP actually work in a very similar way. They are both simply signalling protocols that only initiate and control the calls. Then, they both use RTP to actually transport your audio and video data.

So naturally, knowing this leads to the very logical question: “Well is it possible to call an XMPP client from my SIP phone?”. Unfortunately right now the answer is “no” and this is what this project is about.

Your mission, should you accept it, would be to develop the tools necessary for Kamailio to act as a SIP to Jingle gateway.

Interested? Then looking forward to reading your application!

Note that this project will be mentored by members of the Kamailio (OpenSER) development team so you’ll have all the expert help you need! Of course you’ll also have all the help you need from the Jitsi community for Jingle or testing related questions.

References:

Kamailio (OpenSER) the Open Source SIP Server
http://kamailio.org

XEP-0166: Jingle
http://xmpp.org/extensions/xep-0166.html

XEP-0167: Jingle RTP Sessions
http://xmpp.org/extensions/xep-0167.html

XEP-0176: Jingle ICE-UDP Transport Method
http://xmpp.org/extensions/xep-0176.html

XEP-0177: Jingle Raw UDP Transport Method
http://xmpp.org/extensions/xep-0177.html

Other Jitsi GSoC Projects
http://gsoc.jitsi.org

Jitsi Developer Documentation
http://www.jitsi.org/index.php/Documentation/DeveloperDocumentation

The official Jitsi website
http://www.jitsi.org