[jdev] GSoC Proposal of JingeRelayNode

Dizhi Zhou q5frc at unb.ca
Thu Apr 5 19:34:48 UTC 2012

Dear Emil,

Here is my research and approach parts of proposal for JingleRelayNode. 
I know today is the last day before submission deadline..
(I have another deadline in the early of this week so that I complete 
this proposal too late)
But I still want to get some feedback before final submission. Your 
suggestions and feedbacks will be highly appreciated!

In the past two weeks, I read many related documents about this 
projects. Here is the documentation list:
RFC 3920: XMPP core framework
XEP-0176: Jingle ICE-UDP Transport Method
XEP-0278: Jingle Relay Nodes
RFC 5245: ICE-UDP transport protocol
RFC 5389: STUN IETF draft
RFC 5766: TURN IETF dfaft
RFC 6544: Jingle ICE-TCP transport protocol

Based on those documents, I have a comprehensive understanding about 
XMPP framework and Jingle relay node structure:
Jingle relay node can be seen as the XMPP version of TURN/STUN relay 
server. Specifically, Jingle relay node is one
option of testing connection possibilities between XMPP peers. Jingle 
relay node implements NAT traversal function
within XMPP, but keep the media data transmission out of XMPP which 
follows the design goal of Jingle.Also, because
transport address gathering is down in Jingle relay node scheme.

Similar to RFC 5245 which defines how ICE-UDP work, RFC 6544 defines how 
to use ICE for TCP protocol. It includes
cadidate collection, connectivity check and management, Offer/Answer 
exchange procedure and so on. We can use this
framework in XMPP to implement the Jingle TCP relay node.

1) Develop Jingle ICE-TCP transport method extension for XMPP, just like 
the Jingle ICE-UDP transport method for
    UDP traffic in XMPP.  With this month, ICE-TCP became an IETF 
RFC(http://tools.ietf.org/html/rfc6544 ).

2) Extend the current JingleNode for UDP to TCP. Specifically, we need 
to transfer some special functions in ICE-TCP
    to XMPP field. Such as transfer SIP in ICE TCP to XMPP in Jingle ICE 
UDP, or SDP for TCP to XML.

3) Testing: run TCP based protocol to valid the code, such as file 
transfer protocl (FTP) used in Jitsi to transmit
    data between users.

With best regards

Dizhi Zhou
Ph.D. Candidate
Faculty of Computer Science
University of New Brunswick
540 Windsor Street
Fredericton,New Brunswick,Canada
E3B 5A3

E. q5frc at unb.ca
Homepage: www.cs.unb.ca/~q5frc/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jdev/attachments/20120405/dac68e3c/attachment.html>

More information about the JDev mailing list