Dan:
I think the main problem with section 7.5.2 (starting with line 1662 in
particular) is that it assumes duplicate elimination is always performed. On
the other hand, if duplicateElimination is set to false in the incoming
message, no attempt should be made to determine if the message is a
duplicate at all. The message may still have to be stored persistently
before being acknowledged. Otherwise, it may be difficult to guarantee "at
least once" delivery if Acknowledgment is returned before the message is
delivered to the application. Once it has been passed on to the
application, the persistent copy can be discarded. There is no need to wait
for the PersistDuration to expire.
I agree with you that section 3.1.7.1 requires some rewording.
Regards,
-Arvola