DesignXMPP
Version 29 (Anonymous, 02/13/2012 03:24 pm)
1 | 24 | Adrian Georgescu | = SIP/XMPP Gateway = |
---|---|---|---|
2 | 13 | Adrian Georgescu | |
3 | 28 | Adrian Georgescu | [[TOC(DesignXMPP, depth=3)]] |
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 | 28 | Adrian Georgescu | == XMPP specs == |
8 | 1 | Adrian Georgescu | |
9 | 28 | Adrian Georgescu | * XMPP core (RFC 6120) http://xmpp.org/rfcs/rfc6120.html |
10 | 28 | Adrian Georgescu | * XMPP extensions http://xmpp.org/xmpp-protocols/xmpp-extensions |
11 | 28 | Adrian Georgescu | |
12 | 28 | Adrian Georgescu | === Session type specs === |
13 | 28 | Adrian Georgescu | |
14 | 28 | Adrian Georgescu | * Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html |
15 | 28 | Adrian Georgescu | * File Transfers http://xmpp.org/extensions/xep-0096.html |
16 | 28 | Adrian Georgescu | * Audio |
17 | 28 | Adrian Georgescu | * Jingle http://xmpp.org/extensions/xep-0166.html |
18 | 28 | Adrian Georgescu | * Jingle RTP http://xmpp.org/extensions/xep-0167.html |
19 | 28 | Adrian Georgescu | * Jingle ICE (UDP) http://xmpp.org/extensions/xep-0176.html |
20 | 28 | Adrian Georgescu | |
21 | 28 | Adrian Georgescu | == Gateway specs == |
22 | 28 | Adrian Georgescu | |
23 | 28 | Adrian Georgescu | * Presence http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html |
24 | 28 | Adrian Georgescu | * Instant Messaging http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html |
25 | 28 | Adrian Georgescu | * Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html |
26 | 28 | Adrian Georgescu | * Group Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html |
27 | 28 | Adrian Georgescu | |
28 | 28 | Adrian Georgescu | == Libraries == |
29 | 28 | Adrian Georgescu | |
30 | 1 | Adrian Georgescu | The software must be written in Python programming language. |
31 | 1 | Adrian Georgescu | |
32 | 1 | Adrian Georgescu | The correspondent protocols are implemented by the following SDKs: |
33 | 1 | Adrian Georgescu | |
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 | 28 | Adrian Georgescu | * Wokkel http://wokkel.ik.nu/ |
40 | 28 | Adrian Georgescu | * 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 | 28 | Adrian Georgescu | |
50 | 29 | Adrian Georgescu | == Milestones == |
51 | 29 | Adrian Georgescu | |
52 | 29 | Adrian Georgescu | 1. [http://sipsimpleclient.com/wiki/DesignXMPP_analysis XMPP library analysis] |
53 | 29 | Adrian Georgescu | 1. System architecture design |