DesignXMPP

Version 38 (Adrian Georgescu, 03/02/2012 10:14 am) → Version 39/100 (Adrian Georgescu, 03/02/2012 10:14 am)

= SIP/XMPP Gateway =

[[TOC(DesignXMPP, DesignXMPP_analysis, DesignXMPP_arch, DesignXMPP_im, depth=2)]]

The goal for this project is to implement a bidirectional gateway for Presence, Instant Messaging including multi-party chat, Audio, Video and File Transfer between SIP and XMMP protocols.

The gateway should be easy to deploy and use without any manual configuration if possible.

== Deployment Scenario ==

By pointing the DNS records corespondent to the SIP and XMPP service to the address where the gateway listens to, any packet that enters the gateway by one of the protocols must be translated int the other.

== XMPP Specifications ==

* XMPP core (RFC 6120) http://xmpp.org/rfcs/rfc6120.html
* XMPP extensions http://xmpp.org/xmpp-protocols/xmpp-extensions

=== Supported Session Types ===

* Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html
* File Transfers http://xmpp.org/extensions/xep-0096.html
* Audio and Video
* Jingle http://xmpp.org/extensions/xep-0166.html
* Jingle RTP http://xmpp.org/extensions/xep-0167.html
* Jingle ICE (UDP) http://xmpp.org/extensions/xep-0176.html

== Gateway Protocols Specifications ==

* Presence http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html
* Instant Messaging http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html
* Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html
* Group Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html

== Libraries ==

The software must be written in Python programming language.

The correspondent protocols are implemented by the following SDKs:

=== XMPP SDK ===

To be chosen in the analysis phase. Candidates:

* SleekXMPP http://github.com/fritzy/SleekXMPP
* Wokkel http://wokkel.ik.nu/
* List on xmpp.org http://xmpp.org/xmpp-software/libraries/

=== SIP SDK ===

* SIP SIMPLE SDK http://sipsimpleclient.com

== Milestones ==

=== XMPP Library Analysis ===

* http://sipsimpleclient.com/wiki/DesignXMPP_analysis

=== Architecture Design ===

* http://sipsimpleclient.com/wiki/DesignXMPP_arch

=== SIP-XMPP IM Gateway ===

* http://sipsimpleclient.com/wiki/DesignXMPP_im