Difference between revisions of "Psi JFT"

Jump to navigation Jump to search
25 bytes removed ,  02:00, 17 December 2020
m
no edit summary
m
m
 
Line 3: Line 3:
== Overview ==
== Overview ==


[http://xmpp.org/extensions/xep-0166.html Jingle] File Transfer is a [http://www.google.com Google] [http://code.google.com/soc Summer of Code 2006] project for [http://www.jabber.org Jabber] and [http://www.psi-im.org Psi] been developed by [[User:Murilo|Murilo Belluzzo]]. You can access other students' projects [[Summer of Code 2006|here]].
[https://xmpp.org/extensions/xep-0166.html Jingle] File Transfer is a [http://www.google.com Google] [http://code.google.com/soc Summer of Code 2006] project for [https://xmpp.org XMPP] and [http://www.psi-im.org Psi] been developed by [[User:Murilo|Murilo Belluzzo]]. You can access other students' projects [[Summer of Code 2006|here]].


The objective is to implement the File Transfer system as a media session for Jingle since the manner in which p2p connections are established (even with [http://en.wikipedia.org/wiki/Firewall_(networking) Firewalls] and [http://en.wikipedia.org/wiki/Network_address_translation NAT devices] involved) is one of the main reasons for its success and also makes it relatively easy to implement any kind of media session.
The objective is to implement the File Transfer system as a media session for Jingle since the manner in which p2p connections are established (even with [http://en.wikipedia.org/wiki/Firewall_(networking) Firewalls] and [http://en.wikipedia.org/wiki/Network_address_translation NAT devices] involved) is one of the main reasons for its success and also makes it relatively easy to implement any kind of media session.
Line 28: Line 28:
'''Synopsis'''
'''Synopsis'''


The objective of this project is to help the Jabber team in finishing a XEP that defines a media description format for Jingle File Transfer sessions and, as soon as this XEP is released, write a module that implements this functionality for the Psi client.
The objective of this project is to help the XMPP team in finishing a XEP that defines a media description format for Jingle File Transfer sessions and, as soon as this XEP is released, write a module that implements this functionality for the Psi client.


As the manner of establishing p2p connections is one of the main reasons for Jingle's success, having a File Transfer system based in it would have a much better result in comparison with the methods used nowadays.
As the manner of establishing p2p connections is one of the main reasons for Jingle's success, having a File Transfer system based in it would have a much better result in comparison with the methods used nowadays.
Line 35: Line 35:
'''Benefits to Community:'''
'''Benefits to Community:'''


* Define a good and modern standard for file transfer sessions will allow for all Jabber users to get use of this service from any IM Client they choose;
* Define a good and modern standard for file transfer sessions will allow for all XMPP users to get use of this service from any IM Client they choose;


* Improvement of the file transfer system of Jabber protocol;
* Improvement of the file transfer system of XMPP protocol;


* Bitrate improvements on file transfers for users behind NAT/Firewall, because they will be able to transfer data through direct connections instead of connections intermediated by a server;
* Bitrate improvements on file transfers for users behind NAT/Firewall, because they will be able to transfer data through direct connections instead of connections intermediated by a server;
Line 55: Line 55:
'''Project Details:'''
'''Project Details:'''


Currently, the defined methods for file transfers in the Jabber protocol weren't widely-adopted by Jabber/XMPP clients. Each one has either their own implementation or no implementation at all, which made file transfer very dependent on the client used on both sides.
Currently, the defined methods for file transfers in the XMPP protocol weren't widely-adopted by XMPP clients. Each one has either their own implementation or no implementation at all, which made file transfer very dependent on the client used on both sides.


With Jingle offering a standard for initiating and managing peer-to-peer sessions, in order to serve as a base for all bytestream-based services, nothing more logical than using it to define File Transfers in the same way that is being done with Audio and Video, making it easier to implement by other clients.
With Jingle offering a standard for initiating and managing peer-to-peer sessions, in order to serve as a base for all bytestream-based services, nothing more logical than using it to define File Transfers in the same way that is being done with Audio and Video, making it easier to implement by other clients.


The XEP that defines this has already been started by the Jabber team, so I would be working with them to help finish it (with a prototype implementation to help with testing) and afterwards implement a reference module for Psi.
The XEP that defines this has already been started by the XMPP team, so I would be working with them to help finish it (with a prototype implementation to help with testing) and afterwards implement a reference module for Psi.


My motivation for this project is quite strong : I'm behind a NAT/Firewall and I can't make efficient file transfers on any IM clients, so I would be really glad to solve this problem.
My motivation for this project is quite strong : I'm behind a NAT/Firewall and I can't make efficient file transfers on any IM clients, so I would be really glad to solve this problem.
Line 72: Line 72:


- 0.0.1 - Work in the protocol:
- 0.0.1 - Work in the protocol:
- Start working at the protocol definition with the responsible group at Jabber;
- Start working at the protocol definition with the responsible group at XMPP;
- Implement a prototype to help with the validation of the XEP;
- Implement a prototype to help with the validation of the XEP;


216

edits

Navigation menu