Re: [Sip] Possible improvement in draft-ietf-sipcore-invfix (CANCEL processing)

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 24 May 2010 11:46 UTC

Return-Path: <christer.holmberg@ericsson.com>
X-Original-To: sip@core3.amsl.com
Delivered-To: sip@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7BBB13A6B95 for <sip@core3.amsl.com>; Mon, 24 May 2010 04:46:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.744
X-Spam-Level:
X-Spam-Status: No, score=-3.744 tagged_above=-999 required=5 tests=[AWL=-0.045, BAYES_50=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gWGWfyLsjvGx for <sip@core3.amsl.com>; Mon, 24 May 2010 04:46:21 -0700 (PDT)
Received: from mailgw10.se.ericsson.net (mailgw10.se.ericsson.net [193.180.251.61]) by core3.amsl.com (Postfix) with ESMTP id 120343A6B96 for <sip@ietf.org>; Mon, 24 May 2010 04:46:20 -0700 (PDT)
X-AuditID: c1b4fb3d-b7be7ae000002159-5b-4bfa670350fe
Received: from esessmw0197.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw10.se.ericsson.net (Symantec Mail Security) with SMTP id 05.2A.08537.3076AFB4; Mon, 24 May 2010 13:46:11 +0200 (CEST)
Received: from ESESSCMS0354.eemea.ericsson.se ([169.254.1.34]) by esessmw0197.eemea.ericsson.se ([153.88.115.87]) with mapi; Mon, 24 May 2010 13:46:11 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: 'Iñaki Baz Castillo' <ibc@aliax.net>, Paul Kyzivat <pkyzivat@cisco.com>
Date: Mon, 24 May 2010 13:46:10 +0200
Thread-Topic: [Sip] Possible improvement in draft-ietf-sipcore-invfix (CANCEL processing)
Thread-Index: AcrqI8KecKp+0yZgSqGkTAo2LRjOogREqnCA
Message-ID: <FF84A09F50A6DC48ACB6714F4666CC7465C556F11E@ESESSCMS0354.eemea.ericsson.se>
References: <r2zcc1f582e1004301537w2f5a81b2xcbbd290a7a6f6e02@mail.gmail.com> <4BDCFCE8.6040107@cisco.com> <x2gcc1f582e1005020343t46f18e23mcbfc191e38398e4b@mail.gmail.com> <4BDDBED0.3020600@cisco.com> <w2wcc1f582e1005021117o191d2222v370ee4b941d922bd@mail.gmail.com>
In-Reply-To: <w2wcc1f582e1005021117o191d2222v370ee4b941d922bd@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAA==
Cc: "sip@ietf.org" <sip@ietf.org>
Subject: Re: [Sip] Possible improvement in draft-ietf-sipcore-invfix (CANCEL processing)
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 May 2010 11:46:22 -0000

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.

Regards,

Christer

 

-----Original Message-----
From: sip-bounces@ietf.org [mailto:sip-bounces@ietf.org] On Behalf Of Iñaki Baz Castillo
Sent: 2. toukokuuta 2010 21:18
To: Paul Kyzivat
Cc: sip@ietf.org
Subject: Re: [Sip] Possible improvement in draft-ietf-sipcore-invfix (CANCEL processing)

2010/5/2 Paul Kyzivat <pkyzivat@cisco.com>:
>> Hi Paul, I do know that the UAC shouldn't send the CANCEL, but it 
>> could occur (race conditions, 200 reply lost in the network...). So 
>> the proxy must know how to behave when a CANCEL arrives for an INVITE 
>> transaction in "Accepted" state, something that doesn't make sense in 
>> the original 3261 specification as the proxy terminates the INVITE 
>> transaction when the 200 arrives (immediately).
>>
>> I think innfix draft should clarify it: what should do a proxy when a 
>> CANCEL arrives and matches an INVITE transaction in "Accepted" state?
>
> Ok, if you are only concerned with being clear about this, and not 
> that it is something of general utility. It seems it doesn't really 
> matter whether the CANCEL is propagated by the proxy or not, since it 
> is destined to be a no-op. It would be more efficient to block its 
> propagation, but given the rarity of the situation I don't think it really matters.

The problem I've seen is in an existing SIP proxy which mantains the INVITE transaction in memory after 200 arrives. It does it even before invfix draft exists (this is, the proxy already fixes the bug in RFC 3261). However when such proxy receives a CANCEL for an INVITE transaction for which the proxy has already sent a 200, it replies 200 to the CANCEL. This doesn't make sense (as it has canceled nothing because the transaction was already confirmed by the UAS).

So I would like to know the correct behavior of the proxy in this case in order to improve/report it. However I would like such behavior to be clarified in draft invfix as with the original 3261 specification there was no place to this ambiguity (a CANCEL would never match an INVITE transaction as the proxy terminated it upon receipt of a 200 for the INVITE).

Statelessly relaying the CANCEL makes no sense for me, it seems an exotic "feature" as many others that never work. In fact, draft invfix states that a stateful proxy should not relay responses if they don't match a transaction, so the possible 481 response to the CANCEL coming from the UAS would be dropped by the proxy and UAC would generate useless retransmissions. Same would occur if the proxy just ignores/drops the CANCEL.

So IMHO a response by the proxy is needed. Perhaps a 481 as the INVITE transaction is not active (but in "Accepted" state). Anything but a 200.

Thanks.



--
Iñaki Baz Castillo
<ibc@aliax.net>
_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is essentially closed and only used for finishing old business.
Use sip-implementors@cs.columbia.edu for questions on how to develop a SIP implementation.
Use dispatch@ietf.org for new developments on the application of sip.
Use sipcore@ietf.org for issues related to maintenance of the core SIP specifications.