[OpenSIPS-Devel] [ opensips-Feature Requests-3115782 ] presence: unique record update for PUBLISH w/o SIP-If-Match

Ovidiu Sas osas at voipembedded.com
Sat Nov 27 15:47:59 CET 2010


On Sat, Nov 27, 2010 at 3:41 AM, Juha Heinanen <jh at tutpro.com> wrote:
>
>> 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.
>
> my mwi application first checks if etag exists and depending on the
> result, either uses existing one or "." in the new publish.

Hello Juha,

That is the correct behavior.  I have seen scenarios in which PUBLISH
were sent all the time without an etag (externnotify from asterisk
sending PUBLISH).  It works, but it creates multiple records in the
presentity table.
I was thinking about extending the sever behavior for this particular
kind of event packages for which a single record in the presentity
table is enough to maintain the event state.

Regards,
Ovidiu Sas



More information about the Devel mailing list