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!

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

Approach
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. q5...@unb.ca
Homepage: www.cs.unb.ca/~q5frc/

_______________________________________________
JDev mailing list
Info: http://mail.jabber.org/mailman/listinfo/jdev
Unsubscribe: jdev-unsubscr...@jabber.org
_______________________________________________

Reply via email to