[Telepathy] Doubt regarding Jingle file transfer over ICE

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Oct 22 03:35:18 PDT 2010


On Fri, 22 Oct 2010 at 10:25:23 +0530, udayjandhyala at gmail.com wrote:
> What am keen to know, is according to which XEP is the current 'file
> transfer' implemented in latest
> telepathy-gabble ?

The mechanism you saw isn't a XEP, it's Google Talk's non-standard
file-transfer-over-ICE mechanism. The closest it has to official documentation
is that they have an open-source implementation, libjingle. We implement it
to be able to interoperate with Google Talk, and because it traverses NAT
better than XEP-0234 at the moment.

The most similar standardized protocol is XEP-0234, which we don't yet
implement. XEP-0234 is a prerequisite for using ICE for file transfer, but
does not actually support ICE yet, because using ICE for reliable streams is
problematic (Google's protocol manages it by using pseudo-TCP over UDP over
ICE). From XEP-0234:

    It is likely that a future version of this specification will also
    recommend implementation of a Jingle transport method that emulates the
    IETF's ICE-TCP technology, which is currently a work in progress (see
    TCP Candidates with Interactive Connectivity Establishment (ICE) [4]);
    however, a future Jingle ICE-TCP transport method is dependent on the
    outcome of IETF work in this area.

We also implement XEP-0096 "SI File Transfer", over either
XEP-0065 "SOCKS5 Bytestreams" or XEP-0047 "In-Band Bytestreams", to
interoperate with other general-purpose XMPP clients like Pidgin, Psi etc.

Recent versions of telepathy-gabble should automatically discover a SOCKS5
proxy by querying a configurable fallback server, which defaults to
"proxies.telepathy.im".

> XEP 176 talks about Jingle & ICE-UDP transport, but telepathy-gabble doesn't
> follow that either...

We do implement XEP-0176 (the current version and several earlier versions,
in fact), but only for audio/video calls (for which UDP is sufficient). You
can't transfer files over an unreliable protocol like UDP, unless you put a
reliability layer (like Google's pseudo-TCP) over the top.

    Simon


More information about the telepathy mailing list