Re: [sipcore] Eric Rescorla's Discuss on draft-ietf-sipcore-sip-push-21: (with DISCUSS and COMMENT) - the COMMENT issues
Eric Rescorla <ekr@rtfm.com> Mon, 07 January 2019 14:15 UTC
Return-Path: <ekr@rtfm.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B6506130EA8 for <sipcore@ietfa.amsl.com>; Mon, 7 Jan 2019 06:15:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.89
X-Spam-Level:
X-Spam-Status: No, score=-1.89 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 dlwSc3oW7dG8 for <sipcore@ietfa.amsl.com>; Mon, 7 Jan 2019 06:15:56 -0800 (PST)
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [IPv6:2a00:1450:4864:20::136]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D4302130E99 for <sipcore@ietf.org>; Mon, 7 Jan 2019 06:15:52 -0800 (PST)
Received: by mail-lf1-x136.google.com with SMTP id y11so386222lfj.4 for <sipcore@ietf.org>; Mon, 07 Jan 2019 06:15:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ydahlqBHWFHxC15+FsJFqYOQZhLo50Hfj6Dcot9J4SU=; b=tgJQe+1WeSOteuKJvOMLZvSjH8L6lPyed9qIn2pCMKyAiPfKsVljSibww2FxT+Fwr1 KiUUswfmwdZRdwRslkjpw8I0618gC/v9kzuZRC4khBzwwdulvBJo3d2+mJFhb9qiSGHy I5RGFSUaMwGM8OyJZGWxEzhTJJPfRkF017xydRoUpSKpV9+LNQFXGCHXDi64u5d8CJDH etSgLH73dig5i/Lu0cUx4BaEMFoXwsRibVY40x8U8sn43x7/PHFDuL2JCCdFYzA5kn8a 3+xwjqQaNFXhmieg+PHUp765CMsJUBdIZ4nxv/ZgwS1kRrpPErZcNXS7SArtjIpBs3BQ Yudg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ydahlqBHWFHxC15+FsJFqYOQZhLo50Hfj6Dcot9J4SU=; b=VnDROmH0mRzvDX++OkIl8j3rYHY/bo6yZSx2iO5OQ+SsZjfjUBqs5nxkAKlwQzs3Lg mdt3/JIg02E2eUmWY72CdgzFfdHfkbpnAbQMjq9SzvHlvhW4ee4FPV2x96Qh7kVgPo2o yPTXUfOnbZK7kgQmuiH2DngD+y7gYtUxi2q4/L2735i3UNMkCBs6szwDUA5p2cn9HANt rLN94H9nNDRrJsv+214HQ7ZsBY3IH7Y9s7Ei2mvnwayPQjF8jSf86+0UcDGRdDz6Ozs+ qusQZlvGRnJV8ahXHSfDsFxciBXmOA7znM6qztPKpT+FjWHLYSUU9WdEADfOhw7UYyjY m35A==
X-Gm-Message-State: AA+aEWYAD03+dRempqszmjDTm16YR0dZcoQXu3Y4MccVJPNRndPWfHyl 1JB/inQCTBET/Hr3ybVPxtvhiQUSZCFIBuLVChokXg==
X-Google-Smtp-Source: AFSGD/WESKqjKLe/afJKjgKBcYbp6ztwT9xudVGbqJqN5rBLGlO/cYP5hb9mSgNiGJgWSVkHlVSSBdpHGELITU22sJ0=
X-Received: by 2002:a19:a9d2:: with SMTP id s201mr29181242lfe.154.1546870550877; Mon, 07 Jan 2019 06:15:50 -0800 (PST)
MIME-Version: 1.0
References: <154681733718.17024.3190954246737206843.idtracker@ietfa.amsl.com> <HE1PR07MB31611EECBA89EF1FC46D756C93890@HE1PR07MB3161.eurprd07.prod.outlook.com>
In-Reply-To: <HE1PR07MB31611EECBA89EF1FC46D756C93890@HE1PR07MB3161.eurprd07.prod.outlook.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Mon, 07 Jan 2019 06:15:13 -0800
Message-ID: <CABcZeBM-SdQH4_92uo5-KWWG=Wnb+1u=j7u-1J3FzjjymQYJhA@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Cc: The IESG <iesg@ietf.org>, "br@brianrosen.net" <br@brianrosen.net>, "sipcore@ietf.org" <sipcore@ietf.org>, "draft-ietf-sipcore-sip-push@ietf.org" <draft-ietf-sipcore-sip-push@ietf.org>, "sipcore-chairs@ietf.org" <sipcore-chairs@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b2ecdd057ededd78"
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/ZlGj4xndDOcsmPeEBsLCmUWplMI>
Subject: Re: [sipcore] Eric Rescorla's Discuss on draft-ietf-sipcore-sip-push-21: (with DISCUSS and COMMENT) - the COMMENT issues
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 07 Jan 2019 14:15:58 -0000
On Mon, Jan 7, 2019 at 5:09 AM Christer Holmberg < christer.holmberg@ericsson.com> wrote: > > S 4.1. > >> capability indicator, the UA SHOULD only send a re-registration > >> REGISTER request when it receives a push notification (even if the > UA > >> is able to use a non-push mechanism for sending re-registration > >> REGISTER requests), or when there are circumstances (e.g., if the > UA > >> is assigned new contact parameters due to a network configuration > >> change) that require an immediate REGISTER request to be sent. > > > >This text doesn't seem correct. If the initial response doesn't > >contain "sip.pns" then you probably would still want to send regular > >REGISTERs > > The text is about "sip.pnsreq". > Yes, but it's not phrased as being conditional on that other condition (see previous comments about writing style). --- > > S 4.1. > >> change) that require an immediate REGISTER request to be sent. > >> > >> NOTE: If the UA uses a non-push mechanism to wake and send a > binding > >> refresh REGISTER request, such REGISTER request will update the > >> binding expiration timer, and the proxy does not need to request a > >> push notification towards the UA in order to wake the UA. The > proxy > > > >This doesn't seem obviously correct. Why is this so? > > As the UA will use other (non-push) mechanisms to wake up for updating the > binding expiration timer, there is no need to use push notifications for > that. > All right. > --- > > S 4.1. > >> REGISTER request. > >> > >> If the UA no longer wants to receive push notifications (requested > by > >> the proxy), the UA MUST send a binding-refresh REGISTER request > >> without including the SIP URI parameters described above, or the UA > >> MUST remove the registration. > > > >This seems pretty hard to conform with, given that mobile applications > >are often just shut down with no warning. > > On shut down, I believe mobile applications are typically moved in to a > state where they are still able to perform some actions. > It's not reliable. Sometimes you get that, sometimes you don't. Anyway, the text applies to situations where the UA is able to perform > actions. > > So, perhaps clarifying that with: > > "the UA MUST (unless it is no longer able to perform SIP procedures, e.g., > due to a forced shutdown) send a" > This doesn't seem much like a MUST. --- > > S 4.1. > >> document. > >> > >> For privacy and security reasons, the UA MUST NOT include the SIP > URI > >> parameters defined in this document in non-REGISTER request, to > >> prevent the PNS information associated with the UA from reaching > the > >> remote peer. For example, the UA MUST NOT include the SIP URI > > > >For non-SIP experts, why is this not an issue with REGISTER? > > The REGISTER will only reach your registrar, it will not be forwarded to > the remote peer. > Please say so. > > S 5.2. > >> If the UA has indicated, using the 'sip.pnsreg' media feature tag, > >> that it is able to wake using a non-push mechanism for sending > >> binding-refresh REGISTER requests, if the proxy does not receive a > >> REGISTER request prior to 120 seconds before the registration > >> expires, the proxy MAY request a push notification towards the UA, > to > >> trigger the UA to send a REGISTER request. > > > >This paragraph needs to be rewritten in some way that is not so > >conditional dense. > > There are only two conditions, aren't there? > No. When a proxy receives: If the proxy considers If the proxy considers Similarly, when the proxy receives [not sure about the indent on this one...] > --- > > S 5.2. > >> UA expects to receive push notifications from the network. A proxy > >> will not request push notifications towards a UA that has not > >> provided a pn-prid SIP URI parameter. > >> > >> If the proxy receives information that a registration has expired, > >> the proxy MUST NOT request further push notifications towards the > UA. > > > > Again, how would it receive such information? > > E.g., using RFC 3680 - or some other mechanism. As different networks and > architectures might use different mechanisms for updating its nodes about > the registration status, we don't want to mandate a specific mechanism. > You need to say something here about how that's out of scope. Otherwise, people just go hunting through the text for it. > S 5.3.1. > >> registrar too short, the proxy MUST NOT insert a Feature-Caps > header > >> field with a 'sip.pns' feature-capability indicator in the > response, > >> and the proxy MUST NOT request push notifications associated with > the > >> registration. A registration expiration interval MUST be > considered > >> too short if the interval is smaller than the time prior to > >> expiration that the proxy would request a push notification. The > > > >What does this text mean? > > If the registration interval is considered too short, a proxy will not > enable SIP push. > > For example, assume a proxy would send a push notification 30 seconds > prior to registration expirations. > > Now, if the registration expiration interval is only 20 seconds, it would > not work. > > I don't think this will ever happen in real life, but people wanted this > text. > OK, but it should be rewritten so it's clear. > --- > > S 5.3.2. > >> > >> If the proxy has knowledge that the UA is awake, and that the UA is > >> able to receive the SIP request without first sending a REGISTER > >> request, the proxy MAY choose to not request a push notification > >> towards the UA (and wait for the associated REGISTER request and > 2xx > >> response) before it tries to forward the SIP request towards the > UA. > > > >Why not race these? > > One could do that, but I don't think it should be mandated. > The current text prohibits racing if you *don't* know that the UA is awake. > > S 6.1.1. > >> triggered by incoming mid-dialog requests is done based on local > >> policy. Such policy might be based on the type of SIP dialog, the > >> type of media (if any) negotiated for the dialog [RFC3264], etc. > >> > >> NOTE: As the 'pn-purr' SIP URI parameter only applies to a give > >> dialog, the UA needs to include a 'pn-purr' parameter in the > Contact > > > > "to a given" dialog? > > Correct. Will fix. > > --- > > S 6.2.1. > >> 6.2.1. REGISTER > >> > >> When the proxy receives an initial REGISTER request for a > >> registration from the UA, if the proxy supports requesting push > >> notifications, triggered by mid-dialog requests, towards the > >> registered UA, the proxy MUST store the information (the pn- SIP > URI > > > > Too many commas here to make sense of this requirement > > I'll see what I can do to fix that. > > --- > > S 10. > >> by two values, separated by a period (.): Team ID and Topic. The > >> Team ID is provided by Apple and is unique to a development team. > >> The Topic consists of the Bundle ID, which uniquelly identifies an > >> appliciation, and a service value that identifies a service > >> associated with the application, separated by a period (.). For > VoIP > >> applications the service value is "voip". > > > > What is the syntax of these params? > > The details can be found in the PNS specific documentation. > These do not appear to be normative references. I at least need to know enough about the structure to know what to expect. -Ekr > --- > > S 11. > >> The value of the pn-provider URI parameter is "fcm". > >> > >> The value of the pn-param URI parameter is the Project ID. > >> > >> The value of the pn-prid URI parameter is the Registration token, > >> which is generated by the FCM SDK for each client app instance. > > > > Again, what is the syntax of this? > > Same as above. > > Regards, > > Christer > > > > >
- [sipcore] Eric Rescorla's Discuss on draft-ietf-s… Eric Rescorla
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Eric Rescorla
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Eric Rescorla
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Eric Rescorla
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Eric Rescorla
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Eric Rescorla
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Ben Campbell
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Ben Campbell
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Ben Campbell
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Eric Rescorla
- Re: [sipcore] Eric Rescorla's Discuss on draft-ie… Christer Holmberg