[Standards] Application-level delivery notification between server and client

Daniele Ricci daniele.athome at gmail.com
Tue Aug 6 20:15:06 UTC 2013

Please correct me if I'm wrong at any point, just to be sure I
understand XEP 198 and how I can use it in the right way.

First of all, in this:
"the client or server can send ack elements at any time over the stream"

this means that I can send <a/> or <r/> just for message stanzas.

Then it states:
"The value of 'h' starts at zero at the point stream management is
enabled or requested to be enabled (see note below). The value of 'h'
is then incremented to one for the first stanza handled and
incremented by one again with each subsequent stanza handled."

In my case, I can only use the 'h' attribute to store the server-side
message ID. Which I can't do according to the spec.

But the biggest and main issue is: a receipt is actually part of a
message. It's not stream management; it means Alice will receive a
delivery receipt when message has been delivered (and acknowledged) by
Bob. I can't just throw off <r/> at any time for this purpose - it
would not be stream management any more. That's why I think I need
something half XEP 198 and half XEP 194.

If you have any more advices on a way to handle this situation,
please. I don't like to re-invent the wheel :-)

On Tue, Aug 6, 2013 at 9:58 PM, Matthew Wild <mwild1 at gmail.com> wrote:
> On 6 August 2013 20:51, Daniele Ricci <daniele.athome at gmail.com> wrote:
>> Hi Kevin,
>> XEP 198 lets you acknowlege every stanza in the stream. I want
>> something more specific. Something to confirm messages and return
>> (together with the ack) a message identifier - which is actually a
>> server-side message ID). And all of that in a "paranoid way": when a
>> message is sent, server sends ack back (with message ID); when a
>> message is delivered, client sends an ack back to the server.
> I don't understand what the difference to or advantage over XEP-0198 is?
> Regards,
> Matthew


More information about the Standards mailing list