Project

General

Profile

DesignXMPP » History » Version 42

Adrian Georgescu, 03/02/2012 10:19 AM

1 24 Adrian Georgescu
= SIP/XMPP Gateway =
2 13 Adrian Georgescu
3 34 Adrian Georgescu
[[TOC(DesignXMPP, DesignXMPP_analysis, DesignXMPP_arch, DesignXMPP_im, depth=2)]]
4 28 Adrian Georgescu
5 42 Adrian Georgescu
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. This research and development are part of the WormHole Project sponsored by NLNet and AG Projects.
6 38 Adrian Georgescu
7
The gateway should be easy to deploy and use without any manual configuration if possible.
8 1 Adrian Georgescu
9 41 Adrian Georgescu
The software license will be licensed according to [http://www.gnu.org/licenses/agpl.html AGPLv3].
10 40 Adrian Georgescu
11 32 Adrian Georgescu
== Deployment Scenario ==
12
13 37 Adrian Georgescu
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.
14 32 Adrian Georgescu
 
15 36 Adrian Georgescu
== XMPP Specifications ==
16 1 Adrian Georgescu
17 28 Adrian Georgescu
 * XMPP core (RFC 6120) http://xmpp.org/rfcs/rfc6120.html
18 1 Adrian Georgescu
 * XMPP extensions http://xmpp.org/xmpp-protocols/xmpp-extensions
19 28 Adrian Georgescu
20 39 Adrian Georgescu
=== Session Types ===
21 28 Adrian Georgescu
22
 * Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html
23
 * File Transfers http://xmpp.org/extensions/xep-0096.html
24 37 Adrian Georgescu
 * Audio and Video
25 28 Adrian Georgescu
  * Jingle http://xmpp.org/extensions/xep-0166.html
26 1 Adrian Georgescu
  * Jingle RTP http://xmpp.org/extensions/xep-0167.html
27 28 Adrian Georgescu
  * Jingle ICE (UDP) http://xmpp.org/extensions/xep-0176.html
28
29 39 Adrian Georgescu
== Gateway Specifications ==
30 28 Adrian Georgescu
31
 * Presence http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html
32
 * Instant Messaging http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html
33
 * Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html
34
 * Group Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html
35
36
== Libraries ==
37
38 1 Adrian Georgescu
The software must be written in Python programming language. 
39
40
The correspondent protocols are implemented by the following SDKs:
41
42 28 Adrian Georgescu
=== XMPP SDK ===
43 1 Adrian Georgescu
44 28 Adrian Georgescu
To be chosen in the analysis phase. Candidates:
45 21 Adrian Georgescu
46 28 Adrian Georgescu
 * SleekXMPP http://github.com/fritzy/SleekXMPP
47
 * Wokkel http://wokkel.ik.nu/
48
 * List on xmpp.org http://xmpp.org/xmpp-software/libraries/
49
50 27 Adrian Georgescu
=== SIP SDK ===
51 1 Adrian Georgescu
52 27 Adrian Georgescu
 * SIP SIMPLE SDK http://sipsimpleclient.com
53 28 Adrian Georgescu
54 1 Adrian Georgescu
== Milestones ==
55 29 Adrian Georgescu
56 36 Adrian Georgescu
=== XMPP Library Analysis ===
57 1 Adrian Georgescu
58 31 Adrian Georgescu
 * http://sipsimpleclient.com/wiki/DesignXMPP_analysis
59
60 36 Adrian Georgescu
=== Architecture Design ===
61 31 Adrian Georgescu
62
 * http://sipsimpleclient.com/wiki/DesignXMPP_arch
63 33 Adrian Georgescu
64 36 Adrian Georgescu
=== SIP-XMPP IM Gateway ===
65 33 Adrian Georgescu
66
 * http://sipsimpleclient.com/wiki/DesignXMPP_im