[jdev] File Transfer Interoperability

Peter Saint-Andre stpeter at jabber.org
Tue Aug 7 18:04:55 CDT 2007

Michael Laukner wrote:

> Wouldn't it be nice if file transfer worked as seamless as an e-mail
> attachment? I would love if at least the main players (recommended
> clients in jabber.org <http://jabber.org/>) could agree on an
> implementation guideline.

Yes it would.

We've struggled with this for many years. Our latest discussions
occurred at the XMPP devcon in Portland about 10 days ago. We came to a
few conclusions:

1. We need to clearly define the requirements, because there are
conflicting requirements for file transfer. I have this as an action
item. (I know, you're saying "geez we don't need a stinkin' requirements
document we just need to get this done already!", but I think it will
help quite a bit to clarify what we're trying to accomplish here.)

2. HTTP-POST by sender (via WebDAV or something simpler), XEP-0066 from
sender to recipient, and HTTP-GET by recipient is very desirable in
certain situations (e.g., the file needs to be virus-checked on the
server before sending or receiving, or the receiver is offline when the
sender wants to send). However this requires access to an HTTP server,
which might have to be bundled with the XMPP server (though perhaps just
a minimal implementation).

3. IBB (XEP-0047) is a great fallback if all else fails.

4. Wrapping all this in a Jingle negotiation may be the best way to
proceed going forward since it will enable clients to re-use code they
will have implemented for other forms of negotiation. (Naturally if the
receiver is offline then Jingle won't work, but that's where fallback
methods come into play.)

More soon...


Peter Saint-Andre

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 7354 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mail.jabber.org/pipermail/jdev/attachments/20070807/b24ae3af/attachment-0002.bin>

More information about the JDev mailing list