[JDEV] OOB filetransfer negotiation

Sebastiaan 'CBAS' Deckers cbas at screaming3d.com
Sat Aug 11 14:20:31 CDT 2001

> Oh boy, that's a new one to me! I keep finding more and more of these
> secret protocol extensions. The "standard" way to transfer files, which
> I've implemented, is to send a <message> containing a jabber:x:oob
> extension element -- this is documented in the JPO and JPG.
> I just took at look at the jabber:iq:oob "spec". I don't really see why
> someone decided to re-invent this in a different form. Surely the
> accept/refuse feedback could have been implemented just as well using
> reply <message>s?

As a longtime ICQ-user, I think the <message> element should be used for
(web) URL's and the <IQ> for P2P transfers.
Actually the link Cris Chen posted (http://docs.jabber.org/proto/) clearly
states this (well, as clear as Jabber docs can be ;-) ).

> One drawback to using an <iq> to send files is that you can't send it
> through a conference/chatroom, which I've implemented in my client.
> (BTW, sending to a chatroom is a case that breaks the 'relay server'
> thing that has recently been implemented to bypass firewalls, because
> it's not one-to-one.)

What relay-server thing? Any docs about this?

> I've actually implemented a significant number of extensions to the
> defined jabber:x:oob in my client, mostly to help the receiver display
> meaningful information about the file transfer before it begins. I've
> added attributes to the <url> element that identify various metadata
> about the transfer (is it a file vs. a directory? What is its size? What
> POSIX or HFS metadata does it have?) Of course this isn't known to be
> accurate, but it lets the receiver display various info to the user
> (including an icon) and it can be re-verified after the actual file is
> downloaded.

Woohoo, I'm glad to hear that, but what client are you talking about? Did
you document the extensions so my own, and other, client can support them?
It'd be great to have a little more info about the transfer than a url with
some vague filedescription.
The icon you speak of, is it also sent inside the IQ? (seems odd, but

I haven't looked at many clients (only Jabber IM and WinJab) but are there
any that don't support P2P transfer over HTTP?
And those that support HTTP, do they also support resuming or other fancy
HTTP-stuff? (like security, cookies, directory listing, searching, ...)

Thanks for the help so far,

More information about the JDev mailing list