[jdev] GSoC Proposal of JingeRelayNode
q5frc at unb.ca
Thu Apr 5 19:34:48 UTC 2012
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
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
Faculty of Computer Science
University of New Brunswick
540 Windsor Street
E. q5frc at unb.ca
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the JDev