RE: [Sip] Status of require headers in the re-INVITE request.
"Christer Holmberg" <christer.holmberg@ericsson.com> Wed, 21 November 2007 11:09 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 1IunSi-0003W3-Dg; Wed, 21 Nov 2007 06:09:44 -0500
Received: from sip by megatron.ietf.org with local (Exim 4.43) id 1IunSg-0003Vs-Fd for sip-confirm+ok@megatron.ietf.org; Wed, 21 Nov 2007 06:09:42 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IunSg-0003Vf-20 for sip@ietf.org; Wed, 21 Nov 2007 06:09:42 -0500
Received: from mailgw3.ericsson.se ([193.180.251.60]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IunSe-0004LL-Gf for sip@ietf.org; Wed, 21 Nov 2007 06:09:41 -0500
Received: from mailgw3.ericsson.se (unknown [127.0.0.1]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id EF23A20B33; Wed, 21 Nov 2007 12:09:39 +0100 (CET)
X-AuditID: c1b4fb3c-aef95bb0000030cf-a1-474411f374b7
Received: from esealmw128.eemea.ericsson.se (unknown [153.88.254.121]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id D3D4C20405; Wed, 21 Nov 2007 12:09:39 +0100 (CET)
Received: from esealmw113.eemea.ericsson.se ([153.88.200.4]) by esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Wed, 21 Nov 2007 12:09:39 +0100
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
Subject: RE: [Sip] Status of require headers in the re-INVITE request.
Date: Wed, 21 Nov 2007 12:09:38 +0100
Message-ID: <CA9998CD4A020D418654FCDEF4E707DF03370206@esealmw113.eemea.ericsson.se>
In-Reply-To: <47423A7E.6020204@cisco.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Sip] Status of require headers in the re-INVITE request.
Thread-Index: AcgrFgR15L02LogYQIi1oWjW7rnJvABGEY5Q
References: <01949ABCDD38EF4A95B8C347C399D1CE05B7EB96@BLR-EC-MBX02.wipro.com> <473DDB80.8060507@cisco.com> <CA9998CD4A020D418654FCDEF4E707DFEE0882@esealmw113.eemea.ericsson.se> <4741FDDA.6000902@cisco.com> <47421D62.3040908@zonnet.nl> <47423A7E.6020204@cisco.com>
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Paul Kyzivat <pkyzivat@cisco.com>, Jeroen van Bemmel <jbemmel@zonnet.nl>
X-OriginalArrivalTime: 21 Nov 2007 11:09:39.0732 (UTC) FILETIME=[02838D40:01C82C2F]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: db284e046c8702920c1c6125bc4d0b7a
Cc: sip@ietf.org
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, >>RFC3261 is pretty clear on the intended scope: >> >>8.1.1.9 Supported and Require >> >> 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. > >That seems to imply that you can change the Supported options from request to request. >But how do you reconcile that with the use of Supported in OPTIONS? For the response to OPTIONS >to mean anything at all it must imply that you will respond affirmatively to a Require for the listed options at some >time in the future. But when does that time end? I think OPTIONS is a way to indicate what you are able to support - but that doesn't mean you are going to accept it every time. You may not support everything at once, but only certain combinations of features, extensions, codecs etc. >>Still, some drafts / RFC may have sneaked through that use a different >>interpretation of scope. RFC3329 (sec-agree) came up with a "creative" >>use, for example. > >I haven't done a survey, but I think there are probably a lot >of creative interpretations of the scope. Yes, and that is what causes interop problems :) One alternative would be that when you define a new option-tag, you should clearly specify what the "scope" of it is. Regards, Christer > > Regards, > > Jeroen > > > > Paul Kyzivat wrote: > >> > >> > >> Christer Holmberg wrote: > >>> Hi, > >>> > >>> I think this discussion touches on an issue, which I know > has caused > >>> some interop concerns: > >>> > >>> Is the Supported/Require header only transaction > specific, or is it > >>> dialog specific? > >>> > >>> If it is dialog specific, I would say that you don't need > to include > >>> anything in the re-INVITE, if it was already included in > the INVITE. > >>> But, then it would also mean that whatever you indicated in the > >>> INVITE (e.g. 100rel) is also valid for the re-INVITE. > >> > >> For many usages it must have a scope longer than a single > transaction. > >> And dialog scope isn't always right either. (Some apply to > non-dialog > >> usages.) In practice, anything that seems to have dialog > scope will > >> be broken by 3pcc and so will at best have to be "from > henceforth in > >> the dialog until overridden". And overrides are themselves > a problem > >> because there is no Unrequired header. > >> > >> I haven't tried to do an exhaustive analysis of all the different > >> options, but I have gut feeling that there is no single > definition of > >> scope that will work for all of them - that there will be examples > >> that assume different scopes. > >> > >> Paul > >> > >>> Regards, > >>> > >>> Christer > >>> > >>> ________________________________ > >>> > >>> From: Paul Kyzivat [mailto:pkyzivat@cisco.com] > >>> Sent: Fri 16/11/2007 19:03 > >>> To: nataraju.basavaraju@wipro.com > >>> Cc: sip@ietf.org > >>> Subject: Re: [Sip] Status of require headers in the > re-INVITE request. > >>> > >>> > >>> > >>> > >>> > >>> nataraju.basavaraju@wipro.com wrote: > >>>> Paul, > >>>> > >>>> You are right, its not a mandatory that re-INVITE carry the same > >>>> set of options which INVITE carried. It would vary from > application > >>>> to application. > >>> > >>> And the meaning when it changes may also vary from > implementation to > >>> implementation because it is not standardized. > >>> > >>>> To make the implementation simpler UAs might decide to send the > >>>> same set of options negotiated during initial INVITE transaction. > >>> > >>> That would be a safe thing to do, but may not always be possible. > >>> > >>>> At least its > >>>> not acceptable to add more options in re-INVITE, which were not > >>>> negotiated during INTITE transaction. > >>> > >>> I would say that it might not be wise, or might be asking for > >>> trouble, but its not banned by the specs. Whether it is > acceptable > >>> or not is something that will be judged by the recipient. > >>> > >>>> If so it might end up with a an > >>>> issue with refresh (if remote guy does not support the > new option). > >>> > >>> Yes you might. So if you do it you had better be prepared > to get a > >>> 420 error and recover. > >>> > >>> More difficult that adding options is taking them away, which is > >>> what the original poster wanted to do. There is no > Unrequire header, > >>> and while there is an Unsupported header it may only be used in a > >>> 420 response. > >>> > >>> Suppose Alice originally called Bob, specifying Supported:100rel, > >>> and Bob answered with Require:100rel and used reliable > provisionals. > >>> Then Alice wants to send a reinvite but doesn't want to > use 100rel > >>> any longer. She can omit Supported:100rel from the reinvite, but > >>> there is no guarantee that Bob won't remember it and again put > >>> Require:100rel in the response and use reliable provisionals. (If > >>> any provisionals are used at > >>> all.) The best Alice can do is hope. If she gets a 1xx with > >>> Require:100rel she has no real option except to send a PRACK. > >>> > >>> Note that Supported and Require are among the things that are > >>> supposed to be included in an OPTIONS response. OPTIONS > is typically > >>> used outside a dialog. For the Supported and Require > values in the > >>> OPTIONS response to have any utility they must remain > valid beyond > >>> the transaction. One would expect that they are valid > until further notice I suppose. > >>> > >>> Basically this is a mess. > >>> > >>> Paul > >>> > >>>> As > >>>> you said it has interoperability issue, because different people > >>>> implement in different manner. > >>> > >>> Yes. > >>> > >>>> Regards, > >>>> Nataraju A B > >>>> > >>>> -----Original Message----- > >>>> From: Paul Kyzivat [mailto:pkyzivat@cisco.com] > >>>> Sent: Friday, November 16, 2007 6:40 PM > >>>> To: Nataraju Alilughatta basavaraju (WT01 - TES-Mobility > & Carrier > >>>> Infrastructure) > >>>> Cc: vineet.gupta@motorola.com; sip@ietf.org > >>>> Subject: Re: [Sip] Status of require headers in the > re-INVITE request. > >>>> > >>>> Nataraju, > >>>> > >>>> Why do you think this behavior is required? > >>>> > >>>> The scope of applicability of Supported, Require, etc. > is not well > >>>> defined. If you want to be certain, then you should > repeat these in > >>>> every request. But if you *don't* include them in every > request it > >>>> is still likely that some peers will remember a value you sent > >>>> earlier and assume it still applies. > >>>> > >>>> This is a potential interoperability issue and should be > fixed, but > >>>> I think it will be difficult. To be useful these options > generally > >>>> need to have a scope longer than a single transaction, > yet if you > >>>> assume they should have longer scope then it becomes > difficult to > >>>> define when that scope ends. > >>>> > >>>> In your particular case, if you want to use PRACK for > the initial > >>>> INVITE but you don't want to use it for reINVITE, I > guess you can > >>>> try omitting the Require:100rel in the reINVITE and hope for the > >>>> best. But don't get upset if somebody still sends you PRACKs. > >>>> > >>>> Thanks, > >>>> Paul > >>>> > >>>> nataraju.basavaraju@wipro.com wrote: > >>>>> Comments inline... > >>>>> > >>>>> *Regards,* > >>>>> *Nataraju A B* > >>>>> > >>>>> > ------------------------------------------------------------------ > >>>>> ---- > >>>>> -- > >>>>> *From:* Gupta Vineet-A18467 [mailto:vineet.gupta@motorola.com] > >>>>> *Sent:* Friday, November 16, 2007 1:10 PM > >>>>> *To:* sip@ietf.org > >>>>> *Subject:* [Sip] Status of require headers in the > re-INVITE request. > >>>>> > >>>>> Hi, > >>>>> I have a doubt related to using Require:100rel in > >>>>> re-INVITE > >>>> requests. > >>>>> *If a Require header was used in the INVITE request > >>>>> establishing > >>>> the > >>>>> dialog, is it mandatory to include the same Require > header in > >>>>> subsequent re-INVITE requests within the dialog? > >>>>> *[ABN] yes, its necessary that re-INVITE carry the > same set of > >>>>> Require header values that of INVITE. > >>>>> To be specific, if INVITE request contained > >>>>> Require:100rel, then > >>>>> inclusion of Require:100rel in re-INVITE would require the > >>>>> originator to handle Reliable provisional responses > and respond > >>>>> accordingly. So, it would also imply that re-INVITE > also takes > >>>> same > >>>>> call establishment time (owing to multiple messages like 183 > >>>> session > >>>>> in Progress, PRACK, 180 ringing, PRACK etc.). > >>>>> [ABN] Yes, UA's should be ready to handle PRACK txn > triggered by > >>>>> re-INVITE txn. Also sending 100rel in re-INVITE > does not mean UAS > >>>>> has to generate 1xx. if UAS generates 1xx responses > for re-INVITE, > >>>>> then yes, it lead to re-INV , 1xx(100rel), PRACK, > 200-PRK, ... > >>>>> it > >>>> is > >>>>> not mandatory to send 1xx for re-INVITE, hence even if > >>>>> Require:100rel is in re-INVITE, re-INVITE txn could > be completed > >>>>> with out PRACK transaction. > >>>>> I agree, that such delay in re-INVITE might be > acceptable > >>>>> given > >>>> that > >>>>> re-INVITE requires the user-intervention, but it > complicates makes > >>>>> the re-INVITE handling as complicated as the INVITE > handling. > >>>> Also, > >>>>> if the initial INVITE involved procedures such as > QoS negotiation > >>>>> the re-INVITE state-machine complicates even further. > >>>>> [ABN] In most of the cases, re-INVITE is not > expected to > >>>>> undergo > >>>>> user-intervention. hence in most of the cases it > would end up with > >>>>> re-INV, 200, ACK only... > >>>>> In general, re-INVITE is expected to perform subset of > >>>>> what > >>>> happened > >>>>> in INVITE transaction. it should not create any issues to > >>>>> handle > >>>> 1xx > >>>>> responses reliably. > >>>>> Hope this answers all your questions... > >>>>> Regards, > >>>>> Vineet. > >>>>> /"You're only given a little spark of madness. > You mustn't > >>>>> lose it."/ > >>>>> > >>>>> > ------------------------------------------------------------------ > >>>>> ---- > >>>>> -- > >>>>> > >>>>> _______________________________________________ > >>>>> 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 > >>>> > >>>> The information contained in this electronic message and any > >>>> attachments to this message are intended for the > exclusive use of > >>>> the addressee(s) and may contain proprietary, confidential or > >>>> privileged information. If you are not the intended > recipient, you > >>>> should not disseminate, distribute or copy this e-mail. Please > >>>> notify the sender immediately and destroy all copies of this > >>>> message and any attachments. > >>>> > >>>> WARNING: Computer viruses can be transmitted via email. The > >>>> recipient should check this email and any attachments for the > >>>> presence of viruses. The company accepts no liability for any > >>>> damage caused by any virus transmitted by this email. > >>>> > >>>> www.wipro.com > >>>> > >>> > >>> > >>> _______________________________________________ > >>> 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 > >>> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > _______________________________________________ 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
- [Sip] Status of require headers in the re-INVITE … Gupta Vineet-A18467
- RE: [Sip] Status of require headers in the re-INV… nataraju.basavaraju
- RE: [Sip] Status of require headers in the re-INV… Avasarala Ranjit-A20990
- Re: [Sip] Status of require headers in the re-INV… Paul Kyzivat
- RE: [Sip] Status of require headers in the re-INV… Gupta Vineet-A18467
- RE: [Sip] Status of require headers in the re-INV… nataraju.basavaraju
- RE: [Sip] Status of require headers in the re-INV… nataraju.basavaraju
- Re: [Sip] Status of require headers in the re-INV… Paul Kyzivat
- RE: [Sip] Status of require headers in the re-INV… Christer Holmberg
- Re: [Sip] Status of require headers in the re-INV… Paul Kyzivat
- Re: [Sip] Status of require headers in the re-INV… Jeroen van Bemmel
- Re: [Sip] Status of require headers in the re-INV… Paul Kyzivat
- RE: [Sip] Status of require headers in the re-INV… Christer Holmberg
- Re: [Sip] Status of require headers in the re-INV… Paul Kyzivat