Project

General

Profile

DesignXMPP » History » Revision 31

Revision 30 (Anonymous, 02/13/2012 04:33 PM) → Revision 31/100 (Anonymous, 02/13/2012 06:53 PM)

= SIP/XMPP Gateway = 

 [[TOC(DesignXMPP, depth=3)]] 

 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: 

 == XMPP specs == 

  * XMPP core (RFC 6120) http://xmpp.org/rfcs/rfc6120.html 
  * XMPP extensions http://xmpp.org/xmpp-protocols/xmpp-extensions 

 === Session type specs === 

  * Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html 
  * File Transfers http://xmpp.org/extensions/xep-0096.html 
  * Audio 
   * Jingle http://xmpp.org/extensions/xep-0166.html 
   * Jingle RTP http://xmpp.org/extensions/xep-0167.html 
   * Jingle ICE (UDP) http://xmpp.org/extensions/xep-0176.html 

 == Gateway specs == 

  * Presence http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html 
  * Instant Messaging http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html 
  * Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html 
  * Group Chat http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html 

 == Libraries == 

 The software must be written in Python programming language.  

 The correspondent protocols are implemented by the following SDKs: 

 === XMPP SDK === 

 To be chosen in the analysis phase. Candidates: 

  * SleekXMPP http://github.com/fritzy/SleekXMPP 
  * Wokkel http://wokkel.ik.nu/ 
  * List on xmpp.org http://xmpp.org/xmpp-software/libraries/ 

 === SIP SDK === 

  * SIP SIMPLE SDK http://sipsimpleclient.com 

 == Deployment Scenario == 

 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. 
 
 == Milestones == 

 === 

  1. [http://sipsimpleclient.com/wiki/DesignXMPP_analysis XMPP library analysis === 

  * http://sipsimpleclient.com/wiki/DesignXMPP_analysis 

 === analysis] 
  1. [http://sipsimpleclient.com/wiki/DesignXMPP_arch System architecture design === 

  * http://sipsimpleclient.com/wiki/DesignXMPP_arch design]