Re: [sipcore] draft-sparks-sipcore-refer-explicit-subscription-02: comments

Brett Tate <brett@broadsoft.com> Tue, 11 November 2014 12:39 UTC

Return-Path: <brett@broadsoft.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 771B41A86FC for <sipcore@ietfa.amsl.com>; Tue, 11 Nov 2014 04:39:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.979
X-Spam-Level:
X-Spam-Status: No, score=-1.979 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-0.7, 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 QjqoKsrlKP74 for <sipcore@ietfa.amsl.com>; Tue, 11 Nov 2014 04:39:25 -0800 (PST)
Received: from mail-qg0-f44.google.com (mail-qg0-f44.google.com [209.85.192.44]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DDEF71A1ACF for <sipcore@ietf.org>; Tue, 11 Nov 2014 04:39:24 -0800 (PST)
Received: by mail-qg0-f44.google.com with SMTP id q107so7109664qgd.3 for <sipcore@ietf.org>; Tue, 11 Nov 2014 04:39:23 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:content-type; bh=nMKlofdk3LLCeSR8RKJBZf5pe+pJZ1zfLv55Hf6MiDY=; b=m0sfdlb5ES9dkkBv1Mxhj/1rmslF8QzqYpnDe63NAhwsy38Xse+JrvqiyBQtzkndvV L7QGQQJpp8InrLH3/+/STneNZsH+C69Sd1JOgTAOFgZcBxpYeso0lSQ5JaWGhGrjwkl2 rYwswvf8MMh/TnyUZtx0Xg4hYaS0N8kr1FWJeqUIljEL48IRq9dTveSLATMrOMfKTS1I GitdnoB2+wuf5k5YNoT8H48s6SyVHXiCgcvOBZKws0SzxkNaguttlV0Eu4gBWcAXM06+ IU9ja6QqYMj04dv6P8WaWD9LW3D85t2gRbhwstNwDQ/sizrnarnefM1/jrukzx990NCN VAvw==
X-Gm-Message-State: ALoCoQmKdSKUcKkRUbOeF5f43oUDFE0FC0qPDvwBrrFClQcl4bHx5zrAGx95F98JZnAXjfKSNjtz
X-Received: by 10.140.108.182 with SMTP id j51mr50165073qgf.27.1415709563562; Tue, 11 Nov 2014 04:39:23 -0800 (PST)
From: Brett Tate <brett@broadsoft.com>
References: <af46d0591e501b9f610cf72698549bae@mail.gmail.com> <54610E3E.8030003@nostrum.com> <16c53b2416e5d5ae6e327d9b7d0399ed@mail.gmail.com> <54611ED5.2020809@nostrum.com> <c0010dcb2e7fb51e42cd408576e6d1cb@mail.gmail.com> <54612BC5.5060201@nostrum.com>
In-Reply-To: <54612BC5.5060201@nostrum.com>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQFfeN8LiET/kWztblTf6xQUrobKVAGHHR+ZAivDLlwBa0TPDAHBTd30AP1Go+Kc/V2lMA==
Date: Tue, 11 Nov 2014 07:39:20 -0500
Message-ID: <f455706b234247d0c71c5d0cf110ee0b@mail.gmail.com>
To: draft-sparks-sipcore-refer-explicit-subscription@tools.ietf.org, sipcore@ietf.org
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/sipcore/FZsJYbVTAK3iKcuhyMy5NgeIFb0
Subject: Re: [sipcore] draft-sparks-sipcore-refer-explicit-subscription-02: comments
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: Tue, 11 Nov 2014 12:39:29 -0000

Hi,

Thanks for the response; reply is inline.

> >>>> Was that text problematic for you?
> >>> The proposal continues to mandate that the option-tag only be
> >>> honored if received within a Require header of REFER.
> >>>
> >>> If REFER is received within dialog, mandating that the UAS return a
> >>> 421 appears to do nothing but require extra messaging for those
> >>> attempting to use it.  I recommend allowing behavior similar to RFC
> >>> 3262 so that the option tag can be within Supported of mid-dialog
> >>> REFER and Require of REFER's 2xx response.
> >> We _specifically_ avoided that design. It takes us into the "I don't
> >> know if this will create a subscription or not when I send the REFER"
> >> territory.
> So, there are two things I think you're trying to talk about. I'm going
> to draw lines around them just to double-check that I'm hearing
> you correctly.
>
> First is the suggestion to change how we're using Supported/Require.
>
> I don't understand yet why you would _want_ to send a REFER
> with Supported: explicitsub and learn later whether the other
> side chose to use an implicit subscription or an explicit subscription,
> signaled in the 200 OK to the REFER.
>
> Essentially, you are positing "I don't care as a client, you choose
> as the server". I don't think we have a need for that, and trying
> to support something like it is what led norefersub to being
> what it is.

That is not my proposal.  If the client cares, they can use Require or not
include option-tag within Supported.  My proposal is that if the client sent
mid-dialog REFER with Supported indicating one or both new option-tags,
there is no reason to mandate returning 421 if the UAS desires to use the
feature.

Why do you want to restrict the functionality so that it can only be used if
option-tag sent within REFER's Require header?  The working group (and RFC
4485) typically discourages the use of Require within requests unless truly
needed.  Depending upon interpretation of RFC 4485's "basic SIP services",
the use of Require is potentially "NOT RECOMMENDED".


> When you are in a dialog, you have the opportunity to see that the
> extension
> is supported before you start preparing your in-dialog refer by watching
> Supported in the transactions earlier in the dialog. If your peer hasn't
> been
> playing nicely and telling you about what it supports, you can probe by
> sending the REFER with the require and see the 421. That is not new
> behavior
> defined by this draft
> - it's basic 3261.

I agree.  However, it isn't basic SIP to restrict option-tag related
functionality to only occur when the request uses the Require header unless
there is truly a need for the restriction.


> Our case here is different from 100rel. The semantic there is that the
> server
> gets to invoke _using_ the extension because it's the thing that knows
> whether the extension is needed. It's been a fundamental point of this
> proposal from the beginning that this is a decision that the client is
> going to
> make.

If they want/have to make the decision, they can use the Require.  If they
don't want/need to decide, they should be able to use Supported within
mid-dialog REFER without requiring the subsequent 421 to occur.


> > If referrer sends a REFER within dialog without using the Require,
> > they know that it might create a subscription since they don't know if
> > the option-tag is supported.  The 2xx response can indicate if it did
> > create a subscription by supplying Require indicating what occurred.
> >
> > If the desire is to allow RFC 6665 compliant device to send REFER over
> > dialog during GRUU situation, they would need to use the Require
> > (AFAIK).
> If I'm reading you correctly, your second comment is that the draft isn't
> clear
> enough that if you are requiring explicitsub (or nosub), the REFER request
> itself isn't bound by the requirements of 3265 since its contact isn't
> used in
> setting up a subscription. I'll go look at the draft between meetings (I'm
> in
> other sessions right now), and see if I can pump that up.

The draft might be adequate from referrer perspective (I didn't perform a
detailed search).  However as indicated below, I haven't noticed how the
draft enables a RFC 6665 compliant notifier from needing to supply GRUU
Contact within call dialog (i.e. as mentioned within
draft-sparks-sipcore-refer-clarifications-05 section 3 last paragraph).


> > I still haven't noticed how the draft avoids RFC 6665 compliant
> > notifier from needing to supply GRUU Contact within call dialog.
> >
> >
> >> You have Supported around _before_ you get to sending the REFER
> >> require to help you avoid discovering lack of support by trying to
> >> require it if you care about that extra messaging.
> > If the REFER was sent within dialog, the lack of support/use would be
> > observed by receiving REFER's 2xx response without Require option-tag.
> >
> > The referrer can use Require when REFER sent outside of dialog (or
> > within dialog if desired) if they want to avoid ambiguity during forking
> situation.
> >
> > Thanks,
> > Brett