IMO it's correct for proxy to reply with '200 CANCEL', evne incase it has
already forwarded a final response.
Here, since the UAC will receive the final response of INVITE, then it will
send a BYE.

We can relate its similarity to handling of CANCEL at UAS after being sent
an INVITE 2xx, as per 3261 itself -
   If the transaction for the original request still exists, the behavior of
the UAS on receiving a CANCEL request depends on whether it has already sent
a final response for the original request.

Also, similar race might happen when there are multiple stateful proxies in
path and CANCEL and INVITE 2xx are converging towards each other from
different UA ends.

Thus as said below, it simply means "Ok, I got the request".

Regards,
Harbhanu

****************************************************************************
***********
This e-mail and attachments contain confidential information from HUAWEI,
which is intended only for the person or entity whose address is listed
above. Any use of the information contained herein in any way (including,
but not limited to, total or partial disclosure, reproduction, or
dissemination) by persons other than the intended recipient's) is
prohibited. If you receive this e-mail in error, please notify the sender by
phone or email immediately and delete it!

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Iñaki
Baz Castillo
Sent: Monday, May 24, 2010 6:31 PM
To: Christer Holmberg
Cc: [email protected]; Paul Kyzivat
Subject: Re: [Sip] Possible improvement in draft-ietf-sipcore-invfix
(CANCELprocessing)

2010/5/24 Christer Holmberg <[email protected]>:
>
> Hi,
>
> My understanding is that 200 OK for the CANCEL only means "Ok, I got the
request".
>
> It is the INVITE response that matters. If the INVITE transaction was
cancelled, the UAC would not have received a 200 OK for the INVITE.


Hi, let me re-explain my example (assuming the proxy implements invfix
draft:


- alice sends INVITE to the proxy.
- The proxy relays it to bob.
- bob replies 200.
- The proxy relays the 200 to alice. The INVITE transaction in the
proxy remains in "Accepted" state (invfix addition).
- alice sends now a CANCEL (before receiving the 200 for the INVITE).
- The proxy receives the CANCEL and matches the existing INVITE
transaction (in "Accepted" state), what should it reply? "200
Canceled"? there is nothing to cancel right now as a 200 was already
received by the proxy.


-- 
Iñaki Baz Castillo
<[email protected]>
_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is essentially closed and only used for finishing old business.
Use [email protected] for questions on how to develop a SIP
implementation.
Use [email protected] for new developments on the application of sip.
Use [email protected] for issues related to maintenance of the core SIP
specifications.

_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is essentially closed and only used for finishing old business.
Use [email protected] for questions on how to develop a SIP 
implementation.
Use [email protected] for new developments on the application of sip.
Use [email protected] for issues related to maintenance of the core SIP 
specifications.

Reply via email to