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

Reply via email to