Sure.
A URL is sent along with a message, which allows you to dictate the message type. 'Chat' and 'Normal' types are stored for offline delivery so the recipient will simply get it the next time they are available.
This is really meant as a last ditch effort in attempting to transfer a file, but it works really well for mobile XMPP clients where networks can (and frequently do) collapse.
The obvious artifact here is that the item being shared must first be uploaded to a common location (server) that the recipient can download from. This increases your overhead by having to first upload the item before the OOB message to download can be sent. I personally found this to be a benefit because I didn't have to worry about two shaky mobile networks for the transfer. I only had to deal with one at a time and once the item was uploaded, I didn't have to worry about it much.
The end result is a fairly robust way of transferring all types of files. The downside is, and I haven't found a solid solution to this yet, that I don't have a good way of knowing when I can delete a file from the server. You could delete it once the file is downloaded, but that didn't work well for our needs.
Hope that helps,
James