<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Dear Emil,<br>
<br>
Here is my research and approach parts of proposal for
JingleRelayNode. I know today is the last day before submission
deadline..<br>
(I have another deadline in the early of this week so that I
complete this proposal too late) <br>
But I still want to get some feedback before final submission. <big>Your
suggestions and feedbacks will be highly appreciated!</big><br>
<br>
Research<br>
In the past two weeks, I read many related documents about this
projects. Here is the documentation list:<br>
RFC 3920: XMPP core framework<br>
XEP-0176: Jingle ICE-UDP Transport Method<br>
XEP-0278: Jingle Relay Nodes<br>
RFC 5245: ICE-UDP transport protocol<br>
RFC 5389: STUN IETF draft<br>
RFC 5766: TURN IETF dfaft<br>
RFC 6544: Jingle ICE-TCP transport protocol<br>
<br>
Based on those documents, I have a comprehensive understanding about
XMPP framework and Jingle relay node structure:<br>
Jingle relay node can be seen as the XMPP version of TURN/STUN relay
server. Specifically, Jingle relay node is one<br>
option of testing connection possibilities between XMPP peers.
Jingle relay node implements NAT traversal function <br>
within XMPP, but keep the media data transmission out of XMPP which
follows the design goal of Jingle.Also, because <br>
transport address gathering is down in Jingle relay node scheme.<br>
<br>
Similar to RFC 5245 which defines how ICE-UDP work, RFC 6544 defines
how to use ICE for TCP protocol. It includes<br>
cadidate collection, connectivity check and management, Offer/Answer
exchange procedure and so on. We can use this <br>
framework in XMPP to implement the Jingle TCP relay node.<br>
<br>
Approach<br>
1) Develop Jingle ICE-TCP transport method extension for XMPP, just
like the Jingle ICE-UDP transport method for <br>
UDP traffic in XMPP. With this month, ICE-TCP became an IETF
RFC(<a class="moz-txt-link-freetext" href="http://tools.ietf.org/html/rfc6544">http://tools.ietf.org/html/rfc6544</a> ). <br>
<br>
2) Extend the current JingleNode for UDP to TCP. Specifically, we
need to transfer some special functions in ICE-TCP<br>
to XMPP field. Such as transfer SIP in ICE TCP to XMPP in Jingle
ICE UDP, or SDP for TCP to XML.<br>
<br>
3) Testing: run TCP based protocol to valid the code, such as file
transfer protocl (FTP) used in Jitsi to transmit <br>
data between users.<br>
<br>
With best regards<br>
<br>
<pre class="moz-signature" cols="72">--
Dizhi Zhou
Ph.D. Candidate
Faculty of Computer Science
University of New Brunswick
540 Windsor Street
Fredericton,New Brunswick,Canada
E3B 5A3
E. <a class="moz-txt-link-abbreviated" href="mailto:q5frc@unb.ca">q5frc@unb.ca</a>
Homepage: <a class="moz-txt-link-abbreviated" href="http://www.cs.unb.ca/~q5frc/">www.cs.unb.ca/~q5frc/</a></pre>
</body>
</html>