Re: Doubt related to use of Supported and Require header.
Paul Kyzivat <[email protected]>
| Newsgroups | gmane.ietf.sip |
|---|---|
| Message-ID | <[email protected]> |
[Copying Robert in hopes there is some SIPit experience on this] Comments inline. Thanks, Paul Vineet Gupta wrote: > 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"/. Yeah, it says that. Its also hopelessly naive. Sometimes options are supported in one context, and not in another. There is no way to express that. Some examples: - An option may be supported for one method but not another. - A B2BUA may only support an option if the device on the other side also supports it. The device on the other side can change over time. > *So, for inter-operatablity reasons, should all the application have > same options in Require and Supported header or not?* I think, *when you can*, you should list all the options you support all the time. > *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. This is an area that needs some clarification. Some people think the scope of Supported/Require is a transaction, some a dialog, some for as long as not changed, ... There is no great clarity on this in the specs. Its more a matter of observation based on what behavior is called for in various specs defining options. > 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)?* I don't have data on this. Maybe there is some from SIPit. Note: this isn't really just about Require/Supported. There are other headers with similar issues: Accept, Accept_Encoding, Accept-Language, Allow Thanks, Paul > Regards, > Vineet. > > > On Tue, Sep 9, 2008 at 9:38 PM, Paul Kyzivat <[email protected] > <mailto:[email protected]>> 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 [email protected] for questions on current sip Use [email protected] for new developments on the application of sip