Re: [sipcore] draft-roach-sipcore-rfc3265bis-00

"Christer Holmberg" <christer.holmberg@ericsson.com> Mon, 17 August 2009 21:50 UTC

Return-Path: <christer.holmberg@ericsson.com>
X-Original-To: sipcore@core3.amsl.com
Delivered-To: sipcore@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7A0993A6DC8 for <sipcore@core3.amsl.com>; Mon, 17 Aug 2009 14:50:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.605
X-Spam-Level:
X-Spam-Status: No, score=-5.605 tagged_above=-999 required=5 tests=[AWL=0.644, BAYES_00=-2.599, HELO_EQ_SE=0.35, 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 ooKUPbbnp7cG for <sipcore@core3.amsl.com>; Mon, 17 Aug 2009 14:50:21 -0700 (PDT)
Received: from mailgw4.ericsson.se (mailgw4.ericsson.se [193.180.251.62]) by core3.amsl.com (Postfix) with ESMTP id 233A53A6D5C for <sipcore@ietf.org>; Mon, 17 Aug 2009 14:50:20 -0700 (PDT)
X-AuditID: c1b4fb3e-b7b12ae00000599c-3b-4a89d099740a
Received: from esealmw128.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw4.ericsson.se (Symantec Mail Security) with SMTP id F5.A9.22940.990D98A4; Mon, 17 Aug 2009 23:50:18 +0200 (CEST)
Received: from esealmw113.eemea.ericsson.se ([153.88.200.4]) by esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Mon, 17 Aug 2009 23:48:52 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 17 Aug 2009 23:48:51 +0200
Message-ID: <CA9998CD4A020D418654FCDEF4E707DF0B1683F8@esealmw113.eemea.ericsson.se>
In-Reply-To: <4A89C789.20001@nostrum.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: draft-roach-sipcore-rfc3265bis-00
Thread-Index: Acoff1ASFKkCZTFKQIin5mdsU7Z4aQAAmo/g
References: <C0E80510684FE94DBDE3A4AF6B968D2D06311DBD@esealmw118.eemea.ericsson.se> <4A85C195.4060903@nostrum.com> <CA9998CD4A020D418654FCDEF4E707DF0E3D8462@esealmw113.eemea.ericsson.se> <4A89C789.20001@nostrum.com>
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Adam Roach <adam@nostrum.com>
X-OriginalArrivalTime: 17 Aug 2009 21:48:52.0645 (UTC) FILETIME=[82F0E550:01CA1F84]
X-Brightmail-Tracker: AAAAAA==
Cc: Ian Elz <ian.elz@ericsson.com>, sipcore@ietf.org
Subject: Re: [sipcore] draft-roach-sipcore-rfc3265bis-00
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipcore>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Aug 2009 21:50:22 -0000

Hi, 

>>Because method names are one SIP's extension points, proxies don't
inherently know which requests can form dialogs. For example, if a proxy
forks a XYZZY request, how would it know whether to return a 
>>single 200 response or all of them? It has know way of knowing whether
XYZZY is a dialog-forming request.
>
>Because, what does a proxy do if it receives additional 200 responses?
I can't find any text about that in 3261.
>   
>
>It's going to drop them. See RFC 3261, section 16.7, step 5.

Maybe I'm just too blind to find it, but could you copy the text which
says that? :)

In the beginning there is generic text which says that any 2xx response
is forwarded.

Further down there is INVITE specific text, which says that non-2xx
responses are not immedialtly forwarded - instead the choose-the-best
procedures are used.

I see no text saying that additional 2xx responses for non-INVITEs are
dropped. 

------

>>>>That's certainly the intention of 4.3. It's a bit tortured to
imagine 
>>>>that a proxy might be on the path of the NOTIFY without having 
>>>>Record-Routing the SUBSCRIBE. Nonetheless, I'm okay with prohibiting

>>>>Record-Routing a NOTIFY unless you've also Record-Routed the 
>>>>associated SUBSCRIBE; I'll add:
>>>>
>>>>   Proxies that did not add a Record-Route header field to the
>>>>   initial SUBSCRIBE request MUST NOT add a Record-Route header
>>>>   field to any of the associated NOTIFY requests.
>>>>     
>>>>
>>>Don't you need a Proxy-Require option tag for that? 
>>>
>>>Again, a 3261 compliant proxy may Record-Route the SUBSCRIBE, but
that 
>>>doesn't mean it will Record-Route the NOTIFY. It may simply be 
>>>configured to Record-Route all dialog initiation requests.
>>   
>
>For a proxy to have the first clue that SUBSCRIBE is a dialog
initiation request, it has to be aware of the semantics of SUBSCRIBE.
Otherwise, it doesn't know SUBSCRIBE from XYZZY.
>
>And if a proxy is blindly Record-Routing unknown methods, it will
Record-Route the NOTIFY also. 

Doesn't the NOTIFY contain a To tag? The proxy would assume it is an
in-dialog request, so it would not Record-Route it.

What does a stateful proxy do with an in-dialog request it doesn't find
state for, btw?

------

>I've worked with enough implementors to know that there's never enough
accounting for crazy, but the failure you're describing would require a
certain amount of malice: enough understanding to know what 
>SUBSCRIBE means, but a bewildering level of willful ignorance to then
pretend not to understand NOTIFY.

I agree that if the proxy is SUBSCRIBE aware, there should be no
problem.


Regards,

Christer