Re: [sipcore] Fwd: New Version Notification for draft-sparks-sipcore-refer-clarifications-03.txt

Ivo Sedlacek <ivo.sedlacek@ericsson.com> Thu, 31 July 2014 07:26 UTC

Return-Path: <ivo.sedlacek@ericsson.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8BD571A0292 for <sipcore@ietfa.amsl.com>; Thu, 31 Jul 2014 00:26:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1ffF7Wcks7F1 for <sipcore@ietfa.amsl.com>; Thu, 31 Jul 2014 00:26:21 -0700 (PDT)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 04FC01A03B3 for <sipcore@ietf.org>; Thu, 31 Jul 2014 00:26:17 -0700 (PDT)
X-AuditID: c1b4fb25-f79da6d000004ad3-c3-53d9ef9767f0
Received: from ESESSHC019.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 94.3C.19155.79FE9D35; Thu, 31 Jul 2014 09:26:15 +0200 (CEST)
Received: from ESESSMB301.ericsson.se ([169.254.1.135]) by ESESSHC019.ericsson.se ([153.88.183.75]) with mapi id 14.03.0174.001; Thu, 31 Jul 2014 09:26:14 +0200
From: Ivo Sedlacek <ivo.sedlacek@ericsson.com>
To: Robert Sparks <rjsparks@nostrum.com>, Andrew Allen <aallen@blackberry.com>, Adam Roach <adam@nostrum.com>, "sipcore@ietf.org" <sipcore@ietf.org>
Thread-Topic: [sipcore] Fwd: New Version Notification for draft-sparks-sipcore-refer-clarifications-03.txt
Thread-Index: AQHPqrHlmnmUsyWPWkiMyO8iEueSdZu3Zw8AgAAHa4CAAU4pgP//+hIAgAEMFKA=
Date: Thu, 31 Jul 2014 07:26:14 +0000
Message-ID: <39B5E4D390E9BD4890E2B310790061011270B9E1@ESESSMB301.ericsson.se>
References: <20140728221604.19558.73431.idtracker@ietfa.amsl.com> <53D6CC3D.4000005@nostrum.com> <39B5E4D390E9BD4890E2B310790061011270A76B@ESESSMB301.ericsson.se> <53D7BB5D.5010402@nostrum.com> <BBF5DDFE515C3946BC18D733B20DAD233991419A@XMB122CNC.rim.net> <53D92314.6040607@nostrum.com>
In-Reply-To: <53D92314.6040607@nostrum.com>
Accept-Language: en-US, cs-CZ
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.20]
Content-Type: multipart/mixed; boundary="_004_39B5E4D390E9BD4890E2B310790061011270B9E1ESESSMB301erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA2WSa1BMYRjHvWfPnk47NfNapWdcPmyjoYwihjTGZcLETKY0Zgwf2DiTtqzs SUOM2dVmxj0p6aQL1l2LtqjwwXajmqS1KA2WsG7JLGWHyp7zrplmfPs9z/M/57n8X1amvMdM YFO0GZxOq04LZhR00dqhPTMKv3Ulziw+MC3qVWk1iro7dNYn6ulpAxP181cls5iOFfQVPrEm k5uKFWp76XjZOsWCzVxaSiani1i4UbHlYMtVlG5upHdWPG+g9Wiwkj6IfFnAc8Ce18IQHg8d L697WMEqcSOCWvc1SiwosQlBnm2qyAwOh+NVDXJRFIBPIXCPfEZiYRxOhcs36iQOwGlwzGVk CK8C13fBwyxL4xCwmIPEtD+OA7PejEizixRUv2uXvvXF0+HoQLVcZIQng/3PESkvw0HQ3VtG kUkDwPG41Tt1IHx8OywnrAJ74UWK6FPgWkWPjDQbCw+LeulcFCCM+pUwSiaMkpH8NnA0tcoF z9gyHArX6yJIWgX5hxw+hKdBzukSn//zk8BScAAJntVkOAdB4S8nLUh73kTwqO0cIkEBBc0l fRQJTiBovfSAIYEFwR+70RvYEHTU6ZEgGXGBgvw7gaTQjKBg3wc5CTwOlbcdYoRRFgnS9RPg TJ5JWkl0qKOF8D+HCEeCTaj3asKgpClb2kN0q8Lo8p4mDvYX36DJFEnQfrtPYj88HwxNhTLC meD4VMaIJ/PDu8CSzQpeQ53NpVKrf4aWo5grKJDn+KStyZGzwzldyiae36YN13IZlcjz3u9X /Q6pQbYvS6wIsyjYz/+1pitRKVdn8ru2WtFElg4O8j/TXpqoxMnqDC6V49I53QbdjjSOtyKK 9Z2gRwqbYW9C6CKO7n2z+uvgyItU50dd4HBCutlQXr98Xlbk5NTo+a4NoUUOtaEkzl0/5WQ8 1Ky+l2WpvZXbtTJSn2M+bP2xoj+5HUPd+zUPHevzXsR3Nu1e1n3+WY9GZfyaoNmpf5I9Jmau 89zgg6U9A8o10T1GzXa/zn4et42EqV4F0/wW9awwmY5X/wVELzCw0AMAAA==
Archived-At: http://mailarchive.ietf.org/arch/msg/sipcore/NzgGshOVsAWipz1JLnapL5MpEZc
Subject: Re: [sipcore] Fwd: New Version Notification for draft-sparks-sipcore-refer-clarifications-03.txt
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Thu, 31 Jul 2014 07:26:26 -0000

Hello,

According to the draft, the purpose of GRUU in Contact of INVITE request to "
   ensures that out-of-dialog REFER requests corresponding to any
   resulting INVITE dialogs arrive at this UA."

If a UA rejects any out-of-dialog REFER requests corresponding to any dialogs related to an INVITE request, then setting up GRUU in Contact of INVITE does not provide any purpose.

This is true __regardless__ whether the UA supports and use the draft-sparks-sipcore-refer-explicitsub.
See attached mail giving an example of UA having two types of sessions, Type_A transferrable by REFER, and Type_B not transferrable by REFER.
Given that different standardization organization has defined so many enablers which can run on a single UA, I find it weird that one can guarantee that the above cannot occur.

Thus, I hesitate to mandate an unnecessary requirement influencing possible existing UA implementations and I prefer to be explicit on the exception for usage of GRUU in Contact of INVITE request:




   A UA that will accept a REFER request needs to include
   a GRUU in the Contact header field of all INVITE requests.  This
   ensures that out-of-dialog REFER requests corresponding to any
   resulting INVITE dialogs arrive at this UA. >>>UAs that will not accept any out-of-dialog REFER requests corresponding to dialog(s) created by an INVITE request

   are exempted from including a GRUU in the Contact header field of the INVITE request.<<<

Kind regards

Ivo Sedlacek




This Communication is Confidential. We only send and receive email on the basis of the terms set out at www.ericsson.com/email_disclaimer<http://www.ericsson.com/email_disclaimer>
From: Robert Sparks [mailto:rjsparks@nostrum.com]
Sent: 30. července 2014 18:54
To: Andrew Allen; Adam Roach; Ivo Sedlacek; sipcore@ietf.org
Subject: Re: [sipcore] Fwd: New Version Notification for draft-sparks-sipcore-refer-clarifications-03.txt


On 7/30/14, 10:33 AM, Andrew Allen wrote:
I have a general concern with the direction this is now going.
I don't think you have the backwards-compatibility concern quite right, but I agree that the current wording isn't there yet.


Are we now saying here that it’s OK for a UA that supports receiving REFER to arbitrarily reject any REFER that would create a subscription (i.e be incompatible with RFC 3515 UACs by basically not supporting RFC 3515 UAS compliant behavior)?
No, _this_ document is not defining new behavior. It's only clarifying what's already defined.




According to RFC 3515

2.4.4 Using SIP Events to Report the Results of the Reference

                The NOTIFY mechanism defined in [2] MUST be used to inform the agent sending the REFER of the status of the reference.

Therefore the ability to create an implicit subscription when accepting
FWIW, Accepting is the key word here.

a REFER is mandatory behavior in RFC 3515 and is expected to be supported by all RFC 3515 UACs

I think before agreeing any wording here we should have a general discussion on the principle of whether these extensions that allow UACs to request that no implicit subscription can be effectively required by REFER UAS to be supported at the UAC.
This, and what you have below, is a discussion we definitely need to have as part of the extension document.
It is not necessary to wait for that discussion to complete the clarifications document that talks about what the specs say _now_.

My discomfort with the current text is that we've made it complex to make it so that we don't have to update the document once the proposed extensions exist.
There are NO currently standardized cases where the exemption in the current text would be invoked, and I don't think people are trying to argue there are - I'm hearing that to get there, they expect to invoke the yet-to-be-defined extension.

So, lets go back to the slightly longer sentence that led to this:

A UA that will accept a subscription-creating REFER request needs to include
a GRUU as the Contact in all INVITE requests to ensure out-of-dialog REFER requests
related to any dialog created by the INVITE arrive at this UA.

In an attempt to be future-proof, that's introducing the potential for confusion about what the current standards define.
Let's remove that confusion.
Here's a proposed replacement, taking Adam's sentence simplification into account:

   A UA that will accept a REFER request needs to include
   a GRUU in the Contact header field of all INVITE requests.  This
   ensures that out-of-dialog REFER requests corresponding to any
   resulting INVITE dialogs arrive at this UA. Future extensions
   [draft-sparks-sipcore-refer-explicitsub] might relax this requirement
   by defining a REFER request that cannot create an implicit subscription.


Unless I hear objection soon, I'll rev the draft with that content.




If so then I think we will need a new sip options tag (e.g REFER-NOSUB) to be used in place of the REFER options tag so that a RFC 3515 compliant UA that expects a NOTIFY to be sent upon receipt of a REFER and that includes an Accept-Contact request to reach a UA that supports REFER doesn’t end up at a UAS that doesn’t  support compliant RFC 3515 behavior and ends up having its REFER requests rejected.

My own view is that we should keep with the principle of backward compatibility and that even when these no automatic subscription extensions are supported that full support for RFC 3515 behavior is continued.

Andrew





From: sipcore [mailto:sipcore-bounces@ietf.org] On Behalf Of Adam Roach
Sent: Tuesday, July 29, 2014 11:19 AM
To: Ivo Sedlacek; Robert Sparks; sipcore@ietf.org<mailto:sipcore@ietf.org>
Subject: Re: [sipcore] Fwd: New Version Notification for draft-sparks-sipcore-refer-clarifications-03.txt

On 7/29/14 09:52, Ivo Sedlacek wrote:

Thus, the text should state:


   In general, UAs that support receiving >>and accepting an out-of-dialog<< REFER request >>corresponding to a dialog established by an INVITE request<< need to include
   a GRUU in the Contact header field of >>the<< INVITE request.  This
   ensures that out-of-dialog REFER requests corresponding to any
   resulting INVITE dialogs are routed to the correct user agent.  UAs
   that will never create a implicit subscription in response to a REFER
   (that is, those that will reject any REFER that might result in an
   implicit subscription) are exempted from this behavior.

I helped with the phrasing here, and one of the goals here was to make the first sentence cover the vast majority of the cases (hence "in general"), with the exceptional cases described later. The problem was that the overall concept was getting lost in a maze of twisty clauses: the clarification had become worse than the source text; it was actually more confusing.

Your proposal returns it to this very confusing state, and is way, way out into the realm of exceptional cases.

So I'll counterpropose:

   In general, UAs that support receiving REFER requests need to include

   a GRUU in the Contact header field of all INVITE requests.  This

   ensures that out-of-dialog REFER requests corresponding to any

   resulting INVITE dialogs are routed to the correct user agent.  UAs

   that will not create a implicit subscription in response to a REFER

   for the resulting dialog(s) -- that is, those that will reject a

   corresponding REFER that might result in an implicit subscription --

   are exempted from this behavior.

/a

--- Begin Message ---
Hello,



thank you for the updated draft.



Changes in section 4 resolve the first ISSUE I raised. Thank you.



Changes in section 3 are improvement. However, there is one more situation when the draft requires UA to set Contact of INVITE request to GRUU, when the GRUU would actually NOT be needed.



Particularly, if a UA supports receiving and accepting REFER request, the UA can be willing to accept such REFER for some sessions only. E.g. the UA can have two types of sessions:

- Type_A sessions for which the UE is willing to accept corresponding out-of-dialog REFER; and

- Type_B sessions for which the UE is NOT willing to accept corresponding out-of-dialog REFER. Any received out-of-dialog REFER request corresponding to such session would be rejected.



For Type_A sessions, I agree that GRUU (or at least a URI with GRUU properties) in Contact of INVITE is needed.

For Type_B sessions, GRUU in Contact of INVITE is not needed. UA will anyway reject any received out-of-dialog REFER request corresponding to such session.



So, in other words, GRUU in Contact of INVITE is needed only if UA wishes to receive an out-of-dialog REFER and >>is will to accept<< such out-of-dialog REFER.



Thus, the text should state:





   In general, UAs that support receiving >>and accepting an out-of-dialog<< REFER request >>corresponding to a dialog established by an INVITE request<< need to include

   a GRUU in the Contact header field of >>the<< INVITE request.  This

   ensures that out-of-dialog REFER requests corresponding to any

   resulting INVITE dialogs are routed to the correct user agent.  UAs

   that will never create a implicit subscription in response to a REFER

   (that is, those that will reject any REFER that might result in an

   implicit subscription) are exempted from this behavior.





Kind regards



Ivo Sedlacek











From: sipcore [mailto:sipcore-bounces@ietf.org] On Behalf Of Robert Sparks
Sent: 29. července 2014 0:19
To: sipcore@ietf.org
Subject: [sipcore] Fwd: New Version Notification for draft-sparks-sipcore-refer-clarifications-03.txt



Adam and I spent some time today editing to account for the discussion.
We believe we covered all the concerns raised.

The sentence in section 3 was getting a bit complex, so we split it up into several.
Here's what it was before splitting it up:

A UA that will accept a subscription-creating REFER request needs to include
a GRUU as the Contact in all INVITE requests to ensure out-of-dialog REFER requests
related to any dialog created by the INVITE arrive at this UA.

You can see what it turned into by looking in the draft.

RjS



-------- Original Message --------

Subject:

New Version Notification for draft-sparks-sipcore-refer-clarifications-03.txt

Date:

Mon, 28 Jul 2014 15:16:04 -0700

From:

internet-drafts@ietf.org<mailto:internet-drafts@ietf.org>

To:

Robert Sparks <rjs@nostrum.com><mailto:rjs@nostrum.com>, "Adam Roach" <adam@nostrum.com><mailto:adam@nostrum.com>, Adam Roach <adam@nostrum.com><mailto:adam@nostrum.com>, "Robert Sparks" <RjS@nostrum.com><mailto:RjS@nostrum.com>



A new version of I-D, draft-sparks-sipcore-refer-clarifications-03.txt
has been successfully submitted by Robert Sparks and posted to the
IETF repository.

Name:          draft-sparks-sipcore-refer-clarifications
Revision:      03
Title:         Clarifications for the use of REFER with RFC6665
Document date: 2014-07-28
Group:         Individual Submission
Pages:         4
URL:            http://www.ietf.org/internet-drafts/draft-sparks-sipcore-refer-clarifications-03.txt
Status:         https://datatracker.ietf.org/doc/draft-sparks-sipcore-refer-clarifications/
Htmlized:       http://tools.ietf.org/html/draft-sparks-sipcore-refer-clarifications-03
Diff:           http://www.ietf.org/rfcdiff?url2=draft-sparks-sipcore-refer-clarifications-03

Abstract:
   An accepted SIP REFER method creates an implicit subscription using
   the SIP-Specific Event Notification Framework.  That framework was
   revised by RFC6665.  This document highlights the implications of the
   requirement changes in RFC6665, and updates the definition of the
   REFER method, RFC3515, to clarify and disambiguate the impact of
   those changes.




Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

The IETF Secretariat






--- End Message ---