The suggestion/option seems to be useful/logical for that scenario you
mentioned.
As per RFC 3903,
The presence of a body and the SIP-If-Match header field
determine the specific operation that the request is performing,
as described in Table 1.
+-----------+-------+---------------+---------------+
| Operation | Body? | SIP-If-Match? | Expires Value |
+-----------+-------+---------------+---------------+
| Initial | yes | no | > 0 |
| Refresh | no | yes | > 0 |
| Modify | yes | yes | > 0 |
| Remove | no | yes | 0 |
+-----------+-------+---------------+---------------+
Table 1: Publication Operations
So the PUBLISH you suggested would be *Initial-Publication*. Then the RFC
continues in the ESC publish-request processing as follows,
4. The ESC processes the Expires header field value from the PUBLISH
request.
* If the request has an Expires header field, that value MUST be
taken as the requested expiration.
So far it looks like perfect for our scenario...
* The ESC MAY choose an expiration less than the requested
expiration interval. Only if the requested expiration interval
is greater than zero and less than a locally-configured
minimum, the ESC MAY reject the publication with a response of
423 (Interval Too Brief), and skip the remaining steps. This
response MUST contain a Min-Expires header field that states
the minimum expiration interval the ESC is willing to honor.
Your request cannot be rejected with Interval-Too-Brief (423) response. So
the solution you have should work for the scenario mentioned.
--
Thanks & Regards,
Noble Antony Thattil.
On Tue, Mar 2, 2010 at 4:59 PM, Iñaki Baz Castillo <[email protected]> wrote:
> Hi, I'm thinking about a custom usage of PUBLISH method. The idea is to
> send a
> PUBLISH with body and "Expires: 0" but no "SIP-If-Match" header, so it
> would
> generate a NOTIFY for current subscribers, but since "Expires" is 0 future
> subscriptions would not receive such notification (this is what I want to
> achieve).
>
> Is it a legal usage of PUBLISH method? In RFC 3903 I read that "Expires: 0"
> is
> used, in conjunction with "SIP-If-Match" header, to terminate an existing
> publication:
>
> -----------------------------------------------
> To request the immediate removal of event state, an EPA MUST create a
> PUBLISH request with an Expires value of "0", and set the SIP-If-
> Match header field to contain the entity-tag of the event state
> publication to be removed.
>
> Note that removing event state is effectively a publication
> refresh suggesting an infinitesimal expiration interval.
> Consequently, the refreshed event state expires immediately after
> being refreshed.
>
> Similar to an event state refresh, the removal of event state only
> affects the expiry of the event state. Therefore, a PUBLISH request
> that removes event state MUST NOT contain a body.
> -----------------------------------------------
>
>
> In my case the PUBLISH has body and "Expires: 0" but no "SIP-If-Match" so I
> expect is a legal usage. Opinions? Thanks.
>
>
> --
> Iñaki Baz Castillo <[email protected]>
>
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors