Re: [Sipping] Current status of response to 3gpp Liaison Statementon offer/answer procedures
Paul Kyzivat <pkyzivat@cisco.com> Tue, 05 August 2008 17:34 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 AB4333A69B2; Tue, 5 Aug 2008 10:34:45 -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 9393A3A69B2 for <sipping@core3.amsl.com>; Tue, 5 Aug 2008 10:34:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.202
X-Spam-Level:
X-Spam-Status: No, score=-6.202 tagged_above=-999 required=5 tests=[AWL=-0.203, 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 7sgf6hcewPsg for <sipping@core3.amsl.com>; Tue, 5 Aug 2008 10:34:41 -0700 (PDT)
Received: from sj-iport-1.cisco.com (sj-iport-1.cisco.com [171.71.176.70]) by core3.amsl.com (Postfix) with ESMTP id 82E763A679C for <sipping@ietf.org>; Tue, 5 Aug 2008 10:34:41 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.31,311,1215388800"; d="scan'208";a="61804260"
Received: from sj-dkim-3.cisco.com ([171.71.179.195]) by sj-iport-1.cisco.com with ESMTP; 05 Aug 2008 17:35:12 +0000
Received: from sj-core-5.cisco.com (sj-core-5.cisco.com [171.71.177.238]) by sj-dkim-3.cisco.com (8.12.11/8.12.11) with ESMTP id m75HZBJI002947; Tue, 5 Aug 2008 10:35:11 -0700
Received: from xbh-rtp-201.amer.cisco.com (xbh-rtp-201.cisco.com [64.102.31.12]) by sj-core-5.cisco.com (8.13.8/8.13.8) with ESMTP id m75HZ4K5013500; Tue, 5 Aug 2008 17:35:11 GMT
Received: from xfe-rtp-201.amer.cisco.com ([64.102.31.38]) by xbh-rtp-201.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 5 Aug 2008 13:35:10 -0400
Received: from [161.44.174.168] ([161.44.174.168]) by xfe-rtp-201.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 5 Aug 2008 13:35:10 -0400
Message-ID: <48988F88.7090402@cisco.com>
Date: Tue, 05 Aug 2008 13:36:08 -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> <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> <5D1A7985295922448D5550C94DE29180021D0F79@DEEXC1U01.de.lucent.com>
In-Reply-To: <5D1A7985295922448D5550C94DE29180021D0F79@DEEXC1U01.de.lucent.com>
X-OriginalArrivalTime: 05 Aug 2008 17:35:10.0533 (UTC) FILETIME=[9C1F2F50:01C8F721]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=34529; t=1217957711; x=1218821711; c=relaxed/simple; s=sjdkim3002; 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=YJ+Mox0poYiRYGDyq/XYd0i+6MEoS0TlwflliVQN93Y=; b=Scvre5vJcXjGQBorLaE30+Ug0LXLSSg/Vti0DzIHqWUqcFhUqwK9gHyVkW Hz7gKcvW4dkp755VkatRDso7puyJibaLLk7lLlMW2unjWUuVa5IJMAQJDxVj elAivfAZKv;
Authentication-Results: sj-dkim-3; header.From=pkyzivat@cisco.com; dkim=pass ( sig from cisco.com/sjdkim3002 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 was talking about the two ends of a single hop. AFAIK there is no requirement for e2e consistency of timers. Paul DRAGE, Keith (Keith) wrote: > 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