David:
I have a couple of questions / comments on your proposal:
1. Is it possible for an intermediary to receive a message with retry count
n+1 when its retries for the same message with retry count n have not
yet been exhausted? In other words, after an intermediary has forwarded
a message with retry count n+1, should it refrain from retrying the same
message with retry count n because it has not yet received the Ack for
retry count n?
2. The From Party should stop retrying as soon as it receives any DR for
a given message. It does not have to wait for a DR with a matching
retry count.
3. In your example, Ack/ID 1.1 and DR/ID 1.1 can be packaged into the
same ebXML message. Presumably the Ack element should be
included in the Via element so that it is not passed on to other MSHs.
4. Should the From Party be aware of the existence of intermediaries?
Should it refrain from asking for DeliveryReceipt when there are no
intermediaries? In that case, retransmission on Ack timeout is
sufficient.
Cheers,
-Arvola