[ejabberd] Transfer File function - supported?
flatworm at users.sourceforge.net
Mon Dec 12 16:01:05 MSK 2011
On Mon, 12 Dec 2011 18:53:10 +0800
David Chan <chan_hok_ching at yahoo.com> wrote:
> I would like to know if ejabberd supports file transfers between
> users? If so, what should I do to enable this?
There are several extensions to XMPP describing file transfer protocols;
some of them are deprecated, some are draft standards, but note that
from the point of view of a server there are two ways to transfer
files in XMPP:
1) In-band, where clients transfer the file's data using the same
stream they're using for "conventional" communitation (presence and
message exchange). Such in-band stream obviously passes via
the sender's and receiver's servers, but require no special support
from the servers.
2) "Pure" peer-to-peer, where clients connect directly to one another to
transfer a file.
3) Peer-to-peer transfer mediated by a SOCKS-proxy .
In all the cases, the handshake is carried out by the clients (the
server just routes their stanzas, as usually). In the latter case the
server (or an external component) also acts as a proxy for the actual
data stream of the file's data. ejabberd has an implementation of this
proxy server in the form of a module called mod_proxy65; refer to
ejabberd's Installation and Operation guide for the details about how
to enable and configure it.
So, let's recap:
1) The server has nothing to do with file transfers in a common case as
it's carried out by clients.
2) The clients (if their implementation supports this) can use a proxy
for their peer-to-peer transfer; in this case you can use the proxy
implementation provided by ejabberd.
Note that the usage of a proxy is explicit, that is, a client has to
be configured to use the specified service.
More information about the ejabberd