Re: [Sipping] Current status of response to 3gpp Liaison Statementon offer/answer procedures
"DRAGE, Keith \(Keith\)" <drage@alcatel-lucent.com> Tue, 05 August 2008 16:26 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 23AB428C2E7; Tue, 5 Aug 2008 09:26:42 -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 3187728C2E7 for <sipping@core3.amsl.com>; Tue, 5 Aug 2008 09:26:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.126
X-Spam-Level:
X-Spam-Status: No, score=-2.126 tagged_above=-999 required=5 tests=[AWL=-0.127, BAYES_00=-2.599, J_CHICKENPOX_18=0.6]
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 KxsFulv8kTYD for <sipping@core3.amsl.com>; Tue, 5 Aug 2008 09:26:37 -0700 (PDT)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by core3.amsl.com (Postfix) with ESMTP id 71EFF28C2DE for <sipping@ietf.org>; Tue, 5 Aug 2008 09:26:37 -0700 (PDT)
Received: from ilexp02.ndc.lucent.com (h135-3-39-2.lucent.com [135.3.39.2]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id m75GQaPG000103; Tue, 5 Aug 2008 11:26:42 -0500 (CDT)
Received: from DEEXP02.DE.lucent.com ([135.248.187.66]) by ilexp02.ndc.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 5 Aug 2008 11:26:40 -0500
Received: from DEEXC1U01.de.lucent.com ([135.248.187.20]) by DEEXP02.DE.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 5 Aug 2008 18:26:37 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Date: Tue, 05 Aug 2008 18:26:36 +0200
Message-ID: <5D1A7985295922448D5550C94DE29180021D0F79@DEEXC1U01.de.lucent.com>
In-Reply-To: <4896EEC0.1020601@cisco.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Sipping] Current status of response to 3gpp Liaison Statementon offer/answer procedures
Thread-Index: Acj2KVR/6EbBFoO7Qnywg3HzfDk/qAA7izhw
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> <4896EEC0.1020601@cisco.! com>
From: "DRAGE, Keith (Keith)" <drage@alcatel-lucent.com>
To: Paul Kyzivat <pkyzivat@cisco.com>
X-OriginalArrivalTime: 05 Aug 2008 16:26:37.0564 (UTC) FILETIME=[0899EBC0:01C8F718]
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
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-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: sipping-bounces@ietf.org
Errors-To: sipping-bounces@ietf.org
The way I read Robert's text was that all the timers in all the SIP entities along the call path have to have consistent values end to end. It was this end-to-end constraint that I was querying. I agree that for each hop we need the timer values on each end of the same hop to be consistent, which is what you seem to be saying, although I don't remember anything saying this in the specification either. It is this latter condition that you seem to be addressing. Regards Keith > -----Original Message----- > From: Paul Kyzivat [mailto:pkyzivat@cisco.com] > Sent: Monday, August 04, 2008 12:58 PM > To: DRAGE, Keith (Keith) > Cc: Robert Sparks; sipping; Mary Barnes; Gonzalo Camarillo > Subject: Re: [Sipping] Current status of response to 3gpp > Liaison Statementon offer/answer procedures > > 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