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
