[Sip] Re: Outbound: Feature Tag (Ab)Use

Rohan Mahy <rohan@ekabal.com> Sun, 02 December 2007 23:06 UTC

Return-path: <sip-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Iyxtm-00077t-3U; Sun, 02 Dec 2007 18:06:54 -0500
Received: from sip by megatron.ietf.org with local (Exim 4.43) id 1Iyxtk-00076i-Gy for sip-confirm+ok@megatron.ietf.org; Sun, 02 Dec 2007 18:06:52 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Iyxtk-0006yC-61 for sip@ietf.org; Sun, 02 Dec 2007 18:06:52 -0500
Received: from figas.ekabal.com ([204.61.215.10]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1Iyxth-00067i-GL for sip@ietf.org; Sun, 02 Dec 2007 18:06:50 -0500
Received: from [127.0.0.1] (figas.ekabal.com [204.61.215.10]) (authenticated) by figas.ekabal.com (8.11.6/8.11.6) with ESMTP id lB2N6fU02842; Sun, 2 Dec 2007 15:06:42 -0800
In-Reply-To: <469FFC30.2090309@nostrum.com>
References: <46928F5F.3080502@softarmor.com> <469FFC30.2090309@nostrum.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <C9AED2A4-468B-4E59-8094-B4A4013D99C5@ekabal.com>
Content-Transfer-Encoding: 7bit
From: Rohan Mahy <rohan@ekabal.com>
Date: Sun, 02 Dec 2007 15:06:42 -0800
To: Adam Roach <adam@nostrum.com>
X-Mailer: Apple Mail (2.752.3)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: b5d20af10c334b36874c0264b10f59f1
Cc: sip@ietf.org, Rohan Mahy <rohan@ekabal.com>, Cullen Jennings <fluffy@cisco.com>
Subject: [Sip] Re: Outbound: Feature Tag (Ab)Use
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Errors-To: sip-bounces@ietf.org

Hi Adam,

I believe outbound-11 now correctly uses option-tags.

thanks,
-rohan


On Jul 19, 2007, at 5:05 PM, Adam Roach wrote:

> At the risk of further bloodying the corpse of this poor horse, I  
> still think the usage of feature tags in outbound is way, way off  
> in terms of the semantics described in 3261.
>
> Reviewing the way this is defined to work in SIP:
>
> 3261:8.1.1.9:
>>    If the UAC supports extensions to SIP that can be applied by the
>>    server to the response, the UAC SHOULD include a Supported header
>>    field in the request listing the option tags (Section 19.2) for  
>> those
>>    extensions.
>
> 3261:8.2.4:
>
>>    A UAS that wishes to apply some extension when generating the
>>    response MUST NOT do so unless support for that extension is
>>    indicated in the Supported header field in the request.  If the
>>    desired extension is not supported, the server SHOULD rely only on
>>    baseline SIP and any other extensions supported by the client.
>> ...
>>    Any extensions applied to a non-421 response MUST be listed in a
>>    Require header field included in the response.  Of course, the  
>> server
>>    MUST NOT apply extensions not listed in the Supported header  
>> field in
>>    the request.  As a result of this, the Require header field in a
>>    response will only ever contain option tags defined in standards-
>>    track RFCs.
>
> There are five normative statements in the text I quote above. The  
> mechanism described in the outbound draft actually manages to  
> violate _all_ _five_ of them.
>
> The registrar infers *both* support for outbound *and* a request to  
> apply the outbound extension by the presence of the "reg-id"  
> Contact header field parameter. In particular, the client is  
> apparently NOT supposed to send a "Supported: outbound" header  
> field. This appears to contravene the normative statement in  
> 8.1.1.9 cited above.
>
> The registrar indicates that outbound procedures are being applied  
> by including a "Supported" header field in the REGISTER response.  
> (In 3261, "Supported" in a _response_ indicates that an extension  
> _can_ _be_ supported in a future request, NOT that it is being  
> applied to the current one -- sections 11 and 13.3.1.4 both talk  
> about Supported usage in responses.)
>
> In other words, the registrar (acting as a UAS) is applying an  
> extension when generating a response without that extension being  
> indicated in the "Supported" header field in the request. Again,  
> this directly contravenes two normative statements from section  
> 8.2.4 (cited above).
>
> The registrar is further applying an extension to a non-421  
> response that is not listed in a "Require" header field, in  
> violation of the remaining normative statement in the portion of  
> section 8.2.4 cited above.
>
> Why are we doing this so very, very wrong? It's almost as if we've  
> gone out of our way to violate both the spirit AND the law of  
> feature tag handling in as many ways as possible. Most annoyingly,  
> we get exactly the desired behavior if we just do things the way  
> they're described in 3261. To wit:
>
>    * If a client supports outbound, it includes "Supported: outbound"
>      in all REGISTER requests, regardless of whether the specific
>      request makes use of that extension.
>
>    * The client adds a "reg-id" header field parameter to any Contacts
>      to which outbound processing is to apply.
>
>    * The registrar includes "Require: outbound" in any REGISTER
>      requests to which outbound behavior is being applied.
>
>    * The registrar is free to include "Supported: outbound" in any
>      responses it generates -- and it means exactly what 3261 intends
>      it to mean: that outbound is *supported*, but is not being  
> applied
>      to the response in question.
>
> /a



_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip