I agree with Doug
The original intent behind TimeToLive is that it should indicate the time by
which the message should be delivered to the application. Consider the use
case where the To Party MSH stores messages which, at the end of the day,
they forward in batch to an application. If we make the semantics mean that
the message will be processed, then, as Doug says, you can't send back the
acknowledgement until the message has been passed to the app.
I think it is completely valid to:
1. Send a delivery receipt to indicate that the message has been received by
the To Party MSH
2. Later send an error message to indicate the the To Party MSH could not
deliver the message to the App before TimeToLive expired.
A delivery receipt is just that a receipt for **delivery** it is not an
indication that the message has been processed. That can only be provided by
the application.
David