[Standards] XEP-198 when to start counting?

Matthew Wild mwild1 at gmail.com
Fri Jun 17 17:37:15 UTC 2011


On 17 June 2011 18:25, Jefry Lagrange <jefry.reyes at gmail.com> wrote:
> When I test stream management with a prosody server, this happens:
>
> <!-- Out -->
> <enable xmlns="urn:xmpp:sm:2" resume="true" />
>
> <!-- Out -->
> <iq type="set" id="2">
> <session xmlns="urn:ietf:params:xml:ns:xmpp-session" />
> </iq>
>
> <!-- In -->
> <enabled id='a8110118-42ec-485c-b386-85b2d12a02a1' resume='true'
> xmlns='urn:xmpp:sm:2'/>
>
> <!-- Out -->
> <r xmlns="urn:xmpp:sm:2" />
>
> <!-- In -->
> <iq id='2' type='result'
> to='jtest at thiessen.im/919aece2-21f2-4fc4-9e02-1111ac522509_'/>
> <r xmlns='urn:xmpp:sm:2'/>
>
> <!-- Out -->
> <a xmlns="urn:xmpp:sm:2" h="1" />
>
>
>
> The client sent an IQ stanza before it received confirmation for SM
> negotiation <enabled />. When should I start counting? When I send
> <enable /> or when I receive <enabled />?
>

When you send <enable/>, if you're going to send stanzas before you
receive <enabled/>.

The XEP says this:

"
The value of 'h' starts at zero at the point stream management is
enabled or requested to be enabled, is incremented to one for the
first stanza handled, and is incremented by one again with each
subsequent stanza handled.
"

...which isn't too decisive, to say the least :)

You should definitely start counting from when you send <enable/>,
because it is from receiving that that the server starts counting on
its end and because it has no idea at what time you, the client,
receive the <enabled/>.

> Also in the XEP document, section 11.3 Stream Features. It says that
> "The XMPP Registrar includes 'urn:xmpp:sm:3' in its registry of stream
> features at <http://xmpp.org/registrar/stream-features.html>." But at
> that URL you can't find 'urn:xmpp:sm:3', only 'urn:xmpp:sm:2' is
> there.
>

Probably a communications failure between the XEP Editor and the XMPP
Registrar :)

Regards,
Matthew



More information about the Standards mailing list