draft-ietf-sipcore-sip-push-28.txt   draft-ietf-sipcore-sip-push-29.txt 
SIPCORE Working Group C. Holmberg SIPCORE Working Group C. Holmberg
Internet-Draft Ericsson Internet-Draft Ericsson
Intended status: Standards Track M. Arnold Intended status: Standards Track M. Arnold
Expires: September 11, 2019 Metaswitch Networks Expires: September 27, 2019 Metaswitch Networks
March 10, 2019 March 26, 2019
Push Notification with the Session Initiation Protocol (SIP) Push Notification with the Session Initiation Protocol (SIP)
draft-ietf-sipcore-sip-push-28 draft-ietf-sipcore-sip-push-29
Abstract Abstract
This document describes how a Push Notification Service (PNS) can be This document describes how a Push Notification Service (PNS) can be
used to wake a suspended Session Initiation Protocol (SIP) User Agent used to wake a suspended Session Initiation Protocol (SIP) User Agent
(UA) with push notifications, and also describes how the UA can send (UA) with push notifications, and also describes how the UA can send
binding-refresh REGISTER requests and receive incoming SIP requests binding-refresh REGISTER requests and receive incoming SIP requests
in an environment in which the UA may be suspended. The document in an environment in which the UA may be suspended. The document
defines new SIP URI parameters to exchange PNS information between defines new SIP URI parameters to exchange PNS information between
the UA and the SIP entity that will then request that push the UA and the SIP entity that will then request that push
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 11, 2019. This Internet-Draft will expire on September 27, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://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
skipping to change at page 2, line 41 skipping to change at page 2, line 41
5.6. SIP Requests . . . . . . . . . . . . . . . . . . . . . . 16 5.6. SIP Requests . . . . . . . . . . . . . . . . . . . . . . 16
5.6.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . 16 5.6.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . 16
5.6.2. Initial Request for Dialog or Stand-Alone Request . . 19 5.6.2. Initial Request for Dialog or Stand-Alone Request . . 19
6. Support Of Longlived SIP Dialogs . . . . . . . . . . . . . . 21 6. Support Of Longlived SIP Dialogs . . . . . . . . . . . . . . 21
6.1. SIP UA Behavior . . . . . . . . . . . . . . . . . . . . . 23 6.1. SIP UA Behavior . . . . . . . . . . . . . . . . . . . . . 23
6.1.1. Initial Request for Dialog . . . . . . . . . . . . . 23 6.1.1. Initial Request for Dialog . . . . . . . . . . . . . 23
6.2. SIP Proxy Behavior . . . . . . . . . . . . . . . . . . . 24 6.2. SIP Proxy Behavior . . . . . . . . . . . . . . . . . . . 24
6.2.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . 24 6.2.1. REGISTER . . . . . . . . . . . . . . . . . . . . . . 24
6.2.2. Initial Request for Dialog . . . . . . . . . . . . . 24 6.2.2. Initial Request for Dialog . . . . . . . . . . . . . 24
6.2.3. Mid-Dialog Request . . . . . . . . . . . . . . . . . 25 6.2.3. Mid-Dialog Request . . . . . . . . . . . . . . . . . 25
7. Support Of SIP Replaces . . . . . . . . . . . . . . . . . . . 25 7. Support Of SIP Replaces . . . . . . . . . . . . . . . . . . . 26
8. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1. 555 (Push Notification Service Not Supported) Response 8.1. 555 (Push Notification Service Not Supported) Response
Code . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Code . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2. sip.pns Feature-Capability Indicator . . . . . . . . . . 26 8.2. sip.pns Feature-Capability Indicator . . . . . . . . . . 26
8.3. sip.vapid Feature-Capability Indicator . . . . . . . . . 27 8.3. sip.vapid Feature-Capability Indicator . . . . . . . . . 27
8.4. sip.pnsreg Feature-Capability Indicator . . . . . . . . . 27 8.4. sip.pnsreg Feature-Capability Indicator . . . . . . . . . 27
8.5. sip.pnsreg Media Feature Tag . . . . . . . . . . . . . . 28 8.5. sip.pnsreg Media Feature Tag . . . . . . . . . . . . . . 28
8.6. sip.pnspurr Feature-Capability Indicator . . . . . . . . 28 8.6. sip.pnspurr Feature-Capability Indicator . . . . . . . . 28
8.7. SIP URI Parameters . . . . . . . . . . . . . . . . . . . 28 8.7. SIP URI Parameters . . . . . . . . . . . . . . . . . . . 28
9. PNS Registration Requirements . . . . . . . . . . . . . . . . 29 9. PNS Registration Requirements . . . . . . . . . . . . . . . . 29
skipping to change at page 24, line 32 skipping to change at page 24, line 32
proxy MUST generate a unique (within the context of the proxy) value, proxy MUST generate a unique (within the context of the proxy) value,
referred to as the PURR (Proxy Unique Registration Reference), that referred to as the PURR (Proxy Unique Registration Reference), that
can be used as a key to retrieve the information. can be used as a key to retrieve the information.
In order to prevent client fingerprinting, the proxy MUST In order to prevent client fingerprinting, the proxy MUST
periodically generate a new PURR value (even if pn- parameters did periodically generate a new PURR value (even if pn- parameters did
not change). However, as long as there are ongoing dialogs not change). However, as long as there are ongoing dialogs
associated with the old value, the proxy MUST store it so that it can associated with the old value, the proxy MUST store it so that it can
request that push notifications are sent to the UA when it receives a request that push notifications are sent to the UA when it receives a
mid-dialog request addressed towards the UA. In addition, the PURR mid-dialog request addressed towards the UA. In addition, the PURR
value MUST be generated in such a way so that it cannot be used to value MUST be generated in such a way so that it is unforgeable,
retrieve information about the user or associate it with anonymous, and unlinkable to entities other than the proxy. It must
registrations. It can be generated e.g., by utilizing a not be possible for an attacker to generate a valid PURR, to
cryptographically secure random function. associate a PURR with a specific user, or to determine when two PURRs
correspond to the same user. It can be generated e.g., by utilizing
a cryptographically secure random function with an appropriately
large output size.
Whenever the proxy receives a 2xx response to a REGISTER request, the Whenever the proxy receives a 2xx response to a REGISTER request, the
proxy MUST insert a 'sip.pnspurr' feature-capability indicator with proxy MUST insert a 'sip.pnspurr' feature-capability indicator with
the latest PURR value (see above) in the response. the latest PURR value (see above) in the response.
6.2.2. Initial Request for Dialog 6.2.2. Initial Request for Dialog
When a proxy receives an initial request for a dialog from a UA that When a proxy receives an initial request for a dialog from a UA that
contains a 'pn-purr' SIP URI parameter in the Contact header field contains a 'pn-purr' SIP URI parameter in the Contact header field
URI with a PURR value that the proxy has generated (Section 6.2.1), URI with a PURR value that the proxy has generated (Section 6.2.1),
 End of changes. 5 change blocks. 
9 lines changed or deleted 12 lines changed or added

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