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