[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sip] Doubt related to use of Supported and Require header.



Hi Paul/All,

I totally agree with the points mentioned in your email. However, I still
have doubts whether most implementations follow this approach or not.

*Firstly,* I share the same feeling with you with respect to presence of the
Supported header in the request. The Require and Supported should not have
common options in a request. Also, Supported in request is required if UAC
wants to be generous enough to allow UAS to enforce an option, it itself
does not require.

However, I was slightly confused by the following statement in RFC3261 wFrom sip-bounces at ietf.org  Wed Sep 10 02:56:09 2008
Return-Path: <sip-bounces at ietf.org>
X-Original-To: sip-archive at optimus.ietf.org
Delivered-To: ietfarch-sip-archive at core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by core3.amsl.com (Postfix) with ESMTP id 13B203A68B9;
	Wed, 10 Sep 2008 02:56:09 -0700 (PDT)
X-Original-To: sip at core3.amsl.com
Delivered-To: sip at core3.amsl.com
Received: from localhost (localhost [127.0.0.1])
	by core3.amsl.com (Postfix) with ESMTP id 44F243A698C
	for <sip at core3.amsl.com>; Wed, 10 Sep 2008 02:56:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.298
X-Spam-Level: 
X-Spam-Status: No, score=-1.298 tagged_above=-999 required=5 tests=[AWL=1.300, 
	BAYES_00=-2.599, HTML_MESSAGE=0.001]
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 7csSjz6fSEIC for <sip at core3.amsl.com>;
	Wed, 10 Sep 2008 02:56:06 -0700 (PDT)
Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.182])
	by core3.amsl.com (Postfix) with ESMTP id 09B9F3A677E
	for <sip at ietf.org>; Wed, 10 Sep 2008 02:56:05 -0700 (PDT)
Received: by wa-out-1112.google.com with SMTP id k34so1726715wah.25
	for <sip at ietf.org>; Wed, 10 Sep 2008 02:56:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:received:received:message-id:date:from:to
	:subject:cc:in-reply-to:mime-version:content-type:references;
	bh=IEzFzEFbWI+k5Auvhy7HWAn9RI9rz4QQG3E0P8PXna0=;
	b=IB5oe7IHzhbifT0ioc9SlQ7tw4ZimN2V8redhqdr7QhWj6oasz7tmwQ73vomYA/tk6
	NmEh0qQJBSIfe13D0jFUXaRibZds/1Sl96h5cbQlsDhh3JiFD+XAyW9HTf1rqGu1qv3e
	59YRL9c4V/2ftbMhFS2mnQ2ZTdF+d5hvD2ll8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=message-id:date:from:to:subject:cc:in-reply-to:mime-version
	:content-type:references;
	b=mmEe/AyN7KFT4mWGPYnC39ytNpFir/JuFD5zg2t5mlCJgqPmAW/av52R1TUIzlgedN
	7J7rDHejtkaHEV9nK1+PUohN0zxAREu7f9GfAR1YL88W1S8MhXFS7x2tM0I4UohPGL2U
	a9Dy9kVQxx1TygbKN6WNgteqlhG/DVt1YAvIA=
Received: by 10.114.192.3 with SMTP id p3mr435903waf.112.1221040567796;
	Wed, 10 Sep 2008 02:56:07 -0700 (PDT)
Received: by 10.114.81.17 with HTTP; Wed, 10 Sep 2008 02:56:07 -0700 (PDT)
Message-ID: <98abe9690809100256m79c695e2oa44172ffee47565a at mail.gmail.com>
Date: Wed, 10 Sep 2008 15:26:07 +0530
From: "Vineet Gupta" <gupta.vineet at gmail.com>
To: "Paul Kyzivat" <pkyzivat at cisco.com>
In-Reply-To: <48C69F7B.7040307 at cisco.com>
MIME-Version: 1.0
References: <98abe9690809090827k7472c54fm66a557a0ad17d94b at mail.gmail.com>
	<48C69F7B.7040307 at cisco.com>
Cc: sip at ietf.org
Subject: Re: [Sip] Doubt related to use of Supported and Require header.
X-BeenThere: sip at 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 at ietf.org?subject=unsubscribe>
List-Post: <mailto:sip at ietf.org>
List-Help: <mailto:sip-request at ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip>,
	<mailto:sip-request at ietf.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0164557468=="
Sender: sip-bounces at ietf.org
Errors-To: sip-bounces at ietf.org
Hi Paul/All,
 
I totally agree with the points mentioned in your email. However, I still have doubts whether most implementations follow this approach or not. 
 
Firstly, I share the same feeling with you with respect to presence of the Supported header in the request. The Require and Supported should not have common options in a request. Also, Supported in request is required if UAC wants to be generous enough to allow UAS to enforce an option, it itself does not require.
 
However, I was slightly confused by the following statement in RFC3261 with respect to the Supported header (Section 20.37 , [Page 178]):
"The Supported header field enumerates all the extensions supported by the UAC or UAS".
 
So, for inter-operatablity reasons, should all the application have same options options in Require and Supported header or not?
 
Secondly, I had discussed the scope of options mentioned in Require/Supported header, in an earlier debate regarding this (whether it applies to a transaction/dialog) in this mailing list long back. As per my understanding, from RFC3261 the scope of Require/Supported header seems to be a transaction only. If we go by this assumption, once session in established using 100rel and precondition (as per 3gpp call-flow), a re-INVITE request can be sent without both these options (if for example the UAC realizes that no QoS establishment would be required).
 
However, I got a feeling that most of the implementions go by the assumption that Require/Supported extension apply through out the dialog.
 
Can you let me know in your opinion, what is the general consensus on this. Are most SIP implementations prepared to handle change in Require/Supported options in re-INVITE request (They ofcourse can still reject such a re-INVITE by sending 420 Bad Extension/421 Extension Required)?
 
Regards,
Vineet.


On Tue, Sep 9, 2008 at 9:38 PM, Paul Kyzivat <pkyzivat at cisco.com> wrote:


Vineet Gupta wrote:
Hi,
 I have a small doubt related to use of Supported and Require header. While from RFC 3261 it is clear the Require header is used by the UAC and UAS to enforce the extension implemention for a particular session, while the Supported header is mostly used by UAC to express the extensions which can be enforced by UAS through the Require header.
 My doubt is that, is it *mandatary that every extension that is present in Require header must be present in Supported header *in the request? According to me, presence/absence of Required extensions in Supported header does not make any impact on UAS handling.  *Even if it is not mandatory, what is the preferred approach?*

This is pretty loosely defined.

For one thing, Require doesn't necessarily apply to a "particular session". The most that can be said with certainty is that is applies to a transaction. Often it applies longer, but how long isn't well defined.

Second, there is some asymmetry in Supported/Require, but this varies based on the option. Require from a UAC states what it requires of the UAS, but doesn't necessarily imply that a Require for the same option, coming the other way, would be supported.

Also, Supported and Require are often used together to do a negotiation:
Supported in a request is paired with Require of the same option in the response to negotiate its use.

In most cases there is no requirement to include Supported in requests. The main place it is essential is in a 420 response.

       Thanks,
       Paul

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