Re: [sipcore] Eric Rescorla's Discuss on draft-ietf-sipcore-sip-push-21: (with DISCUSS and COMMENT) - the COMMENT issues

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 07 January 2019 13:09 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 8477D130E99 for <sipcore@ietfa.amsl.com>; Mon, 7 Jan 2019 05:09:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.355
X-Spam-Level:
X-Spam-Status: No, score=-4.355 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.065, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.com header.b=gHTZJRMC; dkim=pass (1024-bit key) header.d=ericsson.com header.b=C0XJ+HXJ
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 rf_5PqkQQL5v for <sipcore@ietfa.amsl.com>; Mon, 7 Jan 2019 05:09:09 -0800 (PST)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (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 44CB01200D7 for <sipcore@ietf.org>; Mon, 7 Jan 2019 05:09:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/relaxed; q=dns/txt; i=@ericsson.com; t=1546866546; x=1549458546; 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=RFQ/BRT+nB33V9pqA3tbYdcM6FkaNUqD2zNyx+81qn4=; b=gHTZJRMC+nu+gkYOsFUz05zyrRaAFeI/GTyKgtL760a98ufx6JXZSkNToHKRz4CG sjVMEZybav9ha+J+r4tOC/REsR5n/LIwaj0etAyosW6DE8TufA/5OqlL84umoB4P GO/LpCsrnJpdyzIfqwoP9qzlNRs9SwZkc8MOBxuxGDc=;
X-AuditID: c1b4fb2d-2198b9e00000062f-f4-5c334f7257be
Received: from ESESBMB504.ericsson.se (Unknown_Domain [153.88.183.117]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 7C.C5.01583.27F433C5; Mon, 7 Jan 2019 14:09:06 +0100 (CET)
Received: from ESESSMR505.ericsson.se (153.88.183.127) by ESESBMB504.ericsson.se (153.88.183.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Mon, 7 Jan 2019 14:09:06 +0100
Received: from ESESSMB503.ericsson.se (153.88.183.164) by ESESSMR505.ericsson.se (153.88.183.127) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Mon, 7 Jan 2019 14:09:06 +0100
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB503.ericsson.se (153.88.183.164) 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; Mon, 7 Jan 2019 14:09:05 +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=RFQ/BRT+nB33V9pqA3tbYdcM6FkaNUqD2zNyx+81qn4=; b=C0XJ+HXJDvxbo+b4he6SzUCX2QPUa//mE4IqyPWI7JnhVDrO/kdQhW7hGiAvkiwvgbbqJ7Y/oqdmJE+/wtuEHra3lN6ir4pcf894WdAQwCvJ0waF91GhriJnhZf3tP+Xmh4pi8e5xfenwnSt1ajymm1P2PgjFkgMw7hLDBc2ivY=
Received: from HE1PR07MB3161.eurprd07.prod.outlook.com (10.170.245.23) by HE1PR07MB3418.eurprd07.prod.outlook.com (10.170.247.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1516.7; Mon, 7 Jan 2019 13:09:04 +0000
Received: from HE1PR07MB3161.eurprd07.prod.outlook.com ([fe80::852a:3f04:e342:cf55]) by HE1PR07MB3161.eurprd07.prod.outlook.com ([fe80::852a:3f04:e342:cf55%3]) with mapi id 15.20.1516.010; Mon, 7 Jan 2019 13:09:04 +0000
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Eric Rescorla <ekr@rtfm.com>, The IESG <iesg@ietf.org>
CC: "br@brianrosen.net" <br@brianrosen.net>, "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>
Thread-Topic: Eric Rescorla's Discuss on draft-ietf-sipcore-sip-push-21: (with DISCUSS and COMMENT) - the COMMENT issues
Thread-Index: AQHUpooqG3YCjm9ykU+uaZuG6gI9dA==
Date: Mon, 07 Jan 2019 13:09:04 +0000
Message-ID: <HE1PR07MB31611EECBA89EF1FC46D756C93890@HE1PR07MB3161.eurprd07.prod.outlook.com>
References: <154681733718.17024.3190954246737206843.idtracker@ietfa.amsl.com>
In-Reply-To: <154681733718.17024.3190954246737206843.idtracker@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [37.33.31.219]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; HE1PR07MB3418; 6:RNP8cArKXBQDoxFt/ZXlSMj6c9+p3S3RgoTVay94maRSVo9rgyNyz2D48H1xB2kqP1kxPF8w6L5t3KfFpkjqwQ7XwwdoT14Dqqwg9hMZEpIRRFClqKX1p6t4Uduy6KogE286RpN3A5YIkHzVKini1/tAB7DRLzthX+Pjl4sXnN0GafUaNVAaVFhPm3pWwcgs03JWhH1FI30c9Df8YXrAOlTfeJ2ZD8poweW412EEabMEurFT9JPqfGhNulIVWVl+rTxYRgvshhTeEo41wQLFmcE7Gb6iafz8zQ5MDicPWxPb5f2ti2Ku6WveQ0VYmALicNltN0EAjcI+vBH39V7GayRdGxPk0m9o5GRyVh6H+eYX4lZdbdvyAnxEf2Wl7oZjaGp+/UXUoDTTm+c3OU9w8BLm5yDUpVxtZ+8nw2F6S9Kjbc7AJKDl9lDG/HFHx/5PVTugb5Hv/MkGVvYF+NG3kw==; 5:m4b5kx+Re0m24UX+5SN05F4KQgdEip2iQT3bzZBtq1JqpkNnBLxlfCTD6Ea/EXsvjtnUDS/Lx64gLrY2PEe/YffzTC9QT3o2yL24o/i/+Skwyi+LAHyJV3IxCMSFlJEsK8aFySHns2PyZZI9H5+UMHevsbv/gaNnmfg/F1yN3ApxYQFnVfND67CH2KQsSyiuwnk8lVDRR5j/Z+ogsWtIUw==; 7:g83oK4TXFf4nAs+wJ/6Z+ZDWMbDmyvB16/CDA6gDS0ljtmSU9SkrmerxB4YkThudwx0FluIvx27kEPsKsJlFlrK3lIxeDUPnW3qK2zhY8/WXDRL8lFQzhCMWyBFKWfge1buRi8awQEBQI9zjUH8vfQ==
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 4bfc82ad-e169-4036-13f6-08d674a14cb8
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600109)(711020)(2017052603328)(7153060)(7193020); SRVR:HE1PR07MB3418;
x-ms-traffictypediagnostic: HE1PR07MB3418:
x-microsoft-antispam-prvs: <HE1PR07MB3418A91B2513A14DC7F75FBE93890@HE1PR07MB3418.eurprd07.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(3230021)(908002)(999002)(5005026)(6040522)(8220060)(2401047)(8121501046)(3002001)(3231475)(944501520)(52105112)(93006095)(93001095)(10201501046)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:HE1PR07MB3418; BCL:0; PCL:0; RULEID:; SRVR:HE1PR07MB3418;
x-forefront-prvs: 0910AAF391
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(366004)(346002)(136003)(376002)(396003)(52314003)(199004)(189003)(55016002)(476003)(486006)(97736004)(6436002)(26005)(102836004)(186003)(71200400001)(71190400001)(6346003)(44832011)(2906002)(68736007)(478600001)(14454004)(81166006)(7696005)(8676002)(81156014)(86362001)(7736002)(4326008)(6506007)(4744004)(76176011)(316002)(106356001)(9686003)(54906003)(5660300001)(6246003)(8936002)(54896002)(99286004)(25786009)(256004)(14444005)(66066001)(33656002)(19627405001)(6116002)(74316002)(105586002)(446003)(6606003)(3846002)(110136005)(11346002)(229853002)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB3418; H:HE1PR07MB3161.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=christer.holmberg@ericsson.com;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: Q5TG4tJVsiiQrislzLRB6xOL2+eEl7GE5Ij1RwjoPSn8P3c7OcGeMXQGmpaf2MsqIR+HB7Cj4m0bXjVAIA5u6JIyHoLkPAGaXpmZo51R4mfxXg3NnI5jwqnctlnYupJCjBhWw9LJR5VBqO86yclc285kYhhJ4XPykqXNBPOapmFpjiJk5ghkBOkos17Yj4sxCJSDynVbqk2xU6HewuS7H6szmEsaDS6DdcyNz7iPQyDwLGaFcBmQOQeSUjGBVv8TR/SA5ZD8TfjAgReMDLFYTzgtTVG+HMwt+vrp+VTl98a1et9FxEdWPjP2RRAkQdqb
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_HE1PR07MB31611EECBA89EF1FC46D756C93890HE1PR07MB3161eurp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 4bfc82ad-e169-4036-13f6-08d674a14cb8
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jan 2019 13:09:04.3241 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB3418
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA02SbUhTYRTHe+69u7sbLZ9uqYdltGb0QXG5DLpISX2T6JUoKkY19KbiNm1X pVkfVEqrtbDMSnsxc1lkr1ImupKNRKZk76KFivjSy6LEMS1cI693Rd9+5/z///OcAw9Dsu0y NZNlyeOtFqNJSyupql1P8hOsW5IMid6XGm508DzNlfgbCO6Wr1vOXQyeITmHv5bkAj8b6XV0 6uDkb3mq0/mLSK0YLiW3knuUa9J5U1YBb12Rsl+Z2XbvLpE77iIOfTrbQBWhq6XESaRgAK+C 06c+y08iJcPi5wgudL6npSKAoGSsgvhX/HRcD9vqCDg+fksmFhQuJ+FxYCBsO0PAsab74QFD Mxm3cybDMDTmwB6KF19ciJPh63QPJXpIXEbAdLGbEoUF2Aatd04gyVQIHW2XZRLroK7sPC3O ofAyeFAfIbZV2AAVl4/PRlm8CfxHJ0mRFXgz1FcVy0VGOAqmOu/MXkriaPgwUhO+GoPT9ZKU OBK+DIdkEmvgXJGXlngxvKmxI3FPwCVy6H/4AklCAoxXVobDm+DjteuEZHqFoDP0jhQXBRwH Q0/DQ7Ohz+4P+1+T8OO3WeIYqOu3E+Uosfq//STOgakrLWT17J3zwVs1Qkl9HfRWnqMljof6 Wh8pcQJcDHmo//vXkPw2ihR4QTBnrEzS8dasNEHIsegsfF4jmvlc7kfTCc2owbfegzCDtHNV d/VJBlZmLBBsZg8ChtQuVJlG9QZWlW60FfLWnH3WfBMveNAihtJGq4LsfAOLM4x5fDbP5/LW vyrBKNRFiI7aoe47lXJzgyq041kP6zDlN20cqKnaPafrwpJv3cMFMUtcjmavvmbnwV6uzHFj wr19/UiHz7XtUoQja80Bg2YsNtkckfaWW71lQhaf7Clfe9Ydu7n1ftvivZp2nU2uiB0o7joW CC73t6i6jlSrT08FUczhie/z6guvBMfYjqVaSsg06uNIq2D8AwnJ+EhYAwAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/kLnexZFgvNOEi5Q7Wp3w78ABXm8>
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 13:09:13 -0000

Hi,


In this reply I will address the COMMENT issues:


>This document is very badly in need of editorial work for readability.
>I would urge the responsible AD to make one.

I have done quite a bit of editorial work based on WGLC/AD comments etc. I am happy to improve it even further, but someone needs to guide me what to do.

S 1.
>>      used to wake such applications, nor will incoming network traffic
>>      wake the application.  Instead, one way to wake the application is by
>>      using a Push Notification Service (PNS).  Typically each operating
>>      system uses a dedicated PNS.  For example, Apple iOS devices use the
>>      Apple Push Notification service (APNs) while Android devices use the
>>      Firebase Cloud Messaging (FCM) service.
>
>What is a Push Notification Service? I mean, I know, but you need to
>say.

I will add some text/reference about that.

---

S 1.
>>      will request push notifications towards the UA.
>>
>>      When the proxy receives a SIP request for a new dialog or a stand-
>>      alone SIP request addressed towards a UA, or when the proxy
>>      determines that the UA needs to send a binding-refresh REGISTER
>>      request, the proxy will request a push notification towards the UA,
>
> "request ... towards" is ungrammatical

Is "request a push notification to be sent towards the UA" better?

---

S 1.
>>            |<---------------------|                         |
>>            |                      |                         |
>>            |          SIP REGISTER (Push Resource ID)       |
>>            |===============================================>|
>>            |                      |                         | SIP REGISTER
>>            |                      |                         |============>
>
>These arrows don't seem to go anywhere. I think you need to label the
>registrar.

Ok, I will label the "registrar/home proxy" (I don't think we need to separate them).

---

S 4.1.
>>
>>      NOTE: The VAPID specific procedures of the SIP UA are outside the
>>      scope of this document.
>>
>>      When the UA receives a push notification, it MUST send a binding-
>>      refresh REGISTER request, using normal SIP procedures.  If there are
>
>This seems unnecessarily restrictive. Are we never going to want any
>other kind of push notification?

Well, in order for this mechanism to work, it has to be a MUST, and the procedures obviously only applies to UAs that use the SIP push mechanism.

If there will be additional usages of push notifications for such UAs, I think they will have to deal with making sure the UA is able to determine what usage the push notifications are associated with.

---

S 4.1.
>>      protocol is used, the SIP request might reach the UA before the
>>      REGISTER response.
>>
>>      NOTE: The lifetime of any NAT binding created by the REGISTER request
>>      only needs to be long enough in order for the SIP request that
>>      triggered the push notification to reach the UA.
>
>This general architectural point should be made further up.

Ok, I will move it.

---

S 4.1.
>>      [RFC3840] in each Contact header field URI of each REGISTER request.
>>      Then, if the response to the REGISTER request contains a 'sip.pnsreg'
>>      feature-capability indicator with an indicator value, the UA
>>      refreshes the binding prior to the binding expires.  The indicator
>>      value indicates a minimum time (given in seconds), prior to the
>>      binding expires when the UA MUST send the REGISTER request.  Even if
>
>This sentence needs a rewrite.

I'll see what I can do.

---

S 4.1.
>>      Then, if the response to the REGISTER request contains a 'sip.pnsreg'
>>      feature-capability indicator with an indicator value, the UA
>>      refreshes the binding prior to the binding expires.  The indicator
>>      value indicates a minimum time (given in seconds), prior to the
>>      binding expires when the UA MUST send the REGISTER request.  Even if
>>      the UA is able to to send REGISTER requests using a non-push
>
>"to to"

Will fix.

>Also, all UAs that are conformant to this specification are able to
>send REGISTERS via a non-push as the first register is sent that way.

Correct. I will clarify that.

---

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".

---

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.

---

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.

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"

---

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.

---

S 5.2.
>>      the registrar using some mechanism.  Such mechanisms are outside the
>>      scope of this document, but could be implemented e.g., using the
>>      SIPregistration event package mechanism [RFC3680].
>>
>>      When the proxy receives an indication that the UA needs to send a
>>      binding-refresh REGISTER request, the proxy requests a push
>
>You need to define what such an indication is.

As described in the paragraph above, the indication mechanism is outside the scope of the document. RFC 3680 can be used (and is given as an example), but there could also be other mechanisms.

---

S 5.2.
>>      scope of this document, but could be implemented e.g., using the
>>      SIPregistration event package mechanism [RFC3680].
>>
>>      When the proxy receives an indication that the UA needs to send a
>>      binding-refresh REGISTER request, the proxy requests a push
>>      notification towards the UA.
>
> "requests...towards" again

Will fix.

---

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?

---

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.

---

S 5.3.1.
>>
>>   5.3.  SIP Requests
>>
>>   5.3.1.  REGISTER
>>
>>      The procedures in this section apply when the SIP proxy receives a
>
>This section is incredibly hard to follow. Can you rewrite it with
>some sort of structure that reflects the logic of the proxy?

I'll see what I can do.

---

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.

---

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.

---

S 6.1.1.
>>
>>   6.1.  SIP UA Behavior
>>
>>   6.1.1.  Initial Request for Dialog
>>
>>      When the UA sends in initial request for a dialog, or a 2xx response
>
>"an initial request"

Will fix.

---

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.

---

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