draft-ietf-sipcore-event-rate-control-07.txt   draft-ietf-sipcore-event-rate-control-08.txt 
Network Working Group A. Niemi Network Working Group A. Niemi
Internet-Draft K. Kiss Internet-Draft K. Kiss
Updates: 3265 (if approved) Nokia Updates: 3265 (if approved) Nokia
Intended status: Standards Track S. Loreto Intended status: Standards Track S. Loreto
Expires: October 3, 2011 Ericsson Expires: January 12, 2012 Ericsson
April 1, 2011 July 11, 2011
Session Initiation Protocol (SIP) Event Notification Extension for Session Initiation Protocol (SIP) Event Notification Extension for
Notification Rate Control Notification Rate Control
draft-ietf-sipcore-event-rate-control-07 draft-ietf-sipcore-event-rate-control-08
Abstract Abstract
This document specifies mechanisms for adjusting the rate of Session This document specifies mechanisms for adjusting the rate of Session
Initiation Protocol (SIP) event notifications. These mechanisms can Initiation Protocol (SIP) event notifications. These mechanisms can
be applied in subscriptions to all SIP event packages. This document be applied in subscriptions to all SIP event packages. This document
updates RFC 3265. updates RFC 3265.
Status of this Memo Status of this Memo
skipping to change at page 1, line 36 skipping to change at page 1, line 36
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 October 3, 2011. This Internet-Draft will expire on January 12, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 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 3, line 21 skipping to change at page 3, line 21
3.2. Use Case for Setting a Minimum Rate for Notifications . . 6 3.2. Use Case for Setting a Minimum Rate for Notifications . . 6
3.3. Use Case for Specifying an Adaptive Minimum Rate of 3.3. Use Case for Specifying an Adaptive Minimum Rate of
Notifications . . . . . . . . . . . . . . . . . . . . . . 6 Notifications . . . . . . . . . . . . . . . . . . . . . . 6
3.4. Requirements . . . . . . . . . . . . . . . . . . . . . . . 7 3.4. Requirements . . . . . . . . . . . . . . . . . . . . . . . 7
4. Basic Operations . . . . . . . . . . . . . . . . . . . . . . . 8 4. Basic Operations . . . . . . . . . . . . . . . . . . . . . . . 8
4.1. Subscriber Behavior . . . . . . . . . . . . . . . . . . . 8 4.1. Subscriber Behavior . . . . . . . . . . . . . . . . . . . 8
4.2. Notifier Behavior . . . . . . . . . . . . . . . . . . . . 9 4.2. Notifier Behavior . . . . . . . . . . . . . . . . . . . . 9
5. Operation of the Maximum Rate Mechanism . . . . . . . . . . . 9 5. Operation of the Maximum Rate Mechanism . . . . . . . . . . . 9
5.1. Subscriber Behavior . . . . . . . . . . . . . . . . . . . 9 5.1. Subscriber Behavior . . . . . . . . . . . . . . . . . . . 9
5.2. Notifier Behavior . . . . . . . . . . . . . . . . . . . . 10 5.2. Notifier Behavior . . . . . . . . . . . . . . . . . . . . 10
5.3. Selecting the Maximum Rate . . . . . . . . . . . . . . . . 11 5.3. Selecting the Maximum Rate . . . . . . . . . . . . . . . . 10
5.4. The Maximum Rate Mechanism for Resource List Server . . . 11 5.4. The Maximum Rate Mechanism for Resource List Server . . . 11
5.5. Buffer Policy Description . . . . . . . . . . . . . . . . 13 5.5. Buffer Policy Description . . . . . . . . . . . . . . . . 13
5.5.1. Partial State Notifications . . . . . . . . . . . . . 13 5.5.1. Partial State Notifications . . . . . . . . . . . . . 13
5.5.2. Full State Notifications . . . . . . . . . . . . . . . 13 5.5.2. Full State Notifications . . . . . . . . . . . . . . . 13
5.6. Estimated Bandwidth Savings . . . . . . . . . . . . . . . 14 5.6. Estimated Bandwidth Savings . . . . . . . . . . . . . . . 14
6. Operation of the Minimum Rate Mechanism . . . . . . . . . . . 14 6. Operation of the Minimum Rate Mechanism . . . . . . . . . . . 14
6.1. Subscriber Behavior . . . . . . . . . . . . . . . . . . . 14 6.1. Subscriber Behavior . . . . . . . . . . . . . . . . . . . 14
6.2. Notifier Behavior . . . . . . . . . . . . . . . . . . . . 15 6.2. Notifier Behavior . . . . . . . . . . . . . . . . . . . . 15
6.3. Selecting the Minimum Rate . . . . . . . . . . . . . . . . 16 6.3. Selecting the Minimum Rate . . . . . . . . . . . . . . . . 15
7. Operation of the Adaptive Minimum Rate Mechanism . . . . . . . 16 7. Operation of the Adaptive Minimum Rate Mechanism . . . . . . . 16
7.1. Subscriber Behavior . . . . . . . . . . . . . . . . . . . 16 7.1. Subscriber Behavior . . . . . . . . . . . . . . . . . . . 16
7.2. Notifier Behavior . . . . . . . . . . . . . . . . . . . . 17 7.2. Notifier Behavior . . . . . . . . . . . . . . . . . . . . 16
7.3. Selecting the Adaptive Minimum Rate . . . . . . . . . . . 18 7.3. Selecting the Adaptive Minimum Rate . . . . . . . . . . . 18
7.4. Calculating the Timeout . . . . . . . . . . . . . . . . . 18 7.4. Calculating the Timeout . . . . . . . . . . . . . . . . . 18
8. Usage of the Maximum Rate, Minimum Rate and Adaptive 8. Usage of the Maximum Rate, Minimum Rate and Adaptive
Minimum Rate Mechanisms in a combination . . . . . . . . . . . 19 Minimum Rate Mechanisms in a combination . . . . . . . . . . . 19
9. Protocol Element Definitions . . . . . . . . . . . . . . . . . 20 9. Protocol Element Definitions . . . . . . . . . . . . . . . . . 20
9.1. "max-rate", "min-rate" and "adaptive-min-rate" Header 9.1. "max-rate", "min-rate" and "adaptive-min-rate" Header
Field Parameters . . . . . . . . . . . . . . . . . . . . . 21 Field Parameters . . . . . . . . . . . . . . . . . . . . . 20
9.2. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.2. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . 21
9.3. Event Header Field Usage in Responses to the NOTIFY 9.3. Event Header Field Usage in Responses to the NOTIFY
request . . . . . . . . . . . . . . . . . . . . . . . . . 21 request . . . . . . . . . . . . . . . . . . . . . . . . . 21
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
11. Security Considerations . . . . . . . . . . . . . . . . . . . 22 11. Security Considerations . . . . . . . . . . . . . . . . . . . 22
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
13.1. Normative References . . . . . . . . . . . . . . . . . . . 23 13.1. Normative References . . . . . . . . . . . . . . . . . . . 23
13.2. Informative References . . . . . . . . . . . . . . . . . . 24 13.2. Informative References . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24
skipping to change at page 9, line 29 skipping to change at page 9, line 29
Subscription-State header field parameter of the subsequent NOTIFY Subscription-State header field parameter of the subsequent NOTIFY
requests. requests.
5. Operation of the Maximum Rate Mechanism 5. Operation of the Maximum Rate Mechanism
5.1. Subscriber Behavior 5.1. Subscriber Behavior
A subscriber that wishes to apply a maximum rate to notifications in A subscriber that wishes to apply a maximum rate to notifications in
a subscription MUST construct a SUBSCRIBE request that includes the a subscription MUST construct a SUBSCRIBE request that includes the
"max-rate" Event header field parameter. This parameter specifies "max-rate" Event header field parameter. This parameter specifies
the requested maximum number of notifications per second that is the requested maximum number of notifications per second. The value
equivalent to the reciprocal value of the minimum time interval of this parameter is a positive real number given by a finite decimal
between two consecutive notifications. The value of this parameter representation.
is a positive decimal fraction measured in 1/seconds. For example,
when the subscriber wants to receive notifications no more frequently
than once in every seven seconds, then it sets the value of the "max-
rate" parameter to 1/7.
Note that the witnessed time between two consecutive received Note that the witnessed time between two consecutive received
notifications may not conform to the "max-rate" value for a number notifications may not conform to the "max-rate" value for a number
of reasons. For example, network jitter and retransmissions may of reasons. For example, network jitter and retransmissions may
result in the subscriber receiving the notifications more frequent result in the subscriber receiving the notifications more frequent
than the "max-rate" value recommends. than the "max-rate" value recommends.
A subscriber that wishes to update the previously agreed maximum rate A subscriber that wishes to update the previously agreed maximum rate
of notifications MUST include the updated "max-rate" Event header of notifications MUST include the updated "max-rate" Event header
field parameter in a subsequent SUBSCRIBE request or a 2xx response field parameter in a subsequent SUBSCRIBE request or a 2xx response
skipping to change at page 14, line 39 skipping to change at page 14, line 39
maximum rate mechanism. After all, they can both be applied maximum rate mechanism. After all, they can both be applied
simultaneously. simultaneously.
6. Operation of the Minimum Rate Mechanism 6. Operation of the Minimum Rate Mechanism
6.1. Subscriber Behavior 6.1. Subscriber Behavior
A subscriber that wishes to apply a minimum rate to notifications in A subscriber that wishes to apply a minimum rate to notifications in
a subscription MUST construct a SUBSCRIBE request that includes the a subscription MUST construct a SUBSCRIBE request that includes the
"min-rate" Event header field parameter. This parameter specifies "min-rate" Event header field parameter. This parameter specifies
the requested minimum number of notifications per second that is the requested minimum number of notifications per second. The value
equivalent to the reciprocal value of the maximum time interval of this parameter is a positive real number given by a finite decimal
between two consecutive notifications. The value of this parameter representation.
is a positive decimal fraction measured in 1/seconds. For example,
when the subscriber wants to receive notifications at least once in
every seven seconds, then it sets the value of the "min-rate"
parameter to 1/7.
A subscriber that wishes to update the previously agreed minimum rate A subscriber that wishes to update the previously agreed minimum rate
of notifications MUST include the updated "min-rate" Event header of notifications MUST include the updated "min-rate" Event header
field parameter in a subsequent SUBSCRIBE request or a 2xx response field parameter in a subsequent SUBSCRIBE request or a 2xx response
to the NOTIFY request. to the NOTIFY request.
A subscriber that wishes to remove the minimum rate control from A subscriber that wishes to remove the minimum rate control from
notifications MUST indicate so by not including a "min-rate" Event notifications MUST indicate so by not including a "min-rate" Event
header field parameter in a subsequent SUBSCRIBE request or a 2xx header field parameter in a subsequent SUBSCRIBE request or a 2xx
response to the NOTIFY request. response to the NOTIFY request.
skipping to change at page 16, line 29 skipping to change at page 16, line 23
configuration or other implementation-determined constraints. configuration or other implementation-determined constraints.
7. Operation of the Adaptive Minimum Rate Mechanism 7. Operation of the Adaptive Minimum Rate Mechanism
7.1. Subscriber Behavior 7.1. Subscriber Behavior
A subscriber that wishes to apply an adaptive minimum rate to A subscriber that wishes to apply an adaptive minimum rate to
notifications in a subscription MUST construct a SUBSCRIBE request notifications in a subscription MUST construct a SUBSCRIBE request
that includes the "adaptive-min-rate" Event header field parameter. that includes the "adaptive-min-rate" Event header field parameter.
This parameter specifies an adaptive minimum number of notifications This parameter specifies an adaptive minimum number of notifications
per second that is equivalent to the the reciprocal value of the per second. The value of this parameter is a positive real number
adaptive maximum time interval between two consecutive notifications. given by a finite decimal representation.
The value of this parameter is a positive decimal fraction measured
in 1/seconds. For example, when the subscriber wants to receive
notifications once in every seven seconds on an average, then it sets
the value of the "adaptive-min-rate" parameter to 1/7.
A subscriber that wishes to update the previously agreed adaptive A subscriber that wishes to update the previously agreed adaptive
minimum rate of notifications MUST include the updated "adaptive-min- minimum rate of notifications MUST include the updated "adaptive-min-
rate" Event header field parameter in a subsequent SUBSCRIBE request rate" Event header field parameter in a subsequent SUBSCRIBE request
or a 2xx response to the NOTIFY request. or a 2xx response to the NOTIFY request.
A subscriber that wishes to remove the adaptive minimum rate control A subscriber that wishes to remove the adaptive minimum rate control
from notifications MUST indicate so by not including a "adaptive-min- from notifications MUST indicate so by not including a "adaptive-min-
rate" Event header field parameter in a subsequent SUBSCRIBE request rate" Event header field parameter in a subsequent SUBSCRIBE request
or a 2xx response to the NOTIFY request. or a 2xx response to the NOTIFY request.
skipping to change at page 21, line 22 skipping to change at page 21, line 14
9.2. Grammar 9.2. Grammar
This section describes the Augmented BNF [RFC5234] definitions for This section describes the Augmented BNF [RFC5234] definitions for
the new header field parameters. Note that we derive here from the the new header field parameters. Note that we derive here from the
ruleset present in RFC 3265 [RFC3265], adding additional alternatives ruleset present in RFC 3265 [RFC3265], adding additional alternatives
to the alternative sets of "event-param" and "subexp-params" defined to the alternative sets of "event-param" and "subexp-params" defined
therein. The "delta-seconds" element is defined in RFC 3261 therein. The "delta-seconds" element is defined in RFC 3261
[RFC3261]. [RFC3261].
event-param =/ max-rate-param / min-rate-param / amin-rate-param event-param = max-rate-param
subexp-params =/ max-rate-param / min-rate-param / amin-rate-param / min-rate-param
max-rate-param = "max-rate" EQUAL ("1" SLASH delta-seconds) / amin-rate-param
min-rate-param = "min-rate" EQUAL ("1" SLASH delta-seconds) subexp-params = max-rate-param
amin-rate-param = "adaptive-min-rate" EQUAL ("1" SLASH delta-seconds) / min-rate-param
/ amin-rate-param
max-rate-param = "max-rate" EQUAL
(1*2DIGIT ["." 1*10DIGIT])
min-rate-param = "min-rate" EQUAL
(1*2DIGIT ["." 1*10DIGIT])
amin-rate-param = "adaptive-min-rate" EQUAL
(1*2DIGIT ["." 1*10DIGIT])
9.3. Event Header Field Usage in Responses to the NOTIFY request 9.3. Event Header Field Usage in Responses to the NOTIFY request
This table expands the table described in Section 7.2 of RFC 3265 This table expands the table described in Section 7.2 of RFC 3265
[RFC3265] allowing the Event header field to appear in a 2xx response [RFC3265] allowing the Event header field to appear in a 2xx response
to a NOTIFY request. The use of the Event header field in responses to a NOTIFY request. The use of the Event header field in responses
other than 2xx to NOTIFY requests is undefined and out of scope of other than 2xx to NOTIFY requests is undefined and out of scope of
this specification. this specification.
Header field where proxy ACK BYE CAN INV OPT REG PRA SUB NOT Header field where proxy ACK BYE CAN INV OPT REG PRA SUB NOT
 End of changes. 11 change blocks. 
33 lines changed or deleted 28 lines changed or added

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