Re: [sipcore] AD Evaluation of draft-ietf-sipcore-sip-push-20 - Ben's technical comments

Christer Holmberg <christer.holmberg@ericsson.com> Fri, 30 November 2018 15:50 UTC

Return-Path: <christer.holmberg@ericsson.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 1EB741277BB for <sipcore@ietfa.amsl.com>; Fri, 30 Nov 2018 07:50:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.761
X-Spam-Level:
X-Spam-Status: No, score=-5.761 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.com header.b=Z3tH7waO; dkim=pass (1024-bit key) header.d=ericsson.com header.b=ZU5U41V5
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 KeV68zUUsHoS for <sipcore@ietfa.amsl.com>; Fri, 30 Nov 2018 07:50:57 -0800 (PST)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C74A1241F6 for <sipcore@ietf.org>; Fri, 30 Nov 2018 07:50:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1543593054; x=1546185054; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ycAOaxdovzB9JQnHtmbm902I0rj7UE7jH8QpEgPkRIo=; b=Z3tH7waOj2b84+FDuSDufX1RY02EeXbzxFnM+oxUnfopRHANhyI6zub3xaDHEwfD PZ+urpJBRXZ3lLxeAY8I3P6HjAtu1LJruWaEhT7krcxyR30SVcszl0lmNLGLA7uV GoHmyHG8r7eaGfkLsBJ2xGzsdhWLUwI4qUS8NGCC8tQ=;
X-AuditID: c1b4fb25-601ff7000000191f-9b-5c015c5e1990
Received: from ESESBMB505.ericsson.se (Unknown_Domain [153.88.183.118]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 56.12.06431.E5C510C5; Fri, 30 Nov 2018 16:50:54 +0100 (CET)
Received: from ESESSMR506.ericsson.se (153.88.183.128) by ESESBMB505.ericsson.se (153.88.183.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Fri, 30 Nov 2018 16:50:54 +0100
Received: from ESESSMB502.ericsson.se (153.88.183.163) by ESESSMR506.ericsson.se (153.88.183.128) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Fri, 30 Nov 2018 16:50:54 +0100
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB502.ericsson.se (153.88.183.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3 via Frontend Transport; Fri, 30 Nov 2018 16:50:54 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ycAOaxdovzB9JQnHtmbm902I0rj7UE7jH8QpEgPkRIo=; b=ZU5U41V50g5oGJVtPkJpkIlBZLa7Vquv0XlYkBc6x08v0rgUlpkPYLvY/engKEU7x1uuApnYsNEkXZyEY6pysYVpb5nuuR6GXxtXOtQ1AGoe8dgBUOI5T9uc/tl/mtH8LRR9C60kRxtGnKQnuOUrK1LWbHHMgQ7fpzfr1IUlv9E=
Received: from AM6PR07MB5621.eurprd07.prod.outlook.com (20.178.91.14) by AM6PR07MB5090.eurprd07.prod.outlook.com (20.177.188.211) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.8; Fri, 30 Nov 2018 15:50:53 +0000
Received: from AM6PR07MB5621.eurprd07.prod.outlook.com ([fe80::a5dd:4302:feec:e113]) by AM6PR07MB5621.eurprd07.prod.outlook.com ([fe80::a5dd:4302:feec:e113%3]) with mapi id 15.20.1382.017; Fri, 30 Nov 2018 15:50:52 +0000
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Ben Campbell <ben@nostrum.com>, "draft-ietf-sipcore-sip-push.all@ietf.org" <draft-ietf-sipcore-sip-push.all@ietf.org>
CC: "sipcore@ietf.org" <sipcore@ietf.org>
Thread-Topic: AD Evaluation of draft-ietf-sipcore-sip-push-20 - Ben's technical comments
Thread-Index: AQHUiHytmojzzmIlHki0KLFKIQ1gbg==
Date: Fri, 30 Nov 2018 15:50:52 +0000
Message-ID: <E8AB5B39-4546-4D73-82C8-1E7744D8D17C@ericsson.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.13.0.181109
authentication-results: spf=none (sender IP is ) smtp.mailfrom=christer.holmberg@ericsson.com;
x-originating-ip: [89.166.49.243]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM6PR07MB5090; 6:DHrGmhEGkr3POatkt8o5WeIR9ThRsjuqwe+WUnZk6loMcKimGIUnt+N1UqKj6WV4/nzTg2ir6QeMsGI/CV1Q44Cenp+DioC6aUIUvQ/cmrTlHISY8WDTVlqL5whNuE5eKdeW5BHYcv/mojw8M7I4k1mCJwjiQmzir+eLr8hlJEExJfa7/L7g9HpP+pgpsVz9pNZin9y6LAf/Ia/M+jg0eWOALr++L0rFMQzxymi4ktaZnVqwjIJPgWAWlBAJXyrdENRToZvNEuUctVJ/4/aJhuFiLyLdsxvInyhOcjHF4Tf2ie2QRmlN2m2yaTpaMu5393nUC/RU4lRvdTu7o9YlOhK9a/9YhBMbwVzmsHJOIouPlOAABa1CgZrJtSTqJuMv6hXLCKk7/thY6/XPsrVc0Lod2ozvMNMkWxCabDKdYnnJc8spWKVagBb6q1NgnydO6VEfoE90lHDBv2HSx/IZgQ==; 5:ulzRLJu1NeZArG0MAZ86okvydvU3onXw/ykFgP6tikpffkEON7d33/6Rq7jlXlEjZUdGFffcHW1yan8/vO4rL/ti+ACGL9TKS+TUsoW8LnX6g7ihT6q8bu7P1xIpH1mOpbxSSxnIzr2aK8dG0fE7rMo+PzkSkZuzvpDOvWRaW5s=; 7:Fr2aUxzdhzCaqS3mGSl++PSaegDniEiKnpSVnNbDkJYq/mCtfheX6K0KvahZfpTaFLwB6w2xFzY6ZXL1pCCwoMX1tHer2VhIGwj4fGpGZBPKs8xt2953YaiXrzyg/kmNNlQRTwL5u6rS5DQrTq+OFg==
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: eebe922f-aad8-424d-ac16-08d656db9bae
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:AM6PR07MB5090;
x-ms-traffictypediagnostic: AM6PR07MB5090:
x-microsoft-antispam-prvs: <AM6PR07MB5090CBC58375624E0EAC16E493D30@AM6PR07MB5090.eurprd07.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231453)(999002)(944501410)(52105112)(3002001)(10201501046)(148016)(149066)(150057)(6041310)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:AM6PR07MB5090; BCL:0; PCL:0; RULEID:; SRVR:AM6PR07MB5090;
x-forefront-prvs: 087223B4DA
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(346002)(396003)(39860400002)(366004)(136003)(51444003)(51914003)(189003)(199004)(99286004)(110136005)(58126008)(316002)(66066001)(102836004)(26005)(6506007)(71200400001)(229853002)(478600001)(71190400001)(81156014)(81166006)(86362001)(14454004)(6436002)(97736004)(8676002)(83716004)(2501003)(7736002)(14444005)(33656002)(106356001)(105586002)(44832011)(486006)(4326008)(305945005)(256004)(6512007)(2616005)(476003)(8936002)(3846002)(36756003)(2906002)(186003)(6486002)(6116002)(25786009)(551934003)(5660300001)(6246003)(53936002)(82746002)(68736007); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR07MB5090; H:AM6PR07MB5621.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: xHCfZq3xz4swwU+OeGFLPHC5Lv7OMyV23f1eXac8Q3Yp+JsMFEN2VT8pBLsJYeJB76b/1bmOlU1bbJ2uIy5nDMDTNj6GUYOPkVR1ZKkHIIXEISdx+zLZP36v2CaFHtqu1hlZrq6t75xK70V7te6fImSCMzZwK+6S2qGI5VBZgENsP/O/0sNZl8V9fG9ZovkR151u5InJbSTPkwZVg28xi0/n08yWq1FFwBMxrQiVaoJn6ykE11I/A1sYrVFQbm64nur04QNudXpMMr1vDc5fAf6HyWtDCcAxvJcKaGYaHk6DvzY2R4y/Ygf9gvpws37NWxZPuK92+D2UuprwkUkbHQIqPS7zlw55LaIlPfESZ48=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <C3DF56D42252AB4B99434068253C486B@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: eebe922f-aad8-424d-ac16-08d656db9bae
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2018 15:50:52.8225 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR07MB5090
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHfc9lHi+D1+n0wdB0NUjDe9Q+hNkHyQjRgqDWyFaedHjlHJWs PtjFKIc2vGSaZsnIsIXixNQscRSomeaFDC1zbmSS3URLMySPZ0Xffs/z//+f93lfXoaUldG+ jC4zh+UytekKiStVdeRRXshxDdKEN60EqequvXBWzbf1IdXScoskhowzGleIuOoOO5VIqF13 J7PpujyWC4s+4Zq62FBOZncdPDP9YZYoQM0JRciFAbwDit5+J4uQKyPDzxAU1puRWPxAcHGp UPKvaNJX0mJhJKDG2L5ho7CBhLoHNodSSoCtd4IUJsvwDAKDYf0UhpFgFejXtgttL3wO7G23 KYFJHAQzHU8IgT3xUZhemCRFjxpKShYokUPhUq3JWRhDYSU8vxktoBTvgZLx/YIDYW/42W8i xIk+MGGvI8SrYTB2DZEiy2HOtkYLLMdhUNh/3VnMaqG7cdrhCYSXX6yOrB+M1Ok3rgj4tQQe D7xBohAC3yoqHIF4GGywUaLpFYKabgslCsHw+eoiLSwKOA1+jZ0X2/7QWGx1WIZIWJ30NKCI 6v/2rl5PCK/S1BkmtuOgqnSAFjkQyvVWZ4Gl2AP6quzUHUQ3IjnP8iczUiKjQllOd4rnszJD M9mcFrT+VXpaV5XtaHR+rwVhBincpQ8PIY2M1ubx+RkWBAyp8JIOXnHSyKTJ2vyzLJeVxOWm s7wFbWIohY/UususluEUbQ6bxrLZLPdXJRgX3wKUNLm8kA1fm0eJ4daAYm/uU7xmwE0bQ69N ypUm98AGZWJGp0d7tu/EcHhJlIRIUEc2nway15hqUk7pdeZ749Wm3ssj7yy/x+p7DsdGVer6 2mb2Tan9b9xP2Op3rPZp7Ja7JqeQ2bnNBuOtbaW5AR/NqpYy7sK19/XNO92mig8oKD5VGxFM crz2D4Mzdz4mAwAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/IctG2rXfnJHiTOXTO6l-TQBSAb0>
Subject: Re: [sipcore] AD Evaluation of draft-ietf-sipcore-sip-push-20 - Ben's technical comments
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: Fri, 30 Nov 2018 15:50:59 -0000

Hi,

Thanks for the comments! Please see inline.
    
>    §1, paragraph 5: "Note that this mechanism necessarily adds delay to
>    responding to non-INVITE requests requiring push notification."
>    
>    Technically, it adds delay for any transaction. Non-INVITE transactions are just more delay sensitive.

I suggest to say: "adds delay to responding to requests".

---
    
> §3,
>    - first paragraph:
>    Please state this in terms of a scope assumption, not a global statement. That is, limit the scope of this 
>    document is limited to PNSs that work this way, rather than state that all PNSs work this way.
    
I suggest to say: "The mechanism defined in this document assumes that, when a SIP UA registers with a PNS, it..."

>    - 2nd paragraph: I think it's safe to say "The format of the PRID varies..." rather than "... may vary...".

I will fix as suggested.

---
    
> §4.1
>    
>    - General: When we speak of multiple bindings, and doing something to all of those bindings (e.g. refreshing 
> them on a push-notification), is it allowable for a UA to have some bindings that use a PNS and some that do not? 
> Or perhaps some that use different PNSs? I realize that may not make sense for the mobile device use case that 
> seems centric to this draft, but I can imagine a situation where a complex UA might have different PNS configurations f
> or different network paths and/or different SIP services.
>   
> If you want to assume that the PNS configuration is the same for all contacts, please say so explicitly. If not, does it 
> make sense to scope PNS-triggered refreshes to just those bindings that use the same PNS configuration?
   
I don't think there is any technical reason to mandate usage of the same PNS (or using PNS to begin with) for all contacts, so I don't think we need to forbid it.

We could say something like: "The procedures in this section apply to bindings associated with a given PNS."

I don't think we need to say more than that.
 
>    -2nd paragraph:
>    I don't think we can assume that all UAs will always learn all the bindings they need to to setup at the same time. 
>   For example, a UA might have changes in network configuration that require them to add or remove bindings. This 
>   makes it impractical to register them at the same time and always use the same expirations, unless we ask them to 
>   refresh all existing bindings whenever they add a new one. (Or perhaps ask them to set the expiration of any new 
>  binding to match the remaining time for existing ones, but that seems like a more difficult approach.)
    
I don't think the text assumes that the UA is aware of all bindings at the same time - it only says that it should use the same 'expires' value for each binding.

>-6th paragraph: "REGISTER request will create NAT bindings..."
>    
>    If we talk about creating NAT bindings as one of the purposes of the push-triggered REGISTER, we may also need to 
>    think about the lifetime of those nat bindings, and how that interacts with the REGISTER expires value. I'm not sure we 
>   want to go there; would it make sense to remove the mention?
    
I am not sure that is needed in the context of PUSH, since the NAT bindings only need to be alive in time for the request that triggered the push notification to reach the UA. Next time there is an inbound SIP request, the REGISTER triggered by the push notification associated with the request will create a NAT binding (if the previous one has expired) for that request.

>    - 7th paragraph:
>    --  The first sentence seems to still assume the REGISTER has as single contact. Should it say to insert the tag into each 
> contact header field? (but see general §4.1 comment above.)
   
What sentence are you referring to?

 >   -- "if the response to the REGISTER request contains a ’sip.pnsreg’
 >   feature-capability indicator with an indicator value, the UA MUST
 >   send REGISTER requests prior to the registration expires."
 >   
 >   This seems to duplicate a MUST from normal SIP. Would it make sense to just say "... the UA refreshes the binding 
>    according to normal SIP procedures".
    
I will fix as suggested.

---

>    §5.3.1:
>    - 4th paragraph: Section 4.1 talks about the UA paying attention to sip.pns in a 2XX response. It does not mention 
>   it for other result codes. If the UA needs to pay attention to it in 423 (or in any other response), it should be mentioned there.
   
There are no push-specific UA actions for non-2xx responses.

If the UA receives a 423, it follows normal SIP procedures. Even if the proxy has inserted 'sip.pns' feature-capability indicator in the 423 response it only provides information about the PNS(s) supported by the proxy. It does not mandate push-specific UA actions.

>    -7th paragraph, "the proxy SHOULD insert a Feature-Caps header
>    field with a ’sip.pns’ feature-capability indicator": What if the response already contains it?

The text covers the case where the proxy generates the 423 response.
  
---

> §5.3.2, 2nd paragraph: Please mention that the R-URI will only contain these parameters after it is retargeted. This mostly 
> matters if the push-proxy is colocated with a retargeting proxy; retargeting must happen before this procedure.

Section 1 says:

   "The proxy MUST be in the signalling path of REGISTER requests sent by
   the UA towards the registrar, and of SIP requests (for a new dialog
   or a stand-alone) forwarded by the proxy responsible for the UA's
   domain (sometimes referred to as home proxy, S-CSCF, etc) towards the
   UA."

> Along those lines, what is the PUSH proxy expected to do with inbound SIP requests that do not contain the parameters 
> in the R-URI? Route them normally? Reject them?

I think that is an implementation issue. If the proxy also handles non-PNS calls, it would forward the request using normal procedures.

---

>    §6: Is support for push-notifications on mid-dialog requests optional? If so, please state that up front.

If one wants to support longlived SIP dialogs, one obviously will have to implement section 6. I am not sure we need to say something.
    
---

>    §6.1.1: Does the UA indicate support on a per-dialog basis? That is, it can support the mechanism for some dialogs but not others?

It could be per-dialog basis. The text says: "if the UA is willing to receive push notifications triggered by incoming mid-dialog requests".
    
---

>    §8.1, 2nd paragraph: Should that say "only defined for ... responses", or "... and is not defined for use in request messages."?
 
I suggest to say "only defined for".

---
   
>    §9, 1st paragraph: We are talking about a specification that defines the parameter usage for the given PNS, not the PNS in it's entirety, right?

Yes. I suggest to say: "defines the usage of the associated PNS". Because, the parameter itself only identifies the PNS.

---

>    §13, 3rd paragraph: The paragraph as written basically says "Operators must ensure SIP signaling is secured unless they are 
>    sure it's secured", which is circular logic. Would it make sense to say they must use TLS (or SIPS) unless they are sure that 
>    it is protected by other mechanisms?

Sounds good. I will fix as suggested.    

---

> §16.2: I think the reference to RFC 3891 should be normative.

I will make it normative.


I will address the editorial comments in a separate e-mail.

Regards,

Christer