DesignXMPP

Version 46 (Adrian Georgescu, 03/07/2012 09:18 am)

1 24 Adrian Georgescu
= SIP/XMPP Gateway =
2 13 Adrian Georgescu
3 46 Adrian Georgescu
[[TOC(DesignXMPP, DesignXMPP_analysis, DesignXMPP_arch, DesignXMPP_im, DesignXMPP_presence, DesignXMPP_jingle, DesignXMPP_ft, depth=2)]]
4 46 Adrian Georgescu
5 28 Adrian Georgescu
6 44 Adrian Georgescu
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].
7 38 Adrian Georgescu
8 44 Adrian Georgescu
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].
9 41 Adrian Georgescu
10 32 Adrian Georgescu
== Deployment Scenario ==
11 32 Adrian Georgescu
12 44 Adrian Georgescu
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.
13 32 Adrian Georgescu
 
14 36 Adrian Georgescu
== XMPP Specifications ==
15 1 Adrian Georgescu
16 28 Adrian Georgescu
 * XMPP core (RFC 6120) http://xmpp.org/rfcs/rfc6120.html
17 1 Adrian Georgescu
 * XMPP extensions http://xmpp.org/xmpp-protocols/xmpp-extensions
18 28 Adrian Georgescu
19 39 Adrian Georgescu
=== Session Types ===
20 28 Adrian Georgescu
21 28 Adrian Georgescu
 * Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html
22 28 Adrian Georgescu
 * File Transfers http://xmpp.org/extensions/xep-0096.html
23 37 Adrian Georgescu
 * Audio and Video
24 28 Adrian Georgescu
  * Jingle http://xmpp.org/extensions/xep-0166.html
25 1 Adrian Georgescu
  * Jingle RTP http://xmpp.org/extensions/xep-0167.html
26 28 Adrian Georgescu
  * Jingle ICE (UDP) http://xmpp.org/extensions/xep-0176.html
27 28 Adrian Georgescu
28 39 Adrian Georgescu
== Gateway Specifications ==
29 28 Adrian Georgescu
30 28 Adrian Georgescu
 * Presence http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html
31 28 Adrian Georgescu
 * Instant Messaging http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html
32 28 Adrian Georgescu
 * Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html
33 28 Adrian Georgescu
 * Group Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html
34 28 Adrian Georgescu
35 28 Adrian Georgescu
== Libraries ==
36 28 Adrian Georgescu
37 1 Adrian Georgescu
The software must be written in Python programming language. 
38 1 Adrian Georgescu
39 36 Adrian Georgescu
=== XMPP Library Analysis ===
40 1 Adrian Georgescu
41 31 Adrian Georgescu
 * http://sipsimpleclient.com/wiki/DesignXMPP_analysis
42 31 Adrian Georgescu
43 36 Adrian Georgescu
=== Architecture Design ===
44 31 Adrian Georgescu
45 31 Adrian Georgescu
 * http://sipsimpleclient.com/wiki/DesignXMPP_arch
46 33 Adrian Georgescu
47 36 Adrian Georgescu
=== SIP-XMPP IM Gateway ===
48 33 Adrian Georgescu
49 33 Adrian Georgescu
 * http://sipsimpleclient.com/wiki/DesignXMPP_im