rfc8599v3.txt   rfc8599.txt 
skipping to change at page 2, line 10 skipping to change at page 2, line 22
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 7 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Push Resource ID (PRID) . . . . . . . . . . . . . . . . . . . 7 3. Push Resource ID (PRID) . . . . . . . . . . . . . . . . . . . 8
4. SIP User Agent (UA) Behavior . . . . . . . . . . . . . . . . 7 4. SIP User Agent (UA) Behavior . . . . . . . . . . . . . . . . 9
4.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.1. Request Push Notifications . . . . . . . . . . . . . 8 4.1.1. Request Push Notifications . . . . . . . . . . . . . 9
4.1.2. Disable Push Notifications . . . . . . . . . . . . . 9 4.1.2. Disable Push Notifications . . . . . . . . . . . . . 11
4.1.3. Receive Push Notifications . . . . . . . . . . . . . 10 4.1.3. Receive Push Notifications . . . . . . . . . . . . . 11
4.1.4. Sending Binding-Refresh Requests Using Non-push 4.1.4. Sending Binding-Refresh Requests Using Non-push
Mechanism . . . . . . . . . . . . . . . . . . . . . . 10 Mechanism . . . . . . . . . . . . . . . . . . . . . . 11
4.1.5. Query Network PNS Capabilities . . . . . . . . . . . 12 4.1.5. Query Network PNS Capabilities . . . . . . . . . . . 13
5. SIP Proxy Behavior . . . . . . . . . . . . . . . . . . . . . 13 5. SIP Proxy Behavior . . . . . . . . . . . . . . . . . . . . . 14
5.1. PNS Provider . . . . . . . . . . . . . . . . . . . . . . 13 5.1. PNS Provider . . . . . . . . . . . . . . . . . . . . . . 14
5.2. SIP Request Push Bucket . . . . . . . . . . . . . . . . . 14 5.2. SIP Request Push Bucket . . . . . . . . . . . . . . . . . 15
5.3. SIP URI Comparison Rules . . . . . . . . . . . . . . . . 14 5.3. SIP URI Comparison Rules . . . . . . . . . . . . . . . . 15
5.4. Indicate Support of Type of PNS . . . . . . . . . . . . . 14 5.4. Indicate Support of Type of PNS . . . . . . . . . . . . . 15
5.5. Trigger Periodic Binding Refresh . . . . . . . . . . . . 15 5.5. Trigger Periodic Binding Refresh . . . . . . . . . . . . 16
5.6. SIP Requests . . . . . . . . . . . . . . . . . . . . . . 16 5.6. SIP Requests . . . . . . . . . . . . . . . . . . . . . . 17
5.6.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . 16 5.6.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . 17
5.6.2. Initial Request for Dialog or Standalone Request . . 19 5.6.2. Initial Request for Dialog or Standalone Request . . 20
6. Support of Long-Lived SIP Dialogs . . . . . . . . . . . . . . 21 6. Support of Long-Lived SIP Dialogs . . . . . . . . . . . . . . 23
6.1. SIP UA Behavior . . . . . . . . . . . . . . . . . . . . . 23 6.1. SIP UA Behavior . . . . . . . . . . . . . . . . . . . . . 25
6.1.1. Initial Request for Dialog . . . . . . . . . . . . . 23 6.1.1. Initial Request for Dialog . . . . . . . . . . . . . 25
6.2. SIP Proxy Behavior . . . . . . . . . . . . . . . . . . . 24 6.2. SIP Proxy Behavior . . . . . . . . . . . . . . . . . . . 25
6.2.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . 24 6.2.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . 25
6.2.2. Initial Request for Dialog . . . . . . . . . . . . . 24 6.2.2. Initial Request for Dialog . . . . . . . . . . . . . 26
6.2.3. Mid-dialog Request . . . . . . . . . . . . . . . . . 25 6.2.3. Mid-dialog Request . . . . . . . . . . . . . . . . . 26
7. Support of SIP Replaces . . . . . . . . . . . . . . . . . . . 26 7. Support of SIP Replaces . . . . . . . . . . . . . . . . . . . 27
8. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.1. 555 (Push Notification Service Not Supported) Response 8.1. 555 (Push Notification Service Not Supported) Response
Code . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Code . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.2. 'sip.pns' Feature-Capability Indicator . . . . . . . . . 27
8.3. 'sip.vapid' Feature-Capability Indicator . . . . . . . . 27 8.2. 'sip.pns' Feature-Capability Indicator . . . . . . . . . 28
8.4. 'sip.pnsreg' Feature-Capability Indicator . . . . . . . . 27 8.3. 'sip.vapid' Feature-Capability Indicator . . . . . . . . 28
8.5. 'sip.pnsreg' Media Feature Tag . . . . . . . . . . . . . 28 8.4. 'sip.pnsreg' Feature-Capability Indicator . . . . . . . . 28
8.6. 'sip.pnspurr' Feature-Capability Indicator . . . . . . . 28 8.5. 'sip.pnsreg' Media Feature Tag . . . . . . . . . . . . . 29
8.7. SIP URI Parameters . . . . . . . . . . . . . . . . . . . 28 8.6. 'sip.pnspurr' Feature-Capability Indicator . . . . . . . 29
9. PNS Registration Requirements . . . . . . . . . . . . . . . . 29 8.7. SIP URI Parameters . . . . . . . . . . . . . . . . . . . 29
9. PNS Registration Requirements . . . . . . . . . . . . . . . . 30
10. 'pn-provider', 'pn-param', and 'pn-prid' URI Parameters for 10. 'pn-provider', 'pn-param', and 'pn-prid' URI Parameters for
Apple Push Notification service . . . . . . . . . . . . . . . 29 Apple Push Notification service . . . . . . . . . . . . . . . 30
11. 'pn-provider', 'pn-param', and 'pn-prid' URI Parameters for 11. 'pn-provider', 'pn-param', and 'pn-prid' URI Parameters for
Google Firebase Cloud Messaging (FCM) Push Notification Google Firebase Cloud Messaging (FCM) Push Notification
Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
12. 'pn-provider', 'pn-param', and 'pn-prid' URI Parameters for 12. 'pn-provider', 'pn-param', and 'pn-prid' URI Parameters for
RFC 8030 (Generic Event Delivery Using HTTP Push) . . . . . . 30 RFC 8030 (Generic Event Delivery Using HTTP Push) . . . . . . 31
13. Security Considerations . . . . . . . . . . . . . . . . . . . 30 13. Security Considerations . . . . . . . . . . . . . . . . . . . 32
14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33
14.1. SIP URI Parameters . . . . . . . . . . . . . . . . . . . 32 14.1. SIP URI Parameters . . . . . . . . . . . . . . . . . . . 33
14.1.1. pn-provider . . . . . . . . . . . . . . . . . . . . 32 14.1.1. pn-provider . . . . . . . . . . . . . . . . . . . . 33
14.1.2. pn-param . . . . . . . . . . . . . . . . . . . . . . 32 14.1.2. pn-param . . . . . . . . . . . . . . . . . . . . . . 33
14.1.3. pn-prid . . . . . . . . . . . . . . . . . . . . . . 32 14.1.3. pn-prid . . . . . . . . . . . . . . . . . . . . . . 33
14.1.4. pn-purr . . . . . . . . . . . . . . . . . . . . . . 32 14.1.4. pn-purr . . . . . . . . . . . . . . . . . . . . . . 33
14.2. SIP Response Codes . . . . . . . . . . . . . . . . . . . 32 14.2. SIP Response Codes . . . . . . . . . . . . . . . . . . . 34
14.2.1. 555 (Push Notification Service Not Supported) . . . 32 14.2.1. 555 (Push Notification Service Not Supported) . . . 34
14.3. SIP Global Feature-Capability Indicator . . . . . . . . 33 14.3. SIP Global Feature-Capability Indicator . . . . . . . . 34
14.3.1. sip.pns . . . . . . . . . . . . . . . . . . . . . . 33 14.3.1. sip.pns . . . . . . . . . . . . . . . . . . . . . . 34
14.3.2. sip.vapid . . . . . . . . . . . . . . . . . . . . . 33 14.3.2. sip.vapid . . . . . . . . . . . . . . . . . . . . . 34
14.3.3. sip.pnsreg . . . . . . . . . . . . . . . . . . . . . 34 14.3.3. sip.pnsreg . . . . . . . . . . . . . . . . . . . . . 35
14.3.4. sip.pnspurr . . . . . . . . . . . . . . . . . . . . 34 14.3.4. sip.pnspurr . . . . . . . . . . . . . . . . . . . . 35
14.4. SIP Media Feature Tag . . . . . . . . . . . . . . . . . 35 14.4. SIP Media Feature Tag . . . . . . . . . . . . . . . . . 36
14.4.1. sip.pnsreg . . . . . . . . . . . . . . . . . . . . . 35 14.4.1. sip.pnsreg . . . . . . . . . . . . . . . . . . . . . 36
14.5. PNS Subregistry Establishment . . . . . . . . . . . . . 35 14.5. PNS Subregistry Establishment . . . . . . . . . . . . . 36
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 36 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 37
15.1. Normative References . . . . . . . . . . . . . . . . . . 36 15.1. Normative References . . . . . . . . . . . . . . . . . . 37
15.2. Informative References . . . . . . . . . . . . . . . . . 37 15.2. Informative References . . . . . . . . . . . . . . . . . 39
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 38 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 40
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 40
1. Introduction 1. Introduction
In order to save resources such as battery life, some devices In order to save resources such as battery life, some devices
(especially mobile devices) and operating systems will suspend an (especially mobile devices) and operating systems will suspend an
application that is not in use. A suspended application might not be application that is not in use. A suspended application might not be
able to wake itself with internal timers and might not be awakened by able to wake itself with internal timers and might not be awakened by
incoming network traffic. In such an environment, a Push incoming network traffic. In such an environment, a Push
Notification Service (PNS) is used to wake the application. A PNS is Notification Service (PNS) is used to wake the application. A PNS is
a service that sends messages requested by other applications to a a service that sends messages requested by other applications to a
skipping to change at page 6, line 7 skipping to change at page 7, line 27
| SIP REGISTER (PRID) | | | SIP REGISTER (PRID) | |
|===================================>| | |===================================>| |
| | |SIP REGISTER (PRID)| | | |SIP REGISTER (PRID)|
| | |==================>| | | |==================>|
| | | | | | | |
| | | SIP 200 OK | | | | SIP 200 OK |
| | |<==================| | | |<==================|
| SIP 200 OK | | | | SIP 200 OK | | |
|<===================================| | |<===================================| |
| | | | | | | |
| | | |
| | | |
| | | SIP INVITE (PRID) | | | | SIP INVITE (PRID) |
| | |<==================| | | |<==================|
| | | | | | | |
| |Push Request (PRID) | | |Push Request (PRID) |
| |<-----------------| | | |<-----------------| |
|Push Message (PRID) | | |Push Message (PRID) | |
|<----------------| | | |<----------------| | |
| | | | | | | |
| SIP REGISTER (PRID) | | | SIP REGISTER (PRID) | |
|===================================>| | |===================================>| |
skipping to change at page 29, line 26 skipping to change at page 30, line 32
o How the 'pn-param' SIP URI parameter (if required for the specific o How the 'pn-param' SIP URI parameter (if required for the specific
PNS provider) value is retrieved and set by the SIP UA. PNS provider) value is retrieved and set by the SIP UA.
10. 'pn-provider', 'pn-param', and 'pn-prid' URI Parameters for Apple 10. 'pn-provider', 'pn-param', and 'pn-prid' URI Parameters for Apple
Push Notification service Push Notification service
When the Apple Push Notification service (APNs) is used, the PNS- When the Apple Push Notification service (APNs) is used, the PNS-
related SIP URI parameters are set as described below. related SIP URI parameters are set as described below.
For detailed information about the parameter values, see <https://dev For detailed information about the parameter values, see
eloper.apple.com/library/archive/documentation/NetworkingInternet/ <https://developer.apple.com/library/archive/documentation/
Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html> NetworkingInternet/Conceptual/RemoteNotificationsPG/
[pns-apns]. CommunicatingwithAPNs.html> [pns-apns].
The value of the 'pn-provider' URI parameter is "apns". The value of the 'pn-provider' URI parameter is "apns".
Example: pn-provider=apns Example: pn-provider=apns
The value of the 'pn-param' URI parameter is a string that is The value of the 'pn-param' URI parameter is a string that is
composed of two values separated by a period (.): Team ID and Topic. composed of 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 Team ID is provided by Apple and is unique to a development team.
The Topic consists of the Bundle ID, which uniquely identifies an The Topic consists of the Bundle ID, which uniquely identifies an
application, and a service value that identifies a service associated application, and a service value that identifies a service associated
 End of changes. 8 change blocks. 
67 lines changed or deleted 66 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/