There are no syntax problem.
("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. A CANCEL constructed by a
client MUST have only a single Via header field value matching the
top Via value in the request being cancelled" )
+++++
INVITE sip:[email protected];transport=udp SIP/2.0
From: "AHTV Ric
1"<sip:[email protected]>;tag=13e7858-7a8c200a-13c4-5506-38-3625c56-38
To: <sip:[email protected];transport=udp>
Call-ID: 14800c0-7a8c200a-13c4-5506-38-1b91bc30-38
CSeq: 1 INVITE
Via: SIP/2.0/UDP 10.32.140.122:5060;rport;branch=z9hG4bK-38-dc39-6b4deb27
CANCEL sip:[email protected];transport=udp SIP/2.0
From: "AHTV Ric
1"<sip:[email protected]>;tag=13e7858-7a8c200a-13c4-5506-38-3625c56-38
To: <sip:[email protected];transport=udp>
Call-ID: 14800c0-7a8c200a-13c4-5506-38-1b91bc30-38
CSeq: 1 CANCEL
Via: SIP/2.0/UDP 10.32.140.122:5060;rport;branch=z9hG4bK-38-dc39-6b4deb27
+++++
See rfc
9.1 Client Behavior
A CANCEL request SHOULD NOT be sent to cancel a request other than
INVITE.
Since requests other than INVITE are responded to immediately,
sending a CANCEL for a non-INVITE request would always create a
race condition.
Rosenberg, et. al. Standards Track [Page 53]
RFC 3261 SIP: Session Initiation Protocol June 2002
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. A CANCEL constructed by a
client MUST have only a single Via header field value matching the
top Via value in the request being cancelled. Using the same values
for these header fields allows the CANCEL to be matched with the
request it cancels (Section 9.2 indicates how such matching occurs).
However, the method part of the CSeq header field MUST have a value
of CANCEL. This allows it to be identified and processed as a
transaction in its own right (See Section 17).
If the request being cancelled contains a Route header field, the
CANCEL request MUST include that Route header field's values.
This is needed so that stateless proxies are able to route CANCEL
requests properly.
The CANCEL request MUST NOT contain any Require or Proxy-Require
header fields.
Once the CANCEL is constructed, the client SHOULD check whether it
has received any response (provisional or final) for the request
being cancelled (herein referred to as the "original request").
If no provisional response has been received, the CANCEL request MUST
NOT be sent; rather, the client MUST wait for the arrival of a
provisional response before sending the request. If the original
request has generated a final response, the CANCEL SHOULD NOT be
sent, as it is an effective no-op, since CANCEL has no effect on
requests that have already generated a final response. When the
client decides to send the CANCEL, it creates a client transaction
for the CANCEL and passes it the CANCEL request along with the
destination address, port, and transport. The destination address,
port, and transport for the CANCEL MUST be identical to those used to
send the original request.
If it was allowed to send the CANCEL before receiving a response
for the previous request, the server could receive the CANCEL
before the original request.
Note that both the transaction corresponding to the original request
and the CANCEL transaction will complete independently. However, a
UAC canceling a request cannot rely on receiving a 487 (Request
Terminated) response for the original request, as an RFC 2543-
compliant UAS will not generate such a response. If there is no
final response for the original request in 64*T1 seconds (T1 is
Rosenberg, et. al. Standards Track [Page 54]
RFC 3261 SIP: Session Initiation Protocol June 2002
defined in Section 17.1.1.1), the client SHOULD then consider the
original transaction cancelled and SHOULD destroy the client
transaction handling the original request.
Thanks!
Valdemar
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of ext
Pavesi, Valdemar (NSN - US/Irving)
Sent: Wednesday, April 20, 2011 9:28 AM
To: ext Chandan Kumar; [email protected]
Subject: Re: [Sip-implementors] SIP request Cancel Issue
Ckumar.,
I think the client is terminating the dialog after receives a 200OK for CANCEL.
Normally we do have:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Uac --------------------> UAS
----invite-------------->
<----100/180/------------
---cancel------(cseq cancel)---------->
<---487 ( cseq INVITE)----
-----ack-(Cseq INVITE)--->
<-------200OK for cancel---(cseq cancel)-
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
The cancel just tell to server that there is a intention to cancel the dialog.
In your case after 200ok Then the client must wait for 487 and send ACK and
then can clean the dialog.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Regards!
Valdemar
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of ext
Chandan Kumar
Sent: Wednesday, April 20, 2011 8:21 AM
To: [email protected]
Subject: [Sip-implementors] SIP request Cancel Issue
Hi ,
Iam facing an issue with Cancel. Please find the Cancel.txt which has the
call cancel sequence..
Voip-1 makes a call throough Server ,before Voip2 accepts it cancels call.
1)Voip-1 sends Cancel ,Server responds with 200 Ok.
2)Server sends 487 Request Termination ,But Voip1 is not responding .Whats
exactly the issue here .?Please Can some one clarify here.
3) Voip1 sends Cancel request for which server responds with 481 call doesn't
exist
4) Voip1 Sends ACK .Even After this Server keep sending 481 call doesn't exist.
Voip 1: 10.32.140.122
Voip 2: 10.32.140.139
Server: 10.32.128.20
Please Can some one let me know where excatly the issue is.
Best Regards,
Ckumar.
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors