Clarification needed for Subscriptions and expirationCounter
The original intent and behaviour for the <subscription>'s "expirationCounter" attribute is not clear.
The text in TS-0001 says (10.2.10.7):
The expirationCounter shall be decreased by one when the Hosting CSE successfully sends the notification request to Receiver(s). If the counter reaches zero, the corresponding subscription resource shall be deleted.
In TS-0004 it is stated (7.5.1.2.2),
If the expirationCounter attribute is set, then its value shall be decreased by one when the Originator successfully sends the Notify request primitive. If the counter meets zero, the corresponding resource shall be deleted. […]
So, is it decreased once per “event” (like a child resource added) or once per sent Notify request? The problem occurs when the <subscription>'s “nu” contains multiple notification targets.
In case it is decreased once per Notify request, a single “event” might decrease the counter multiple times. What happens if the CSE is in the middle to notify multiple targets and the "expirationCounter" expires before sending Notify requests to all the targets? For example, the “expirationCounter” is 2, but “nu” contains 3 URIs?