DesignXMPP

Version 48 (Adrian Georgescu, 03/07/2012 09:22 am) → Version 49/100 (Adrian Georgescu, 03/07/2012 09:22 am)

= SIP/XMPP Gateway =

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

The goal for this project is to implement a bidirectional multi-media gateway for Presence, Instant Messaging including multi-party chat, Audio, Video and File Transfer between SIP and XMMP protocols. This research and development are part of the WormHole Project sponsored by [http://nlnet.nl/project/xmpp-sip/ NLNet and AG Projects].

The gateway should be easy to deploy and use without any manual configuration if possible. The software license will be licensed according to [http://www.gnu.org/licenses/agpl.html AGPLv3].

== Deployment Scenario ==

By simply 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 transparently translated into the other.

== XMPP Specifications ==

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

=== 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 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

== Software Candidates ==

The functionality will be embedded into the existing [http://sylkserver.com SylkServer] project. The software will be written in Python programming language.

=== XMPP Library ===

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

== Gateway Architecture Design ==

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

=== SIP-XMPP IM Gateway ===

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

=== SIP-XMPP Presence Gateway ===

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

=== SIP-XMPP Jingle Gateway ===

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

=== SIP-XMPP File Transfer Gateway ===

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