Re: [Sipping] Current status of response to 3gpp Liaison Statementon offer/answer procedures
Paul Kyzivat <pkyzivat@cisco.com> Mon, 04 August 2008 11:56 UTC
Return-Path: <sipping-bounces@ietf.org>
X-Original-To: sipping-archive@optimus.ietf.org
Delivered-To: ietfarch-sipping-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 490403A6BE5; Mon, 4 Aug 2008 04:56:43 -0700 (PDT)
X-Original-To: sipping@core3.amsl.com
Delivered-To: sipping@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 98C5C28C14D for <sipping@core3.amsl.com>; Mon, 4 Aug 2008 04:56:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.249
X-Spam-Level:
X-Spam-Status: No, score=-6.249 tagged_above=-999 required=5 tests=[AWL=-0.250, BAYES_00=-2.599, J_CHICKENPOX_18=0.6, 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 7DkkFvgZyVbE for <sipping@core3.amsl.com>; Mon, 4 Aug 2008 04:56:36 -0700 (PDT)
Received: from sj-iport-2.cisco.com (sj-iport-2.cisco.com [171.71.176.71]) by core3.amsl.com (Postfix) with ESMTP id 6FB073A6BE5 for <sipping@ietf.org>; Mon, 4 Aug 2008 04:56:35 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.31,304,1215388800"; d="scan'208";a="71787433"
Received: from sj-dkim-2.cisco.com ([171.71.179.186]) by sj-iport-2.cisco.com with ESMTP; 04 Aug 2008 11:57:00 +0000
Received: from sj-core-5.cisco.com (sj-core-5.cisco.com [171.71.177.238]) by sj-dkim-2.cisco.com (8.12.11/8.12.11) with ESMTP id m74Bv0h5024627; Mon, 4 Aug 2008 04:57:00 -0700
Received: from xbh-rtp-211.amer.cisco.com (xbh-rtp-211.cisco.com [64.102.31.102]) by sj-core-5.cisco.com (8.13.8/8.13.8) with ESMTP id m74BuwSA016817; Mon, 4 Aug 2008 11:56:59 GMT
Received: from xfe-rtp-201.amer.cisco.com ([64.102.31.38]) by xbh-rtp-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Aug 2008 07:56:58 -0400
Received: from [10.86.240.222] ([10.86.240.222]) by xfe-rtp-201.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Aug 2008 07:56:58 -0400
Message-ID: <4896EEC0.1020601@cisco.com>
Date: Mon, 04 Aug 2008 07:57:52 -0400
From: Paul Kyzivat <pkyzivat@cisco.com>
User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
MIME-Version: 1.0
To: "DRAGE, Keith (Keith)" <drage@alcatel-lucent.com>
References: <4822983A.2090906@ericsson.com> <4822F717.7030903@cisco.com> <CA9998CD4A020D418654FCDEF4E707DF05C0F826@esealmw113.eemea.ericsson.se> <CA9998CD4A020D418654FCDEF4E707DF062C5DD8@esealmw113.eemea.ericsson.se> <482C2DE1.1080102@cisco.com> <CA9998CD4A020D418654FCDEF4E707DF062EC204@esealmw113.eemea.ericsson.se> <482C3F25.7070605@cisco.com> <0D5F89FAC29E2C41B98A6A762007F5D0BB548B@GBNTHT12009MSX.gb002.siemens.net> <482D8058.6030608@cisco.com> <CA9998CD4A020D418654FCDEF4E707DF046C77CA@esealmw113.eemea.ericsson.se> <48463DF1.7080109@ericsson.com><4846B581.2070901@cisco.com> <484D0377.7010306@ericsson.com> <5B46C4E4-D30A-4CFE-B8F1-788727CC0FD9@nostrum.com> <484D4D36.8080007@cisco.com><486A3292.3030205@cisco.com><486CE8D1.7060804@cisco.com><C0E80510684FE94DBDE3A4AF6B968D2D03C5BC33@esealmw118.eemea.ericsson.se><4889EA20.40306@cisco.com> <9019E197-7148-49DF-AD82-A2EB67898317@nostrum.com> <5D1A7985295922448D5550C94DE29180021D0B5A@DEEXC1U01.de.lucent.com>
In-Reply-To: <5D1A7985295922448D5550C94DE29180021D0B5A@DEEXC1U01.de.lucent.com>
X-OriginalArrivalTime: 04 Aug 2008 11:56:58.0345 (UTC) FILETIME=[329F4590:01C8F629]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=31920; t=1217851020; x=1218715020; c=relaxed/simple; s=sjdkim2002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=pkyzivat@cisco.com; z=From:=20Paul=20Kyzivat=20<pkyzivat@cisco.com> |Subject:=20Re=3A=20[Sipping]=20Current=20status=20of=20res ponse=20to=203gpp=20Liaison=20Statementon=0A=20offer/answer= 20procedures |Sender:=20; bh=4g16C7TufFj9LimHlRcH5JXC01cydFkXgEGWqX8Zbek=; b=zvmE89DgTXAkJyU9Q6T4Maq8KAe0HLL7ERbjN90tnHqoqzEmhRKnAUbpt2 9yx5xrKMhsug2uB4+NsLbSpSK122zy6iz06nIRlE2bIHUhx8vpwalgSRyLF3 TAbYx0GWWW;
Authentication-Results: sj-dkim-2; header.From=pkyzivat@cisco.com; dkim=pass ( sig from cisco.com/sjdkim2002 verified; );
Cc: sipping <sipping@ietf.org>, Mary Barnes <mary.barnes@nortel.com>, Gonzalo Camarillo <gonzalo.camarillo@ericsson.com>
Subject: Re: [Sipping] Current status of response to 3gpp Liaison Statementon offer/answer procedures
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "SIPPING Working Group \(applications of SIP\)" <sipping.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Archive: <https://www.ietf.org/mailman/private/sipping>
List-Post: <mailto:sipping@ietf.org>
List-Help: <mailto:sipping-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: sipping-bounces@ietf.org
Errors-To: sipping-bounces@ietf.org
I will defer to Robert for a definitive statement on this. But AFAIK this is *not* *written* anywhere. I think it is a consequence of the specs - that as the state machines are defined they *will not work correctly* if the two ends don't have he same values. Paul DRAGE, Keith (Keith) wrote: > Robert wrote: > >> It is a hard requirement that any pair of transaction state >> machines (the client and server machines for any given hop) >> have the same timer values. Without that, behavior becomes >> very incorrect. And for INVITE/ 200/ACK the TU timers (which >> are all based on T1) have to be the same or you get into >> broken territory. The result is that if you change a timer >> somewhere in the network, you either change it across the >> whole network or you put in a node that's essentially playing >> the role of a SIP-SIP gateway that deals with complexity of >> having timers different on each side. > > Is this actually written anywhere. I expected to find it in RFC 3261 if it was written but a scan did not reveal this. > > I know IMS uses, for the mobile accesses, timer values that are T1 * 4 for UA to 1st proxy, and then the normal values in the network. > > Robert, can you be more specific on the implications of such a mismatch. > > Regards > > Keith > >> -----Original Message----- >> From: sipping-bounces@ietf.org >> [mailto:sipping-bounces@ietf.org] On Behalf Of Robert Sparks >> Sent: Monday, July 28, 2008 3:51 PM >> To: Paul Kyzivat >> Cc: sipping; Mary Barnes; Gonzalo Camarillo >> Subject: Re: [Sipping] Current status of response to 3gpp >> Liaison Statementon offer/answer procedures >> >> One comment inline: >> >> On Jul 25, 2008, at 3:58 PM, Paul Kyzivat wrote: >> >>> Copying Robert. I think his input on this would be invaluable. >>> >>> This is exactly the sort of response I was hoping to get to my >>> proposal. It really needs to be carefully vetted. >>> >>> Comments inline. >>> >>> Paul >>> >>> Ian Elz wrote: >>>> Paul, >>>> I have two potential issues with the rules you have >> mentioned below. >>>> Sorry for the delay in replying to your email but I have >> taken some >>>> vacation and one of the possible issues has just been noticed. >>>> 1. Regarding rule 2. I am assuming that in this rule the UAC not >>>> sending an UPDATE also applies after any retransmission of the ACK >>>> due to receipt of a 200 OK retransmission. Perhaps this should be >>>> explicitly stated. >>> What I had in mind was that UPDATE couldn't be used until all >>> retransmissions of the ACK has completed. So it would be >> 32 seconds. >>> Since it is quite possible that there will be need of a new >> O/A within >>> that period (e.g. because the UAC goes on hold quickly), >> the UAC will >>> have to be prepared to use alternative means (reINVITE). >>> The net effect is probably that the UAC will *never* use UPDATE for >>> O/A outside of an invite transaction. >>> >>>> I will preface by stating that this is an unlikely scenario but it >>>> can and will occur. The UAC is not allowed to send an UPDATE until >>>> after sending an ACK until the timer has expired. In the UAS the >>>> timer for receipt of an ACK is based upon T1 with the 200 OK being >>>> resent at 2 * T1, 4 * T1, 8 * T1 etc until 64 * T1. With the >>>> recommended value of T1 (0.5 s) then the timer is 32 s. >>>> The setting of T1 however is only recommended and the >> value of T1 on >>>> the UAS may be different than as set on the UAC. If the >> UAS has its >>>> T1 set 4 X or greater than the T1 of the UAC then there may be an >>>> issue. >>>> I will explain by showing the 200 OK retransmission times from the >>>> UAS. >>>> T1 value 0.5 1 2 4 >>>> 1st Retransmission 1 2 4 8 >>>> 2nd retransmission 2 4 8 16 >>>> 3rd retransmission 4 8 16 32 >>>> 4th retransmission 8 16 32 64 >>>> 5th retransmission 16 32 64 >> 128 If the >>>> UAC has T1 set to 0.5 seconds then there are >> retransmission intervals >>>> which are equal to or greater than the ACK timer when the UAS T1 >>>> value is 2 seconds or greater. This could cause an issue. >>>> This may be prevented by making recommendations about >> timer setting. >>> I don't know much about the timers. It has always baffled >> me that we >>> allow them to be changed. Its my impression that all bets >> are off if >>> the two ends of a transaction don't have the same timer values. >> It is a hard requirement that any pair of transaction state >> machines (the client and server machines for any given hop) >> have the same timer values. Without that, behavior becomes >> very incorrect. And for INVITE/ 200/ACK the TU timers (which >> are all based on T1) have to be the same or you get into >> broken territory. The result is that if you change a timer >> somewhere in the network, you either change it across the >> whole network or you put in a node that's essentially playing >> the role of a SIP-SIP gateway that deals with complexity of >> having timers different on each side. >> >>> >>>> 2. Regarding rule 1 >>>> This prevents the UAS from sending an UPDATE as part of a >> re-INVITE >>>> transaction. >>>> We have come across a case for an initial INVITE where it becomes >>>> necessary for the UAS to send an early dialog UPDATE which >> may also >>>> be applicable in a re-INVITE case. I am not sure if it is >> applicable >>>> for a re-INVITE but others may be able to advise. >>>> When a SIP INVITE passes via an MGC to an ISDN connection the IP >>>> address and port to be used can be controlled by the ISDN >> PBX. When >>>> the ISDN bearer identity is provided by the ISDN terminal, in an >>>> Alerting signal, the MGC may change the ephemeral (& >> possibly H.248 >>>> context). If we have an INVITE sequence involving >> preconditions the >>>> extended INVITE sequence occurs with an UPDATE from the UAC to >>>> confirm reservation of resources. As an immediate response is >>>> required to this UPDATE the UAS can only respond with the >> IP address >>>> and port of the H.248 ephemeral that it selected initially. >>>> In the ALERTING response to the SETUP request the ISDN terminal >>>> specifies a bearer which may result in a different the IP address >>>> and/or port. This requires that the UAS sends a further >> UPDATE with a >>>> modified sdp offer to change the IP address and/or port prior to >>>> sending the 200 OK. >>>> While this scenario can occur for an initial INVITE it may also be >>>> possible for a re-INVITE; e.g. when a new media type is >> added to an >>>> existing session. >>>> I am uncertain as to whether this will occur in this >> situation and I >>>> would welcome input from the list to show that it cannot. >>> My point was that while an invite/reinvite is in progress, >> any offer >>> the UAS might want to send in an UPDATE can instead be sent in a >>> reliable provisional response. >>> >>> This *does* present a problem if the UAC supports UPDATE >> but doesn't >>> support reliable provisional responses. Is that an important case? >>> Does anybody do that? >>> >>> If we must deal with the case where a UAC doesn't support >> 100rel, but >>> does support UPDATE, then this proposal won't work. If so, I don't >>> currently have any alternative. >>> >>> Paul >>> >>>> Ian Elz >>>> System Manager >>>> DUCI LDC UK >>>> (Lucid Duck) >>>> Office: + 44 24 764 35256 >>>> gsm: +44 7801723668 >>>> ian.elz@ericsson.com >>>> -----Original Message----- >>>> From: sipping-bounces@ietf.org >> [mailto:sipping-bounces@ietf.org] On >>>> Behalf Of Paul Kyzivat >>>> Sent: 03 July 2008 15:57 >>>> To: sipping >>>> Cc: Mary Barnes; Gonzalo Camarillo >>>> Subject: Re: [Sipping] Current status of response to 3gpp Liaison >>>> Statement on offer/answer procedures I have been thinking >> about how >>>> we might solve the UPDATE ambiguity issue which the >>>> MULTI-OA-TRANSACTION has. I have a potential solution, >> which involves >>>> the following new restrictions: >>>> 1) A UAS for a reINVITE MUST NOT send UPDATE requests >>>> within the scope of that INVITE. It must refrain from sending >>>> UPDATE until it has received an ACK for the INVITE. >>>> Note that this isn't much of a restriction, since the >> same things >>>> can be accomplished with reliable provisional responses before >>>> the INVITE completes, and reINVITE can be used after sending a >>>> final response. The only limitation I can see is if reliable >>>> provisionals are not being used and yet a change is desired >>>> before completion of the INVITE. But I doubt that is a realistic >>>> case. >>>> 2) A UAC for an INVITE or reINVITE MUST NOT send an UPDATE request >>>> immediately *after* the completion of the INVITE. It >> must refrain >>>> until the timer has expired on the ACK. (I forget which >> timer that >>>> is.) >>>> This also isn't much of a restriction. Anything that can be done >>>> by the UPDATE can also be done with a reINVITE. >>>> With these restrictions, the recipient of an UPDATE never has any >>>> question of whether it should be part of the prior INVITE or not. >>>> To be sure, lets cover the cases: >>>> UAC (for the INVITE): >>>> - An UPDATE that was legally sent by the UAS will arrive after the >>>> final response for the INVITE is received and the ACK sent. >>>> It will be unaffected by failure of the prior reINVITE. >>>> - There is no possibility that a legally sent UPDATE will arrive >>>> before the final response. If one arrives it must have been sent >>>> by a UAS not compliant to these new rules. If one does arrive, >>>> I propose that it be assumed to have been sent within the >>>> INVITE, and hence be rolled back if the INVITE eventually fails. >>>> - There is no possibility that a legally sent UPDATE will arrive >>>> after the receipt of a failing final response, and before any >>>> ACK has been sent. If one arrives it must have been sent >>>> by a UAS not compliant to these new rules. If one does arrive, >>>> I propose that it be assumed to have been sent after the >>>> final response, and hence not be subject to rollback. >>>> UAS (for the INVITE): >>>> - An UPDATE that is received before the final response to the >>>> INVITE has been sent is assumed to belong within the INVITE. >>>> If the final response is a failure, then any o/a effects of >>>> the UPDATE will be rolled back. >>>> - An UPDATE that is received after the final response to the >>>> INVITE has been sent, but before the ACK has been received, >>>> is assumed to have been sent before the final response was >>>> received. Hence it is subject to rollback if the final response >>>> was failure. Since it hasn't yet been processed, and is to be >>>> rolled back, the response to it should be an error - perhaps >>>> 487. >>>> I think the above will resolve the issue and be interoperable with >>>> current implementations except in cases of message reordering. I >>>> doubt we can do any better than that. >>>> Thanks, >>>> Paul >>>> Paul Kyzivat wrote: >>>>> Some time ago 3gpp requested liaison regarding offer/answer >>>>> procedures. The liaison document may be found at: >>>>> >>>>> https://datatracker.ietf.org/liaison/444/ >>>>> >>>>> Information about the discussion can be found at: >>>>> >>>>> http://www.ietf.org/mail-archive/web/sipping/current/msg15771.html >>>>> >>>>> Some of us (especially Christer and I) have been discussing this >>>>> privately. Mary has asked for a clarification of the >> current status >>>>> to the group. This is my attempt to do so: >>>>> >>>>> To summarize the issue: >>>>> >>>>> - Assume one issues a re-INVITE, >>>>> - and that results in multiple offer/answer exchanges (via PRACK >>>>> and UPDATE) prior to the completion of the re-INVITE, >>>>> - and then the re-INVITE *fails* (response >= 300) >>>>> >>>>> Then in what state is the session left, with regard to >> SDP and media >>>>> sessions? >>>>> >>>>> None of the RFCs clearly cover this case. The offer/answer draft >>>>> touched on it, but is not normative and so could not resolve it. >>>>> >>>>> We have concluded that there are two plausible ways of treating >>>>> this: >>>>> >>>>> MULTI-OA-TRANSACTION: >>>>> The re-INVITE, and all the offers/answers that take place within >>>>> its scope, are treated as a transaction. All succeed or fail >>>>> together based on the outcome of the re-INVITE. So, if the >>>>> re-INVITE fails, then the media state reverts to what >> it had been >>>>> before the re-INVITE began. >>>>> >>>>> SINGLE-OA-TRANSACTION: >>>>> Each time an answer is transmitted *reliably*, that is >> considered >>>>> final, regardless of what happens subsequently. A failure of the >>>>> re-INVITE only rolls back an offer that offer that was not >>>>> reliably >>>>> answered prior to the failure response. >>>>> >>>>> The merits of MULTI-OA-TRANSACTION: >>>>> >>>>> The advantage of the MULTI-OA-TRANSACTION approach is >> that it aligns >>>>> with a real need. In some cases it is necessary to do >> multiple o/a >>>>> exchanges to transition from one stable state to another. >>>>> >>>>> A clear example of this is when preconditions are used. Multiple >>>>> exchanges are required to resolve the preconditions, and the >>>>> intermediate states may not be useful for exchanging media. The >>>>> ultimate failure is likely an indication that the preconditions >>>>> could not be resolved. Rolling back to the state prior to the re- >>>>> INVITE cleanly resolves this. >>>>> >>>>> A key to making this work is, when a re-INVITE failure >> occurs, the >>>>> UAC and UAS must agree on on which offers and answers >> were part of >>>>> the re-INVITE and hence must be rolled back. Those carried in the >>>>> re-INVITE itself, its responses, in PRACKs, and in the ACK, are >>>>> clearly within the scope of the re-INVITE. The UPDATEs >> that are sent >>>>> within the scope of the re-INVITE also must be included, >> but in that >>>>> case there is a problem. When an UPDATE is sent near the >> time when >>>>> the re-INVITE fails, the recipient of it cannot clearly >> determine if >>>>> it was sent before or after the re-INVITE failed. >>>>> This case is discussed in section xxx of yyy. >>>>> >>>>> Adopting answer (1) requires that we find a resolution to this >>>>> ambiguity. The need to solve this problem is a disadvantage of >>>>> MULTI-OA-TRANSACTIONs. >>>>> >>>>> Another possible disadvantage is that this requires the >> UAC and UAS >>>>> to maintain enough state to accomplish the rollback. >>>>> >>>>> The merits of SINGLE-OA-TRANSACTION: >>>>> >>>>> These are, unsurprisingly, pretty much the inverse of MULTI-OA- >>>>> TRANSACTIONs. >>>>> >>>>> One advantage is that less state need be kept. Once an answer is >>>>> received reliably, or the confirmation of an answer sent >> reliably is >>>>> received, prior state may be discarded. >>>>> >>>>> Another advantage is that the ordering of an UPDATE >> relative to the >>>>> completion of the prior re-INVITE need not be of concern. >>>>> >>>>> The main disadvantage of this approach arises when multiple o/a >>>>> exchanges are required to achieve a stable state, such as with >>>>> preconditions. With this approach, each o/a exchange is >> locked in as >>>>> it occurs. If the re-INVITE subsequently fails, there may be >>>>> wreckage to clean up. Until it is cleaned up, the state >> of the media >>>>> session(s) may be problematic. >>>>> >>>>> General discussion: >>>>> >>>>> While I have used preconditions as an example of the need for >>>>> multiple o/a exchanges, they are not the only example. >> While I don't >>>>> recall seeing them in any of our use-case documents, I have >>>>> definitely seem them in the wild. For instance there are >> cases where >>>>> initial offers are made with a=inactive, and later revised to >>>>> a=sendrecv, not because the call is initially on hold, >> but because >>>>> the caller is waiting to see how things come out. This >> may be "poor >>>>> man's preconditions". These aren't always done within the >> re-INVITE, >>>>> but could be. >>>>> >>>>> Either approach will require some normative change, since the >>>>> existing text seems ambiguous as to which of these is the >> "correct" >>>>> interpretation. The MULTI-OA-TRANSACTION requires >> additional work to >>>>> define a mechanism for determining of an UPDATE near the >> end of an >>>>> INVITE transaction falls within it, or beyond it. So far >> there has >>>>> been no proposal for how to do this. It seems likely that it will >>>>> require that something new be placed into some messages. And this >>>>> may present backward compatibility issues. >>>>> >>>>> Many UAs will never experience a re-INVITE containing >> multiple O/A >>>>> exchanges. But even those are impacted by this issue. If a re- >>>>> INVITE has an offer, and it is answered in a reliable provisional >>>>> response, and then the re-INVITE fails, we still have the issue. >>>>> If one side assumes the O/A is rolled back, and the other >> assumes it >>>>> remains in effect, then we have an interoperability >> error. So it is >>>>> important to come to some conclusion. >>>>> >>>>> NOTE: There is a related issue which we have agreed to >> rule out of >>>>> scope for the current discussion. This is whether a change of >>>>> Contact address during a re-INVITE is rolled back if the >> re-INVITE >>>>> fails. We concluded that the two issues should not be >> constrained to >>>>> have the same answer. This latter issue is left for another day. >>>>> >>>>> Thanks, >>>>> Paul >>>>> >>>>> Paul Kyzivat wrote: >>>>>> Robert Sparks wrote: >>>>>>> (off-list reply) >>>>>>> >>>>>>> I'm mostly comfortable with that approach. Let me ask a >> question >>>>>>> or two to see if I can remove some of the dangling bits of >>>>>>> discomfort. >>>>>>> The conversation so far has been described to me (I >> haven't been >>>>>>> following it closely - sorry) as focusing _only_ on >> the impact >>>>>>> on the session(s) being negotiated. >>>>>>> It is _not_ attempting to answer some of the gnarly >> dialog-state >>>>>>> questions we've uncovered for these failed requests >> (specifically >>>>>>> what happens to a failed attempt to update a remote target (by >>>>>>> changing the Contact in new requests), correct? >>>>>> Early in the thread I proposed separating the concerns. The >>>>>> remainder of the thread had indeed focused on the o/a issues. >>>>>> >>>>>> I do think that the other dialog state, notably the >> contact, issues >>>>>> need to be addressed. But I think we must not constrain them to >>>>>> have the same answer that works for o/a. We can start a separate >>>>>> thread to discuss that now, or we can wait for the current o/a >>>>>> discussion to settle first to avoid losing focus. >>>>>> >>>>>>> If I misunderstand and the second thing's in scope for this >>>>>>> effort, then my comfort is much lower. >>>>>>> >>>>>>> Paul - you responded separately that you think this >> touches 3261 >>>>>>> as well - roughly what is the character of those touches? >>>>>> Hopefully it touches only slightly. The current text regarding >>>>>> rolling back state to where it was prior to reinvite *may* need >>>>>> some tweaking depending on what solution we come to. >>>>>> >>>>>> *If* we agree on the solution that does indeed cause >> rollback even >>>>>> if there have been PRACKs and/or UPDATEs along the way, >> then maybe >>>>>> it won't need to be changed at all. >>>>>> >>>>>> I am personally still undecided on which is the better >> solution. >>>>>> They have complementary pros and cons. It really is a matter of >>>>>> picking your poison. The precondition stuff really does >> cause nasty >>>>>> problems. I just posted another response in the thread >> about that. >>>>>> I earlier suggested splitting off the precondition >> issues as their >>>>>> own problem, and solving the rest. But apparently 3gpp >> wants this >>>>>> resolved precisely *because* they want to know how it impacts >>>>>> preconditions. So my suggestion wasn't helpful. >>>>>> >>>>>> It would be helpful to get some additional perspectives >> into this >>>>>> discussion. So far there have been very few participants. >>>>>> >>>>>> Paul >>>>>> >>>>>>> RjS >>>>>>> >>>>>>> On Jun 9, 2008, at 5:18 AM, Gonzalo Camarillo wrote: >>>>>>> >>>>>>>> Hi Paul, >>>>>>>> >>>>>>>> yes, it may make more sense to update RFCs 3262 and >> 3311 than to >>>>>>>> update RFC 3264... do people agree that the way to >> document the >>>>>>>> resolution of this issue would be to write a new RFC >> that would >>>>>>>> clarify how offer/answer works with re-INVITEs, PRACKs, and >>>>>>>> UPDATEs, and would include discussions on preconditions? >>>>>>>> >>>>>>>> Cheers, >>>>>>>> >>>>>>>> Gonzalo >>>>>>>> >>>>>>>> >>>>>>>> Paul Kyzivat wrote: >>>>>>>>> Gonzalo, >>>>>>>>> >>>>>>>>> I generally agree with your characterization below. >> But as I see >>>>>>>>> it there likely are no changes needed to 3264. It is >>>>>>>>> intentionally focused on the SDP, and not the >> conveyance of the >>>>>>>>> SDP in some containing protocol. The following is about the >>>>>>>>> extent of it in 3264: >>>>>>>>> >>>>>>>>> Protocol operation begins when one agent sends an >> initial offer >>>>>>>>> to another agent. An offer is initial if it is >> outside of any >>>>>>>>> context that may have already been established through the >>>>>>>>> higher layer protocol. It is assumed that the higher layer >>>>>>>>> protocol provides maintenance of some kind of context which >>>>>>>>> allows the various SDP exchanges to be associated together. >>>>>>>>> >>>>>>>>> The agent receiving the offer MAY generate an >> answer, or it MAY >>>>>>>>> reject the offer. The means for rejecting an offer are >>>>>>>>> dependent on the higher layer protocol. The offer/answer >>>>>>>>> exchange is atomic; if the answer is rejected, the session >>>>>>>>> reverts to the state prior to the offer (which may >> be absence >>>>>>>>> of a session). >>>>>>>>> >>>>>>>>> SIP messed this up somewhat with the >> offerless-invite, and more >>>>>>>>> when it introduced PRACK and UPDATE. The offerless-invite >>>>>>>>> creates a case when it is impossible to reject an >> offer. But we >>>>>>>>> aren't discussing that case here. Without PRACK and >> UPDATE, and >>>>>>>>> with an offer in the INVITE, it the success or failure of the >>>>>>>>> INVITE that determines the acceptance or rejection of >> the offer. >>>>>>>>> (With an offerless invite, the ACK always accepts the >> offer, for >>>>>>>>> better or worse.) >>>>>>>>> >>>>>>>>> The use of PRACK and UPDATE while an INVITE transaction is is >>>>>>>>> progress creates an ambiguous situation due to the following >>>>>>>>> from section 14.1 of >>>>>>>>> 3261: >>>>>>>>> >>>>>>>>> If a UA receives a non-2xx final response to a >> re-INVITE, the >>>>>>>>> session parameters MUST remain unchanged, as if no re-INVITE >>>>>>>>> had been issued. >>>>>>>>> >>>>>>>>> This implies that changes made via PRACK and UPDATE >> during the >>>>>>>>> INVITE transaction must be rolled back. Since the problem >>>>>>>>> created by >>>>>>>>> 3262 and >>>>>>>>> 3311, in conjunction with 3261, I think the fixes >> will have to >>>>>>>>> apply to those, not to 3264. >>>>>>>>> >>>>>>>>> Also, the issue about changing Contact addresses clearly has >>>>>>>>> nothing to do with 3264. And I am becoming increasingly >>>>>>>>> convinced that the rules for "committing" a change of Contact >>>>>>>>> address ought to be decoupled from the rules for >> "committing" a >>>>>>>>> change to media sessions. >>>>>>>>> >>>>>>>>> Before we get into the specifics, does the above make sense? >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Paul >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Gonzalo Camarillo wrote: >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> we should be providing 3GPP with an answer to their liaison >>>>>>>>>> soon: >>>>>>>>>> >>>>>>>>>> https://datatracker.ietf.org/liaison/444/ >>>>>>>>>> >>>>>>>>>> The thing is that when working on the offer/answer >> usage draft >>>>>>>>>> below, we kept from making normative changes to offer/answer: >>>>>>>>>> >>>>>>>>>> >> http://www.ietf.org/internet-drafts/draft-ietf-sipping-sip-offe >>>>>>>>>> ranswer-08.txt >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> However, it seems that there are a few cases that >> would require >>>>>>>>>> normative updates to RFC 3264. In this thread, two >> cases have >>>>>>>>>> been >>>>>>>>>> identified: roll back and address changes during ongoing >>>>>>>>>> transactions. >>>>>>>>>> I would like to see a list of such pending updates >> in order to >>>>>>>>>> decide whether we need to revise RFC 3264 at this point or >>>>>>>>>> document the current issues (like we are doing with >> RFC 3261) >>>>>>>>>> for a future update. >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> >>>>>>>>>> Gonzalo >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Christer Holmberg wrote: >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I do NOT think John's case is connected to the >> rollback issue. >>>>>>>>>>> The rollback issue is: what happens to data that has been >>>>>>>>>>> updated between the re-INVITE request and failure >> response? It >>>>>>>>>>> of course included the target, but is not related to where >>>>>>>>>>> responses are sent. >>>>>>>>>>> >>>>>>>>>>> Responses are, afaik, always sent to where the request came >>>>>>>>>>> from, so if one updates the local target he has to >> make sure >>>>>>>>>>> that he listens to the "old" port if there are ongoing >>>>>>>>>>> transactions. >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> >>>>>>>>>>> Christer >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ________________________________ >>>>>>>>>>> >>>>>>>>>>> Lähettäjä: Paul Kyzivat [mailto:pkyzivat@cisco.com] >>>>>>>>>>> Lähetetty: pe 16.5.2008 14:38 >>>>>>>>>>> Vastaanottaja: Elwell, John >>>>>>>>>>> Kopio: Christer Holmberg; sipping List >>>>>>>>>>> Aihe: Re: [Sipping] Liaison Statement on offer/answer >>>>>>>>>>> procedures >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> John, >>>>>>>>>>> >>>>>>>>>>> This is a good point. >>>>>>>>>>> >>>>>>>>>>> It does expose a potentially long window when >> address changes >>>>>>>>>>> are problematic. I guess if a quick address change is >>>>>>>>>>> necessary then the INVITE, or reINVITE, can be CANCELed. >>>>>>>>>>> >>>>>>>>>>> IMO this is starting to identify an area that could >> stand to >>>>>>>>>>> have more specification. I guess this sounds like a best >>>>>>>>>>> practices draft, but its still a little fuzzy to >> me. And I am >>>>>>>>>>> far from clear whether this is tightly connected to the o/a >>>>>>>>>>> rollback issue. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Paul >>>>>>>>>>> >>>>>>>>>>> Elwell, John wrote: >>>>>>>>>>>> Paul, >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> -----Original Message----- >>>>>>>>>>>>> From: sipping-bounces@ietf.org >>>>>>>>>>>>> [mailto:sipping-bounces@ietf.org] On Behalf Of >> Paul Kyzivat >>>>>>>>>>>>> Sent: 15 May 2008 14:48 >>>>>>>>>>>>> To: Christer Holmberg >>>>>>>>>>>>> Cc: sipping List >>>>>>>>>>>>> Subject: Re: [Sipping] Liaison Statement on offer/answer >>>>>>>>>>>>> procedures >>>>>>>>>>>>> >>>>>>>>>>>>> Christer, >>>>>>>>>>>>> >>>>>>>>>>>>> Saying "you shouldn't do it" to changing contact >> address or >>>>>>>>>>>>> media address ignores facts of life that may >> require doing >>>>>>>>>>>>> it. >>>>>>>>>>>>> This >>>>>>>>>>>>> overlaps >>>>>>>>>>>>> strongly with the session mobility discussion that is >>>>>>>>>>>>> currently going on. >>>>>>>>>>>>> >>>>>>>>>>>>> Specifically, if a UA is losing possession of its >> address, >>>>>>>>>>>>> or connectivity via that address, then it will have to do >>>>>>>>>>>>> *something*. If we are going to say that you shouldn't >>>>>>>>>>>>> change the contact address in a dialog, and >> shouldn't change >>>>>>>>>>>>> the media address in a media session, then we need to >>>>>>>>>>>>> specify some alternative. >>>>>>>>>>>>> >>>>>>>>>>>>> Clearly there are at least two distinct cases here: >>>>>>>>>>>>> >>>>>>>>>>>>> - there is a desire to switch to a new address, >> but the old >>>>>>>>>>>>> address can continue to be supported until and >> unless use >>>>>>>>>>>>> of the new one can be established >>>>>>>>>>>> [JRE] So if the contact address changes and we >> successfully >>>>>>>>>>>> conclude the UPDATE transaction, and then the old contact >>>>>>>>>>>> address disappears, it is likely that the Via list on the >>>>>>>>>>>> re-INVITE request will have become invalidated too, so the >>>>>>>>>>>> final response will not reach the UAC. Correct? >>>>>>>>>>>> >>>>>>>>>>>> John >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Sipping mailing list >>>>>>>>>>>> https://www.ietf.org/mailman/listinfo/sipping >>>>>>>>>>>> This list is for NEW development of the application of SIP >>>>>>>>>>>> Use sip-implementors@cs.columbia.edu for questions >> on current >>>>>>>>>>>> sip Use sip@ietf.org for new developments of core SIP >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Sipping mailing list >>>>>>>>>>> https://www.ietf.org/mailman/listinfo/sipping >>>>>>>>>>> This list is for NEW development of the application >> of SIP Use >>>>>>>>>>> sip-implementors@cs.columbia.edu for questions on >> current sip >>>>>>>>>>> Use sip@ietf.org for new developments of core SIP >>>>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Sipping mailing list >>>>>>>> https://www.ietf.org/mailman/listinfo/sipping >>>>>>>> This list is for NEW development of the application of SIP Use >>>>>>>> sip-implementors@cs.columbia.edu for questions on >> current sip Use >>>>>>>> sip@ietf.org for new developments of core SIP >>>>> _______________________________________________ >>>>> Sipping mailing list >> https://www.ietf.org/mailman/listinfo/sipping >>>>> This list is for NEW development of the application of SIP Use >>>>> sip-implementors@cs.columbia.edu for questions on current sip Use >>>>> sip@ietf.org for new developments of core SIP >>>>> >>>> _______________________________________________ >>>> Sipping mailing list https://www.ietf.org/mailman/listinfo/sipping >>>> This list is for NEW development of the application of SIP Use >>>> sip-implementors@cs.columbia.edu for questions on current sip Use >>>> sip@ietf.org for new developments of core SIP >> _______________________________________________ >> Sipping mailing list https://www.ietf.org/mailman/listinfo/sipping >> This list is for NEW development of the application of SIP >> Use sip-implementors@cs.columbia.edu for questions on current >> sip Use sip@ietf.org for new developments of core SIP >> > _______________________________________________ Sipping mailing list https://www.ietf.org/mailman/listinfo/sipping This list is for NEW development of the application of SIP Use sip-implementors@cs.columbia.edu for questions on current sip Use sip@ietf.org for new developments of core SIP
- [Sipping] Liaison Statement on offer/answer proce… Gonzalo Camarillo
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Elwell, John
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Gonzalo Camarillo
- Re: [Sipping] Liaison Statement on offer/answer p… Sanjay Sinha (sanjsinh)
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Sanjay Sinha (sanjsinh)
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Sanjay Sinha (sanjsinh)
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Ian Elz
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Sanjay Sinha (sanjsinh)
- Re: [Sipping] Liaison Statement on offer/answer p… Anders Kristensen
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… Gonzalo Camarillo
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- Re: [Sipping] Liaison Statement on offer/answer p… hannu.hietalahti
- Re: [Sipping] Liaison Statement on offer/answer p… Paul Kyzivat
- Re: [Sipping] Liaison Statement on offer/answer p… Christer Holmberg
- [Sipping] Current status of response to 3gpp Liai… Paul Kyzivat
- Re: [Sipping] Current status of response to 3gpp … Rockson Li (zhengyli)
- Re: [Sipping] Current status of response to 3gpp … Christer Holmberg
- Re: [Sipping] Current status of response to 3gpp … Paul Kyzivat
- Re: [Sipping] Current status of response to 3gpp … Rockson Li (zhengyli)
- Re: [Sipping] Current status of response to 3gpp … Paul Kyzivat
- Re: [Sipping] Current status of response to 3gpp … Ian Elz
- Re: [Sipping] Current status of response to 3gpp … Christer Holmberg
- Re: [Sipping] Current status of response to 3gpp … Paul Kyzivat
- Re: [Sipping] Current status of response to 3gpp … Christer Holmberg
- Re: [Sipping] Current status of response to 3gpp … Robert Sparks
- Re: [Sipping] Current status of response to 3gpp … DRAGE, Keith (Keith)
- Re: [Sipping] Current status of response to 3gpp … Paul Kyzivat
- Re: [Sipping] Current status of response to 3gpp … DRAGE, Keith (Keith)
- Re: [Sipping] Current status of response to 3gpp … Paul Kyzivat
- Re: [Sipping] Current status of response to 3gpp … Robert Sparks