Re: [sipcore] Question on draft-camarillo-sipcore-reinvite-01.txt

Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com> Wed, 13 January 2010 09:13 UTC

Return-Path: <gonzalo.camarillo@ericsson.com>
X-Original-To: sipcore@core3.amsl.com
Delivered-To: sipcore@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 272E43A6864 for <sipcore@core3.amsl.com>; Wed, 13 Jan 2010 01:13:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.989
X-Spam-Level:
X-Spam-Status: No, score=-105.989 tagged_above=-999 required=5 tests=[AWL=0.260, BAYES_00=-2.599, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 4OevELqXowpQ for <sipcore@core3.amsl.com>; Wed, 13 Jan 2010 01:12:58 -0800 (PST)
Received: from mailgw5.ericsson.se (mailgw5.ericsson.se [193.180.251.36]) by core3.amsl.com (Postfix) with ESMTP id 3E31E3A6827 for <sipcore@ietf.org>; Wed, 13 Jan 2010 01:12:57 -0800 (PST)
X-AuditID: c1b4fb24-b7bb6ae000001052-59-4b4d8e9631be
Received: from esealmw127.eemea.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw5.ericsson.se (Symantec Mail Security) with SMTP id AE.C0.04178.69E8D4B4; Wed, 13 Jan 2010 10:12:54 +0100 (CET)
Received: from esealmw127.eemea.ericsson.se ([153.88.254.175]) by esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Wed, 13 Jan 2010 10:12:53 +0100
Received: from [131.160.37.44] ([131.160.37.44]) by esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Wed, 13 Jan 2010 10:12:53 +0100
Message-ID: <4B4D8E95.9@ericsson.com>
Date: Wed, 13 Jan 2010 11:12:53 +0200
From: Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: Paul Kyzivat <pkyzivat@cisco.com>
References: <4B41EDC9.6050204@cisco.com>
In-Reply-To: <4B41EDC9.6050204@cisco.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 13 Jan 2010 09:12:53.0657 (UTC) FILETIME=[966D5890:01CA9430]
X-Brightmail-Tracker: AAAAAA==
Cc: SIPCORE <sipcore@ietf.org>
Subject: Re: [sipcore] Question on draft-camarillo-sipcore-reinvite-01.txt
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipcore>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Jan 2010 09:13:01 -0000

Hi Paul,

yes, that section of the draft includes a 'TODO' part because it does 
not provide an acceptable solution yet. What we need to decide, as you 
suggest in your email, is the point where the new session parameters are 
considered to be in use.

Without preconditions, this should be easy. When the new offer/answer 
completes, the new parameters are in use.

With preconditions, it is a bit more complex. The new parameters should 
be considered to be in use when the preconditions are met. The issue 
here is that, in some cases, it is the UAS the one that figures out when 
the preconditions are met and starts sending media using the new 
parameters, sometimes without issuing any SIP signalling. I wrote a 
draft a while ago describing this issue and explaining how the UAS can 
use SIP to signal the fact that the new parameters are now in use:

http://www.watersprings.org/pub/id/draft-camarillo-sipping-precons-00.txt

Using SIP signalling instead of having the UAC discover that the new 
parameters are in use at the media level is useful when the stream does 
not carry media continuously.

Therefore, I would propose to consider that the new parameters are in 
use when the following happens:

o an offer/answer without preconditions for the stream completes 
successfully, or
o an offer/answer where all the preconditions for the stream are met 
completes successfully, or
o media is received using the new parameters


Additionally, we may want to resurrect the draft above about 
preconditions so that the issue is described in more detail. However, 
last time I asked people were not that interested in the draft. If we 
want to resurrect it now, I would be OK with doing so.

Thanks,

Gonzalo


Paul Kyzivat wrote:
> Gonzalo,
> 
> Over the holidays I had occasion to review the above document again, and 
> I have a question about the criterion you propose for sending an error 
> response or not:
> 
>     If any of the changes requested in a re-INVITE or in any transaction
>     within it have already been executed (with the exception of target
>     refreshes), the UAS MUST always return a 2xx response.
> 
>     A change to the session state is considered to have been executed
>     when the new media parameters are being used.  Therefore, a change to
>     a stream subject to preconditions [RFC4032] is considered to have
>     been executed when the new media parameters start being used; not
>     when the preconditions for the stream are met.  Connection
>     establishment messages (e.g., TCP SYN) and connectivity checks (e.g.,
>     when using ICE [I-D.ietf-mmusic-ice]) are not considered media
>     either.  A UA considers the new parameters to be in use when it sends
>     media using them, or when media that uses the new parameters is
>     received, which should be interpreted as follows.  From Section 8.3.1
>     of RFC 3264 [RFC3264]:
> 
>        "Received, in this case, means that the media is passed to a media
>        sink.  This means that if there is a playout buffer, the agent
>        would continue to listen on the old port until the media on the
>        new port reached the top of the playout buffer.  At that time, it
>        MAY cease listening for media on the old port."
> 
> Consider the case where the o/a has been performed, and the UAC has sent 
> media according to the new session description, but the UAS has not yet 
> sent or received that media according to the definition above. In that 
> case, the UAS may choose to send an error response. But the UAC has 
> already made the change to the new session, and so will need to switch 
> again to the old one. This is the case you are attempting to avoid, and 
> yet it has not been avoided. I don't see an easy answer to this - only 
> messy ones.
> 
> 	Thanks,
> 	Paul
>