[Standards] Call for Experience: XEP-0198: Stream Management

Daniel Gultsch daniel at gultsch.de
Fri Feb 21 08:49:56 UTC 2020

Am Di., 11. Feb. 2020 um 15:21 Uhr schrieb Jonas Schäfer <jonas at wielicki.name>:
> The XEP Editor would like to Call for Experience with XEP-0198 before
> presenting it to the Council for advancing it to Final status.
> During the Call for Experience, please answer the following questions:
> 1. What software has XEP-0198 implemented? Please note that the
> protocol must be implemented in at least two separate codebases (at
> least one of which must be free or open-source software) in order to
> advance from Draft to Final.

I have implemented Stream Management in Conversations. The
implementation is independent of other implementations. It is licensed
under GPLv3

I think we currently have very little experience for implementing this
on s2s; but with MIX upcoming, I understand that this is something we
eventually want to do?

So maybe we should hold back until we have experience for s2s as well?

> 2. Have developers experienced any problems with the protocol as
> defined in XEP-0198? If so, please describe the problems and, if
> possible, suggested solutions.

Yes. My implementation (and I believe other as well) have suffered
from counting errors that are easy to make and hard to spot.

At some point we introduced the "streams should be terminated" if a
remote (that means server?) detects a higher than expected stanza
count. I’m actually not sure if server implementations implement that.

Maybe that should be extended to clients as well? Conversations on the
client side will just output a warning that nobody would ever see.

> 3. Is the text of XEP-0198 clear and unambiguous? Are more examples
> needed? Is the conformance language (MAY/SHOULD/MUST) appropriate?
> Have developers found the text confusing at all? Please describe any
> suggestions you have for improving the text.

I noticed that the first section doesn’t mention <r/> as a ping
methods; which I believe is a pretty widespread form of pinging.

> If you have any comments about advancing XEP-0198 from Draft to Final,
> please provide them by the close of business on 2020-02-25. After the
> Call for Experience, this XEP might undergo revisions to address
> feedback received, after which it will be presented to the XMPP
> Council for voting to a status of Final.

Yes the TLDR from what I said earlier:
* No s2s experience
* Should all entities be more strict about closing the stream on
counting errors?
* Doesn’t mention <r/> for pinging (Should maybe actually discourage 199 pings)


More information about the Standards mailing list