Subject: [dispatch] Requests sent within early dialog -- CSeq mgmt

From: "Szilagyi, Mike" <[email-masked]>
Date: Wed, 26 Aug 2009 17:10:37 -0400

I've not been able to find definitive text regarding this issue so I'm hoping someone can provide clarification.  If a request (INFO or UPDATE) is sent on a dialog in the early state, how are the CSeq numbers managed by the UAS.  Here's an example to demonstrate my confusion:

UAC             UAS
 INVITE
 CSeq 1 --------->

 <----- 100 Trying   Remote CSeq = 1

 UPDATE
 CSeq 2 --------->

 <-- 200 OK (UPDATE) Remote CSeq = 2

 CANCEL
 CSeq 1 --------->   Rejected CSeq < 2

is there text that describes the handling of CSeq numbers for requests sent within another request for the same dialog?

Thanks in advance.

Mike

---

From: Neel Balasubramanian <[email-masked]>
Date: Wed, 26 Aug 2009 14:45:22 -0700

See below.

Thanks,
Neel.

> -----Original Message-----
> From: [email-masked] [mailto:sip-
> [email-masked]] On Behalf Of Szilagyi, Mike
> Sent: Wednesday, August 26, 2009 4:11 PM
> To: [email-masked]; [email-masked]; sip-
> [email-masked]
> Subject: [Sip-implementors] Requests sent within early dialog -- CSeq
> mgmt
>
> I've not been able to find definitive text regarding this issue so I'm
> hoping someone can provide clarification.  If a request (INFO or
> UPDATE) is sent on a dialog in the early state, how are the CSeq
> numbers managed by the UAS.  Here's an example to demonstrate my
> confusion:
>
> UAC             UAS
>  INVITE
>  CSeq 1 --------->
>
[Neel]
For CANCEL processing, the CSeq should be same as that of the INVITE.

See RFC 3261 section 9.1

   The following procedures are used to construct a CANCEL request.  The
   Request-URI, Call-ID, To, the numeric part of CSeq, and From header
   fields in the CANCEL request MUST be identical to those in the
   request being cancelled, including tags.

So in this case, the UAS is not behaving correctly.
>
> is there text that describes the handling of CSeq numbers for requests
> sent within another request for the same dialog?
>
> Thanks in advance.
>
> Mike
> _______________________________________________
> Sip-implementors mailing list
> [email-masked]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

---

From: "Szilagyi, Mike" <[email-masked]>
Date: Thu, 27 Aug 2009 11:06:18 -0400

But, Section 12.2.2 says this:

12.2.2 UAS Behavior
.
.
   If the remote sequence number is empty, it MUST be set to the value
   of the sequence number in the CSeq header field value in the request.
   If the remote sequence number was not empty, but the sequence number
   of the request is lower than the remote sequence number, the request
   is out of order and MUST be rejected with a 500 (Server Internal
   Error) response.  If the remote sequence number was not empty, and
   the sequence number of the request is greater than the remote
   sequence number, the request is in order.
.
.

Should the UAS ignore the CSeq number if it's a CANCEL?  Is there text anywhere, in any RFC (UPDATE/INFO/SIP) that describes this behavior?  I can't find it.

Regards.

-----Original Message-----
From: Neel Balasubramanian [mailto:[email-masked]] 
Sent: Wednesday, August 26, 2009 5:45 PM
To: Szilagyi, Mike; [email-masked]; [email-masked]; [email-masked]
Subject: RE: Requests sent within early dialog -- CSeq mgmt

See below.

Thanks,
Neel.

[Neel]

See RFC 3261 section 9.1