Brett Tate wrote:
>> ABNF for CSeq header is
>> CSeq = "CSeq" HCOLON 1*DIGIT LWS Method
>>
>> This does mean that '0' is a valid CSeq number.
>> I see some stacks rejecting the requests if CSeq number is ZERO.
>>
>> Can I know the expert opinion about the same. I mean, was
>> that intended to be non-zero unsigned number or just
>> unsigned number
>
> It is valid for CSeq to start at 0. However as you have observed, it can
> cause interoperability problems for those who try. I'm not sure if the
> reason is because of a misinterpretation of the non normative "non-zero"
> text in RFC 3261 section 12.2.1.1 or because of the many examples showing it
> starting 1.
>
> Additionally some devices have problems handling cseqs between 2^31 and
> 2^32. Thus I recommend avoiding this range also.
CSeq for requests *outside* a dialog (or dialog establishing requests)
MUST be < 2^31. (See section 8.1.1.5)
Requests *within* a dialog may take values up to 2^32-1. If the CSeq in
a dialog establishing request happens to be close to 2^31 then requests
within the dialog will be forced into the range above 2^31, so that must
be supported. (This guarantees that any dialog can have at least 2^31
requests in each direction. Hopefully that is enough. :-)
The value 0 does seem valid.
Paul
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors