Re: [Sipping] Liaison Statement on offer/answer procedures

"Christer Holmberg" <christer.holmberg@ericsson.com> Mon, 09 June 2008 17:41 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 A74363A6A12; Mon, 9 Jun 2008 10:41:31 -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 82A823A6A0B for <sipping@core3.amsl.com>; Mon, 9 Jun 2008 10:41:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.172
X-Spam-Level:
X-Spam-Status: No, score=-6.172 tagged_above=-999 required=5 tests=[AWL=0.077, BAYES_00=-2.599, HELO_EQ_SE=0.35, 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 h8Zqja8-jVYU for <sipping@core3.amsl.com>; Mon, 9 Jun 2008 10:41:29 -0700 (PDT)
Received: from mailgw3.ericsson.se (mailgw3.ericsson.se [193.180.251.60]) by core3.amsl.com (Postfix) with ESMTP id C057A3A6914 for <sipping@ietf.org>; Mon, 9 Jun 2008 10:41:28 -0700 (PDT)
Received: from mailgw3.ericsson.se (unknown [127.0.0.1]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 39327203E9; Mon, 9 Jun 2008 19:41:47 +0200 (CEST)
X-AuditID: c1b4fb3c-ae89cbb00000193b-48-484d6b5b0b84
Received: from esealmw126.eemea.ericsson.se (unknown [153.88.254.123]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 0D04A204F8; Mon, 9 Jun 2008 19:41:47 +0200 (CEST)
Received: from esealmw113.eemea.ericsson.se ([153.88.200.4]) by esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Mon, 9 Jun 2008 19:41:49 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Date: Mon, 09 Jun 2008 19:41:49 +0200
Message-ID: <CA9998CD4A020D418654FCDEF4E707DF046C7819@esealmw113.eemea.ericsson.se>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Sipping] Liaison Statement on offer/answer procedures
Thread-Index: AcjKQDB4bXj//cZqS1Wwvje/V+mFUQAFELA/
References: <4822983A.2090906@ericsson.com> <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><CA9998CD4A020D418654FCDEF4E707DF046C77F8@esealmw113.eemea.ericsson.se><484719AF.9060207@cisco.com><CA9998CD4A020D418654FCDEF4E707DF0688EB10@esealmw113.eemea.ericsson.se><4847FF97.1030804@cisco.com><CA9998CD4A020D418654FCDEF4E707DF046C7805@esealmw113.eemea.ericsson.se> <48493CE6.3050800@cisco.com> <C0E80510684FE94DBDE3A4AF6B968D2D037D84FF@esealmw118.eemea.ericsson.se> <CA9998CD4A020D418654FCDEF4E707DF046C780A@esealmw113.eemea.ericsson.se> <48499AD6.4060701@cisco.com> <4849B4A5.6090906@cisco.com> <CA9998CD4A020D418654FCDEF4E707DF046C780D@esealmw113.eemea.ericsson.se> <484AC895. 1050409@ cisco.com> <CA9998CD4A020D418654FCDEF4E707DF046C7811@esealmw113.eemea.ericsson.se> <484D436 0.400030 7@cisco.com>
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Paul Kyzivat <pkyzivat@cisco.com>
X-OriginalArrivalTime: 09 Jun 2008 17:41:49.0955 (UTC) FILETIME=[18A66530:01C8CA58]
X-Brightmail-Tracker: AAAAAA==
Cc: sipping List <sipping@ietf.org>, "Elwell, John" <john.elwell@siemens.com>, Mary Barnes <mary.barnes@nortel.com>, Gonzalo Camarillo <gonzalo.camarillo@ericsson.com>
Subject: Re: [Sipping] Liaison Statement on 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="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: sipping-bounces@ietf.org
Errors-To: sipping-bounces@ietf.org

Hi,

>>Let's discuss the non-rollback alternative for a while.
>>
>>For the pre-conditions case, when the re-INVITE fails, it most likely means that the UAS finally chose not to accept whatever was proposed in the re-INVITE request (maybe a new 
>>stream). Now,  before the re-INVITE failure response, intermediate o/a transactions may have succeeded, resources may have been reserved etc, e.g. because the UAS user wasn't 
>>"asked" about the new stream until a certain point.
>>
>>So, since the re-INVITE failure response now wouldn't affect the suceeded intermediate o/a transactions, I guess the UAC (or UAS) would have to initiate a "manual fallback", by 
>>sending a new re-INVITE/UPDATE offer, with the SDP that was used before the previous failed re-INVITE request was sent - or maybe try some different offer (maybe it simply isn't 
>>possible to fall back to exactly the same SDP state as before the failed re-INVITE).
>>
>>So, the non-rollback alternative would work also for pre-conditions, assuming the UAC does the "manual fallback", and we wouldn't have the race-condition problem that Anders 
>>brought up.
>>
>>Also, it wouldn't automatically "force" the SDP state back to it's previous state, in case it for whatever reason isn't possible for the UAC/UAS. We would give the users more choise >>on how to deal with the situation.
>
>Before answering that, I think there is a related issue of when the o/a
>changes actually take effect. Is it *immediately* (when the offer is
>sent and when the answer is sent), or is it only when all the
>preconditions have been resolved?

Well, it depends on the use-case. If the UAC is offerin a new stream, it most likely will have to reserve resources (IP address/port, codecs etc) for it before the pre-conditions are met. Of course, it will not start to use them before the pre-conditions have been met.

More on this below, when discussing your codec downgrade use-case.


>Consider a case where what is proposed is a codec change - to a higher
>bandwidth codec. Until the increased bandwidth is obtained, you can't
>really use the new codec.

Correct.

>But the situation is reversed for downgrading - you need to switch to the lower bandwidth codec *before* giving up
>bandwidth.

Well, if you KNOW you are going to downgrade the bandwidth I guess you don't need preconditions in the first place. You just send a re-INVITE/UPDATE without pre-conditions, and I doubt the network will "complain".

But, if you don't know, I guess it very much depends on what access network technology, QoS mechanisms etc you are using. I think a downgrade will happen very fast, so I don't think the high-bandwidth codec would be used for a very long time.

Also, the issue you are describing exists even when a 200 OK response is sent to the re-INVITE, so... :)

>This could be solved by initially offering both the old and new codecs, along with proposing the bandwidth change. The switch in
>which codec is used would happen appropriately. But that depends on some careful conventions for codec usage, and we know there are
>implemenations out that that can't actually support simultaneous use of multiple codecs.

Yes. So, again, I think this is an implementation issue, and people need to be careful when downgrading.


>Even that doesn't fully resolve the problem. Suppose you had previously
>negotiated a bandwidth of B1 and have been happily using it. Then you
>decide to switch to bandwidth B2 ( which is > B1) and send an offer with
>preconditions for this, indicating that it isn't yet satisfied. If you
>get an answer that leaves this unresolved, what do you have? Can you
>assume you still have the old bandwidth, or not?

Again, implementation issue. It's impossible to, for different kind of access network technologies, QoS techniques etc, specify exactly what happens at a certain time.

Also, in the case you describe something has most likely gone wrong somewhere, so the bandwidth status could be whatever...


>Life gets simpler if we assume that none of the o/a changes in the
>context of a reINVITE (and PRACKs and UPDATEs within the reINVITE scope)
>take effect until the successful completion of the reINVITE. (As
>contrasted to having them take effect immediately and then be rolled
>back on a failure.)

I don't think we can assume that.

Take the initial INVITE for example. The negotiated codecs etc take affect once the preconditions have been met - which can happen long before the final re-INVITE final response comes (in many cases the UAS doesn't get alterted until the preconditions are met).

Regards,

Christer

_______________________________________________
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