<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>