DesignXMPP

Version 66 (Adrian Georgescu, 07/09/2012 12:58 pm) → Version 67/89 (Adrian Georgescu, 07/09/2012 01:05 pm)

h1. SIP/XMPP Gateway

The goal of this task is to implement a bidirectional signaling and media gateway for Presence, Instant Messaging, Multiparty IM, Audio, and File Transfer for SIP and XMPP signaling protocols, RTP and MSRP media planes. This research and development is part of the WormHole Project sponsored by "NLNet and AG Projects":http://nlnet.nl/project/xmpp-sip/.

!http://sylkserver.com/images/sylk-server-diagram.png!

h2. Deployment Scenario

By pointing the correspondent DNS records for SIP or XMPP services of a given Internet domain to the address of this gateway, any packet sent to or connection established to the gateway by one of the protocols is transparently translated into the other. The server is designed in such way that it requires zero-configuration.

h2. Specifications and Standards

h3. SIP Signaling and Media

* SIP (RFC3261) and related RFCs for DNS, SDP, ICE, RTP (too many to mention)
* MSRP Protocol http://tools.ietf.org/html/rfc4975
* MSRP Relay extension http://tools.ietf.org/html/rfc4976
* MSRP Alternative Connection Model (ACM) //tools.ietf.org/html/rfc6135
* Multi-party Chat Using MSRP http://tools.ietf.org/html/draft-ietf-simple-chat-14

h3. XMPP Signaling and Media

* XMPP core (RFC 6120) http://xmpp.org/rfcs/rfc6120.html
* XMPP extensions http://xmpp.org/xmpp-protocols/xmpp-extensions
* Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html
* Multi-User Chat http://xmpp.org/extensions/xep-0045.html
* File Transfers http://xmpp.org/extensions/xep-0096.html
* Audio and Video Jingle http://xmpp.org/extensions/xep-0166.html
* Audio and Video Jingle RTP http://xmpp.org/extensions/xep-0167.html
* Audio and Video Jingle ICE (UDP) http://xmpp.org/extensions/xep-0176.html
* Delivering Conference Information to Jingle Participants http://xmpp.org/extensions/xep-0298.html

h2. Protocol Translation Specifications

* "XMPP - "Core Interworking between SIP Core Interworking":http://tools.ietf.org/html/draft-saintandre-sip-xmpp-core-01 and XMPP":http://tools.ietf.org/html/draft-saintandre-sip-xmpp-core-01
* "XMPP - SIP Presence":http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html
* "XMPP - SIP Message":http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html
* "XMPP - MSRP Chat":http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html
* "XMPP - MSRP Group Chat":http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html

Lessons learned during implementation and [[XMPP-Interop| Suggestions for improvement of Protocol Translation Specifications]]

h2. Progress

Completed items are operational on "SIP2SIP":http://sip2sip.info which supports Chat and Presence to gmail.com an jabber.org domains. Progress announcements are made on "SIP beyond VoIP":http://lists.ag-projects.com/mailman/listinfo/sipbeyondvoip mailing list

h3. Completed Items

* "Software Library Analysis":http://sylkserver.ag-projects.com/projects/sylkserver/wiki/DesginXMPP_analysis
* "Gateway Design":http://sylkserver.ag-projects.com/projects/sylkserver/wiki/DesginXMPP_arch
* "SIP-XMPP Chat":http://sylkserver.ag-projects.com/projects/sylkserver/wiki/DesginXMPP_im
* "SIP-XMPP Presence":http://sylkserver.ag-projects.com/projects/sylkserver/wiki/DesginXMPP_presence
* "SIP-XMPP Multiparty Chat":http://sylkserver.ag-projects.com/projects/sylkserver/wiki/DesginXMPP_conference

h3. Roadmap

* "SIP-XMPP Jingle Audio":http://sylkserver.ag-projects.com/projects/sylkserver/wiki/DesginXMPP_jingle
* "SIP-XMPP File Transfer ":http://sylkserver.ag-projects.com/projects/sylkserver/wiki/DesginXMPP_ft