Re: [Sipping] Current status of response to 3gpp Liaison Statementon offer/answer procedures
"DRAGE, Keith \(Keith\)" <drage@alcatel-lucent.com> Mon, 04 August 2008 10:11 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 EE3E43A6B03; Mon, 4 Aug 2008 03:11:04 -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 9D2443A6AFA for <sipping@core3.amsl.com>; Mon, 4 Aug 2008 03:11:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.915
X-Spam-Level:
X-Spam-Status: No, score=-0.915 tagged_above=-999 required=5 tests=[AWL=-1.516, BAYES_50=0.001, 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 g44I850a2kLj for <sipping@core3.amsl.com>; Mon, 4 Aug 2008 03:11:01 -0700 (PDT)
Received: from ihemail4.lucent.com (ihemail4.lucent.com [135.245.0.39]) by core3.amsl.com (Postfix) with ESMTP id 4FA0D3A6B14 for <sipping@ietf.org>; Mon, 4 Aug 2008 03:09:40 -0700 (PDT)
Received: from ilexp03.ndc.lucent.com (h135-3-39-50.lucent.com [135.3.39.50]) by ihemail4.lucent.com (8.13.8/IER-o) with ESMTP id m74A90ju001076; Mon, 4 Aug 2008 05:09:53 -0500 (CDT)
Received: from DEEXP02.DE.lucent.com ([135.248.187.66]) by ilexp03.ndc.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Aug 2008 05:09:49 -0500
Received: from DEEXC1U01.de.lucent.com ([135.248.187.20]) by DEEXP02.DE.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Aug 2008 12:09:46 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Date: Mon, 04 Aug 2008 12:09:46 +0200
Message-ID: <5D1A7985295922448D5550C94DE29180021D0B5A@DEEXC1U01.de.lucent.com>
In-Reply-To: <9019E197-7148-49DF-AD82-A2EB67898317@nostrum.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: AcjwwXh8IdJ32yTqQS6bwRvBMGXQrgFUGxHQ
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>
From: "DRAGE, Keith (Keith)" <drage@alcatel-lucent.com>
To: Robert Sparks <rjsparks@nostrum.com>, Paul Kyzivat <pkyzivat@cisco.com>
X-OriginalArrivalTime: 04 Aug 2008 10:09:46.0716 (UTC) FILETIME=[391291C0:01C8F61A]
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.39
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
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