#1128 new enhancement

Please implement XEP-198 (stream control)

Reported by:… Owned by: wilmer
Priority: normal Milestone:
Component: Jabber Version: 3.2.1
Keywords: xep-198 streams lost packages reliability Cc: mhellwig@…
IRC client+version: Client-independent Operating System: Linux
OS version/distro: Debian wheezy


Currently, if there's a network hiccough (or a mobile client gets a new IP address), Jabber messages get lost between server and client, despite the TCP transport. XEP-198 fixes this, but it needs support from servers and clients.

Please implement XEP-198 (which should be trivial) in BitlBee!

Attachments (0)

Change History (4)

comment:1 Changed at 2014-02-12T21:30:45Z by dx

Wouldn't it be enough to handle errors from XEP-198 clients, as #1114 says? BitlBee is not a mobile client, network issues are supposed to be a rare thing.

(which should be trivial)


comment:2 Changed at 2014-02-12T21:42:24Z by…

Yeah, you busted me on that trivial comment! ;)

Anyway, BitlBee is not a mobile client, but it may well run on a link with persistent network problems or IP changes.

You are right though, #1114 seems more important.

comment:3 Changed at 2014-02-12T21:57:44Z by dx

Cc: mhellwig@… added

We talked about this issue in #bitlbee a few weeks ago with the_eye (the one who submitted #1114 - adding him to CC), he made a really good series of blog posts detailing the current situation (starts here, list).

The main problem with both this ticket and #1114 is that we're trying to be as stateless as possible, and XEP-0198 requires us to track the state of all messages. We sort of figured out a way to avoid having state for #1114 by giving the messages meaningful IDs, so all that's left for that ticket is, well, *cough* to actually write it. But for an actual XEP-0198 implementation there's no way we can avoid tracking everything.

But I can understand that this can be desirable, and, well, we have other 300 tickets open, so it won't hurt to leave this one around if we ever figure out something.

comment:4 Changed at 2014-02-12T22:24:59Z by wilmer

I only gave the XEP a quick read, it looks like you need to request ACKs from the server on whether everything sent up to that point has arrived or not. So if stuff is just kept in the transmit buffer until the server has acknowledged it, that doesn't mean too much state tracking.

But I might be wrong, didn't read it all very carefully.

Still, yeah, a fair chunk of work.

Modify Ticket

as new The owner will remain wilmer.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.