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

Bruce Campbell b+jabber at bruce-2010.zerlargal.org
Tue Aug 6 21:20:05 UTC 2013

On Tue, 6 Aug 2013, Daniele Ricci wrote:

> 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.

> 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?

> 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.

For any stanza, not counting the <a/>s and <r/>s themselves.  But under 
0198, these aren't propagated any further than the stream between the 
client and its directly connected server.

> 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.

No, since 0198's definition of 'h' is a simple count of stanzas sent.

> 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.

Does XEP 0079 have anything useful for you?  In particular the 'deliver' 
ruleset under 3.5.1 .  This is assuming that your client and your 
recipient's server have it enabled, and likewise the recipient's client 
has support.


More information about the Standards mailing list