draft-ietf-sipcore-sip-push-18.txt   draft-ietf-sipcore-sip-push-19.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: April 6, 2019 Metaswitch Networks Expires: April 15, 2019 Metaswitch Networks
October 3, 2018 October 12, 2018
Push Notification with the Session Initiation Protocol (SIP) Push Notification with the Session Initiation Protocol (SIP)
draft-ietf-sipcore-sip-push-18 draft-ietf-sipcore-sip-push-19
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 suspended Session Initiation Protocol (SIP) User Agents used to wake suspended Session Initiation Protocol (SIP) User Agents
(UAs), using push notifications, for the UA to be able to send (UAs), using push notifications, for the UA to be able to send
binding refresh REGISTER requests and to receive receive incoming SIP binding refresh REGISTER requests and to receive receive incoming SIP
requests. The document defines new SIP URI parameters and new requests. The document defines new SIP URI parameters and new
feature-capability indicators that can be used in SIP messages to feature-capability indicators that can be used in SIP messages to
indicate support of the mechanism defined in this document, to indicate support of the mechanism defined in this document, to
skipping to change at page 1, line 40 skipping to change at page 1, line 40
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 April 6, 2019. This Internet-Draft will expire on April 15, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 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 7, line 21 skipping to change at page 7, line 21
Once the SIP UA has registered with the PNS, has received the PRID Once the SIP UA has registered with the PNS, has received the PRID
(using the protocol and procedures associated with the PNS), if the (using the protocol and procedures associated with the PNS), if the
UA wants to receive push notifications (requested by the proxy), the UA wants to receive push notifications (requested by the proxy), the
UA MUST include the following SIP URI parameters in the SIP Contact UA MUST include the following SIP URI parameters in the SIP Contact
header field URI of the REGISTER request: pn-provider, pn-prid and header field URI of the REGISTER request: pn-provider, pn-prid and
pn-param (if required for the specific PNS). The pn-provider URI pn-param (if required for the specific PNS). The pn-provider URI
parameter identifies the type of PNS, the pn-prid URI parameter parameter identifies the type of PNS, the pn-prid URI parameter
contains the PRID value and the pn-param URI parameter contains contains the PRID value and the pn-param URI parameter contains
additional PNS-specific information. additional PNS-specific information.
If the SIP UA creates multiple bindings (e.g., one for IPv4 and one
for IPv6), the UA SHOULD use the same 'expires' Contact header field
parameter value [RFC3261] for each binding. The UA MUST NOT create
bindings for other UAs (using a different PRID).
When the UA receives a 2xx response to the REGISTER request, if the When the UA receives a 2xx response to the REGISTER request, if the
response contains a Feature-Caps header field [RFC6809] with a response contains a Feature-Caps header field [RFC6809] with a
'sip.pns' feature-capability indicator with a parameter value 'sip.pns' feature-capability indicator with a parameter value
identifying the same type of PNS that was identified by the pn- identifying the same type of PNS that was identified by the pn-
provider URI parameter in the REGISTER request, the UA can assume provider URI parameter in the REGISTER request, the UA can assume
that a SIP proxy will request push notifications towards the UA. In that a SIP proxy will request push notifications towards the UA. In
other cases, the UA MUST NOT assume that push notifications will be other cases, the UA MUST NOT assume that push notifications will be
requested, and the actions taken by the UA might be dependent on requested, and the actions taken by the UA might be dependent on
implementation or deployment architecture, and are outside the scope implementation or deployment architecture, and are outside the scope
of this document. of this document.
skipping to change at page 19, line 27 skipping to change at page 19, line 27
to a REGISTER request, the the indicator indicates that the entity to a REGISTER request, the the indicator indicates that the entity
associated with the indicator supports the SIP push mechanism, and associated with the indicator supports the SIP push mechanism, and
the push notification service(s) identified by the indicator value. the push notification service(s) identified by the indicator value.
The values defined for the pn-provider SIP URI parameter are used as The values defined for the pn-provider SIP URI parameter are used as
indicator values. indicator values.
pns-fc = "+sip.pns" EQUAL LDQUOT pns-list RDQUOT pns-fc = "+sip.pns" EQUAL LDQUOT pns-list RDQUOT
pns-list = pns *(COMMA pns) pns-list = pns *(COMMA pns)
pns = tag-value pns = tag-value
; tag-value as defined in RFC 3840 tag-value = <tag-value defined in [RFC3840]>
8.4. sip.vapid Feature-Capability Indicator 8.4. sip.vapid Feature-Capability Indicator
The sip.vapid feature-capability indicator, when included in a SIP The sip.vapid feature-capability indicator, when included in a SIP
2xx response to a SIP REGISTER request, indicates that the entity 2xx response to a SIP REGISTER request, indicates that the entity
associated with the indicator supports, and will use, the Voluntary associated with the indicator supports, and will use, the Voluntary
Application Server Identification (VAPID) [RFC8292] mechanism when Application Server Identification (VAPID) [RFC8292] mechanism when
requesting push notifications towards the SIP UA associated with the requesting push notifications towards the SIP UA associated with the
SIP registration. The indicator value is a public key identifying SIP registration. The indicator value is a public key identifying
the entity, that can be used by a SIP UA to restrict subscriptions to the entity, that can be used by a SIP UA to restrict subscriptions to
that entity. that entity.
vapid-fc = "+sip.vapid" EQUAL LDQUOT vapid RDQUOT vapid-fc = "+sip.vapid" EQUAL LDQUOT vapid RDQUOT
vapid = tag-value vapid = tag-value
; tag-value as defined in RFC 3840 tag-value = <tag-value defined in [RFC3840]>
8.5. sip.pnsreg Feature-Capability Indicator 8.5. sip.pnsreg Feature-Capability Indicator
The sip.pnsreg feature-capability indicator, when included in a SIP The sip.pnsreg feature-capability indicator, when included in a SIP
2xx response to a SIP REGISTER request, indicates that the entity 2xx response to a SIP REGISTER request, indicates that the entity
associated with the indicator expects to receive binding refresh associated with the indicator expects to receive binding refresh
REGISTER requests from the SIP UA associated with the registration REGISTER requests from the SIP UA associated with the registration
before the registration expires, without the entity having to request before the registration expires, without the entity having to request
push notifications towards the SIP UA in order to trigger the push notifications towards the SIP UA in order to trigger the
REGISTER requests. The indicator value is the minimum value (given REGISTER requests. The indicator value is the minimum value (given
in seconds) before the registration expiration when the entity in seconds) before the registration expiration when the entity
expects to receive the REGISTER request. expects to receive the REGISTER request.
pns-fc = "+sip.pnsreg" EQUAL LDQUOT reg RDQUOT pns-fc = "+sip.pnsreg" EQUAL LDQUOT reg RDQUOT
reg = 1*DIGIT reg = 1*DIGIT
; DIGIT as defined in RFC 3261 DIGIT = <DIGIT defined in [RFC3261]>
8.6. sip.pnsreg Media Feature Tag 8.6. sip.pnsreg Media Feature Tag
The sip.pnsreg media feature tag, when included in the SIP Contact The sip.pnsreg media feature tag, when included in the SIP Contact
header field of a SIP REGISTER request, indicates that the SIP UA header field of a SIP REGISTER request, indicates that the SIP UA
associated with the tag is able to send binding refresh REGISTER associated with the tag is able to send binding refresh REGISTER
requests associated with the registration without being awaken by requests associated with the registration without being awaken by
push notifications. The media feature tag has no values. push notifications. The media feature tag has no values.
pnsreg-mt = "+sip.pnsreg" pnsreg-mt = "+sip.pnsreg"
skipping to change at page 21, line 10 skipping to change at page 21, line 10
8.7. SIP URI Parameters 8.7. SIP URI Parameters
The section defines new SIP URI parameters, by extending the grammar The section defines new SIP URI parameters, by extending the grammar
for "uri-parameter" as defined in [RFC3261]. The ABNF is as follows: for "uri-parameter" as defined in [RFC3261]. The ABNF is as follows:
uri-parameter =/ pn-provider / pn-param / pn-prid uri-parameter =/ pn-provider / pn-param / pn-prid
pn-provider = "pn-provider" EQUAL pvalue pn-provider = "pn-provider" EQUAL pvalue
pn-param = "pn-param" EQUAL pvalue pn-param = "pn-param" EQUAL pvalue
pn-prid = "pn-prid" EQUAL pvalue pn-prid = "pn-prid" EQUAL pvalue
; pvalue as defined in RFC 3261 pvalue = <pvalue defined in [RFC3261]>
; EQUAL as defined in RFC 3261 EQUAL = <EQUAL defined in [RFC3261]>
; COLON as defined in RFC 3261 COLON = <COLON defined in [RFC3261]>
The format and semantics of pn-prid and pn-param are The format and semantics of pn-prid and pn-param are
specific to the pn-provider value. specific to the pn-provider value.
Parameter value characters that are not part of pvalue needs to be Parameter value characters that are not part of pvalue needs to be
escaped, as defined in RFC 3261. escaped, as defined in RFC 3261.
9. PNS Registration Requirements 9. PNS Registration Requirements
When a new value is registered to the PNS Sub-registry, a reference When a new value is registered to the PNS Sub-registry, a reference
 End of changes. 8 change blocks. 
10 lines changed or deleted 15 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/