DesignXMPP

Version 34 (Anonymous, 03/01/2012 02:21 pm)

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 1 Adrian Georgescu
The goal for this project is to implement a bidirectional gateway for Presence and Instant Messaging between SIP and XMMP protocols based on the following specifications:
6 1 Adrian Georgescu
7 32 Adrian Georgescu
== Deployment Scenario ==
8 32 Adrian Georgescu
9 32 Adrian Georgescu
By pointing the DNS records corespondent to the SIP or 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.
10 32 Adrian Georgescu
 
11 32 Adrian Georgescu
12 28 Adrian Georgescu
== XMPP specs ==
13 1 Adrian Georgescu
14 28 Adrian Georgescu
 * XMPP core (RFC 6120) http://xmpp.org/rfcs/rfc6120.html
15 28 Adrian Georgescu
 * XMPP extensions http://xmpp.org/xmpp-protocols/xmpp-extensions
16 28 Adrian Georgescu
17 28 Adrian Georgescu
=== Session type specs ===
18 28 Adrian Georgescu
19 28 Adrian Georgescu
 * Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html
20 28 Adrian Georgescu
 * File Transfers http://xmpp.org/extensions/xep-0096.html
21 28 Adrian Georgescu
 * Audio
22 28 Adrian Georgescu
  * Jingle http://xmpp.org/extensions/xep-0166.html
23 28 Adrian Georgescu
  * Jingle RTP http://xmpp.org/extensions/xep-0167.html
24 28 Adrian Georgescu
  * Jingle ICE (UDP) http://xmpp.org/extensions/xep-0176.html
25 28 Adrian Georgescu
26 28 Adrian Georgescu
== Gateway specs ==
27 28 Adrian Georgescu
28 28 Adrian Georgescu
 * Presence http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html
29 28 Adrian Georgescu
 * Instant Messaging http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html
30 28 Adrian Georgescu
 * Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html
31 28 Adrian Georgescu
 * Group Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html
32 28 Adrian Georgescu
33 28 Adrian Georgescu
== Libraries ==
34 28 Adrian Georgescu
35 1 Adrian Georgescu
The software must be written in Python programming language. 
36 1 Adrian Georgescu
37 1 Adrian Georgescu
The correspondent protocols are implemented by the following SDKs:
38 1 Adrian Georgescu
39 28 Adrian Georgescu
=== XMPP SDK ===
40 1 Adrian Georgescu
41 28 Adrian Georgescu
To be chosen in the analysis phase. Candidates:
42 21 Adrian Georgescu
43 28 Adrian Georgescu
 * SleekXMPP http://github.com/fritzy/SleekXMPP
44 28 Adrian Georgescu
 * Wokkel http://wokkel.ik.nu/
45 28 Adrian Georgescu
 * List on xmpp.org http://xmpp.org/xmpp-software/libraries/
46 28 Adrian Georgescu
47 27 Adrian Georgescu
=== SIP SDK ===
48 28 Adrian Georgescu
49 27 Adrian Georgescu
 * SIP SIMPLE SDK http://sipsimpleclient.com
50 28 Adrian Georgescu
51 28 Adrian Georgescu
52 29 Adrian Georgescu
== Milestones ==
53 29 Adrian Georgescu
54 31 Adrian Georgescu
=== XMPP library analysis ===
55 31 Adrian Georgescu
56 31 Adrian Georgescu
 * http://sipsimpleclient.com/wiki/DesignXMPP_analysis
57 31 Adrian Georgescu
58 31 Adrian Georgescu
=== System architecture design ===
59 31 Adrian Georgescu
60 31 Adrian Georgescu
 * http://sipsimpleclient.com/wiki/DesignXMPP_arch
61 33 Adrian Georgescu
62 33 Adrian Georgescu
=== Gateway for Instant Messaging ===
63 33 Adrian Georgescu
64 33 Adrian Georgescu
 * http://sipsimpleclient.com/wiki/DesignXMPP_im