From: "Aneesh Naik" <[EMAIL PROTECTED]>

   Can Expires header have a value of "0" for INVITE request?
   If yes then how should it be handled because the request will expires as
   soon as it is received by UAS.

>From RFC 3261 section 20.19:

   The Expires header field gives the relative time after which the
   message (or content) expires.
   [...]
   The value of this field is an integral number of seconds (in decimal)
   between 0 and (2**32)-1, measured from the receipt of the request.

But there is an ambiguity in the English word "between", it may be
inclusive of the stated endpoints or exclusive.  Given that the upper
endpoint is stated as "(2**32)-1", the inclusive meaning is more
likely here.

Comparing with section 13.3.1.1:

   If the UAS is not able to answer the invitation immediately, it can
   choose to indicate some kind of progress to the UAC (for example, an
   indication that a phone is ringing).  This is accomplished with a
   provisional response between 101 and 199.

suggests that "between" is inclusive in RFC 3261.

Assuming that a value of 0 is allowed, the obvious choice of response
is 487 Request Terminated (if the device is a proxy), as that is what
it would respond if an INVITE had a non-zero expires and the
expiration period had passed.

If the device is a UAS, it's harder to see what the right response
is.  I suspect that originally 408 was intended for ring-no-answer
situations, and the ringing time was intended to be implemented by the
UAS based on the Expires header in the request.  These days, 408 seems
to be more commonly used for various transport errors.  Nonetheless,
it seems to be the intended choice if a UAS receives an Expires
header.

Dale
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to