RFC 3903 mandates the presence of 'SIP-If-Match' header for updating and keeping track or records inside the presentity table.
For some event packages (like mwi), a single record per subscription is enough.
Let's discus the MWI case. If a PUBLISH is received by the presence server, a record is created and a 200ok with 'SIP-ETag' header is sent back.
If a new PUBLISH is received and the PUBLISH does not have a 'SIP-If-Match' header that will match the previous 'SIP-ETag' header, a new record will be created for the same subscription. Instead of creating a new record, the existing record should be updated: the state of the voicemail box is unique per subscriber.
This approach is not compliant with the rfc 3903, but it make sense to implement the above behavior for certain event types packages like mwi.
Log in to post a comment.