Project

General

Profile

DesignXMPP » History » Version 31

Anonymous, 02/13/2012 06:53 PM

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