Project

General

Profile

DesignXMPP » History » Version 37

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