| 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/ | ||||