[Telepathy] Link-Local 1-1 stream tubes XMPP protocol
alban.crequy at collabora.co.uk
Sat Jan 17 19:34:26 PST 2009
Le Fri, 16 Jan 2009 17:48:01 +0000,
Guillaume Desmottes <guillaume.desmottes at collabora.co.uk> a écrit :
> According to Sjoerd, current 1-1 stream tube XMPP protocol is wrong.
> We should design and implement a new one so the next release of Salut
> would have 1-1 stream tube support enabled.
> The protocol implement in Gabble is documented on
> It doesn't really make sense to re-use it as there is no point to use
> SI in Salut.
> The current protocol implemented in Salut is:
> dev2 offers a stream tube to dev1:
> <iq type="set" from="dev2 at cass-lpt-2" to="dev1 at cass-lpt-2"
> <tube type="stream" service="x-example" id="927266064"
> <transport port="52116"/>
> <parameter name="login" type="str">badger</parameter>
> <parameter name="a_int" type="int">69</parameter>
> dev2 accepts the tube offer
> <iq type="result" from="dev1 at cass-lpt-2" to="dev2 at cass-lpt-2"
> Then dev2 connects to $IP:52116 for each tube connection, where $IP is
> the address announced by dev1's avahi presence (Salut tries each
> address until finding one working).
> When one the peer wants to close the tube, he sends an IQ stanza which
> has to be acked by the other peer.
> <iq to=bla from=foo type='set'>
> <close xmlns="http://telepathy.freedesktop.org/xmpp/tubes"
The specs I used for 1-1 tubes in salut is here:
To offer a tube, it uses an <iq> stanza instead of a <message> because:
1/ we don't want the server to store the messages when the contact is
2/ if the contact does not support tubes, a <iq> reply with error will
be sent automatically, while <message> would just have been ignored.
We have to address theses issues in the new protocol:
- what happens when a contact goes offline and online again: does the
tube offer remains valid?
More information about the Telepathy