< draft-polk-sip-rph-in-responses-00.txt   draft-polk-sip-rph-in-responses-01.txt >
SIP WG James Polk SIP WG James Polk
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Intended status: Standards Track June 13th, 2007 Intended status: Standards Track (PS) February 24, 2008
Expires: December 13th, 2007 Expires: Aug 24, 2008
Updates: RFC 4412 (if published) Updates: RFC 4412 (if published)
Allowing SIP Resource Priority Header in SIP Responses Allowing SIP Resource-Priority Header in SIP Responses
draft-polk-sip-rph-in-responses-00 draft-polk-sip-rph-in-responses-01
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress." reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 16th, 2007. This Internet-Draft will expire on August 24, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
Abstract Abstract
The Session Initiation Protocol (SIP) Resource Priority Header The Session Initiation Protocol (SIP) Resource-Priority Header is
(RPH), in its current form, is ignored in SIP responses. This was a ignored in SIP responses, according to RFC 4412. This was a
design choice during RFC 4412's development. This is now considered design choice during RFC 4412's development. This is now considered
a bad design choice in certain scenarios. This document corrects a bad design choice in certain scenarios. This document corrects
RFC 4412's communications model by optionally allowing a SIP server RFC 4412's communications model by optionally allowing a SIP server
or user agent client to process the Resource-Priority Header in a or user agent (UA) to process the Resource-Priority Header in a
response. response.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
1. Introduction 1. Introduction
The Session Initiation Protocol (SIP) Resource Priority Header The Session Initiation Protocol (SIP) Resource-Priority Header
(RPH) [RFC4412], in its current form, is ignored by SIP entities if [RFC4412], in its current form, is ignored by SIP entities if
in SIP responses. It was a design choice during RFC 4412's in SIP responses. It was a design choice during RFC 4412's
development that only stateful servers would grant SIP messages development that only stateful servers would grant SIP messages
preferential treatment. This is now considered a bad design choice preferential treatment. This is now considered a bad design choice
in certain scenarios, such as those entities within trusted in certain scenarios, such as those entities within trusted
networks, and where stateless servers are surrounded by more networks, and where stateless servers are surrounded by more
stateful servers. This document corrects RFC 4412's communications stateful servers. This document corrects RFC 4412's communications
model by allowing a SIP server or user agent client to process the model by allowing a SIP server or user agent (UA) to process the
Resource-Priority Header in a response. Resource-Priority Header in a response.
There are inconsistencies within RFC 4412 as to whether or not a SIP
entity can process a Resource-Priority header in a response; Section
3.3 of [RFC4412] states (with a table) a Resource-Priority cannot be
looked for in a response, whereas section 4.7.3 of [RFC4412]
discusses how SIP entities deal with a Resource-Priority in a
response. Here is a more thorough examination of what RFC 4412 says
in both sections.
RFC 4412 defines the SIP Resource-Priority header, and is a RFC 4412 defines the SIP Resource-Priority header, and is a
standards track extension to SIP [RFC3261]. Section 3.3 of RFC 4412 standards track extension to SIP [RFC3261]. Section 3.3 of RFC 4412
has the following table 2 entry: has the following table 2 entry:
Header field where proxy INV ACK CAN BYE REG OPT PRA Header field where proxy INV ACK CAN BYE REG OPT PRA
---------------------------------------------------------------- ----------------------------------------------------------------
Resource-Priority R amdr o o o o o o o Resource-Priority R amdr o o o o o o o
Header field where proxy SUB NOT UPD MSG REF INF PUB Header field where proxy SUB NOT UPD MSG REF INF PUB
---------------------------------------------------------------- ----------------------------------------------------------------
Resource-Priority R amdr o o o o o o o Resource-Priority R amdr o o o o o o o
According to RFC 3261, the 'R' in the "where" column states a According to RFC 3261 [RFC3261], the 'R' in the "where" column
particular header is found in requests, and ignored in responses. states a particular header is found in requests, and ignored in
Table 2 is a quick reference of usage of a header, but alone, is responses. Table 2 is a quick reference of usage of a header, but
insufficient to define the expected behavior of a SIP header, alone, is insufficient to define the expected behavior of a SIP
relying instead on what the header description text says in the RFC header, relying instead on what the header description text says in
that creates the header. RFC 4412 fails to provide clear normative the RFC that creates the header. RFC 4412 fails to provide clear
text indicating whether or not an RPH can be found in a response, or normative text indicating whether or not a Resource-Priority value
what a SIP element is to do with it once received. can be found in a response, or what a SIP element is to do with it
once one is received.
Even though Tables 2 and 3 of RFC 3261 are not normative, this is
frequently a discussion topic in and out of IETF meetings, and in
other SDOs - resulting in industry confusion.
The assumption at the time of RFC 4412 was that the The assumption at the time of RFC 4412 was that the
Resource-Priority header would only be used in managed IP networks Resource-Priority header would only be used in managed IP networks
where all SIP servers were statefully aware of the RPH value within where all SIP servers were statefully aware of the Resource-Priority
a transaction from the request message, maintaining state of the value within a transaction from the request message, maintaining
value for the response. state of the value for the response.
There is a need now to have stateless SIP servers have the Yet, Section 4.7.3 of RFC 4412 states this
Resource-Priority header in responses in some environments.
This document IANA registers the Resource-Priority header for usage "If a stateful proxy has authorized a particular Resource-Priority
in responses. level, and if it offers differentiated treatment to responses
containing Resource-Priority levels, the proxy SHOULD ignore any
higher value contained in responses, to prevent colluding user
agents from artificially raising the priority level."
This document updates RFC 4412. The above quote from RFC 4412 was concerning stateful proxies, and
there is a need now to have stateless SIP servers have the
Resource-Priority header in responses in some environments,
typically when surrounded by stateful proxy servers more towards the
edge of the network. This is a design choice several vendors want
to have, and they want SIP specifications to state what they want is
not illegal, according to RFC(s).
This document clarifies what was inconsistent in RFC 4412, by
allowing a proxy to "amdr" an Resource-Priority value in a response,
though this should only occur in certain network environments.
There was a proposal to use SIP Resource-Priority in a SIP response,
when that transaction's SIP request is received by a certain type of
authorization server, to establish the namespace and priority-value
for a dialog (as the signaling continued to set-up the call). This
was loosely named "use-case#2" to establish how and why
Resource-Priority is necessary in SIP responses. That user-case has
been abandoned. What remains here is what was called "use-case#1"
for how and why this update to RFC 4412 is necessary.
This document updates RFC 4412, but requests no IANA changes.
2. Adding Resource-Priority Header in SIP Responses 2. Adding Resource-Priority Header in SIP Responses
The following the correction of the table 2 entry for the The following the correction of the table 2 entry for the
Resource-Priority header: Resource-Priority header:
Header field where proxy INV ACK CAN BYE REG OPT PRA Header field where proxy INV ACK CAN BYE REG OPT PRA
---------------------------------------------------------------- ----------------------------------------------------------------
Resource-Priority amdr o o o o o o o Resource-Priority amdr o o o o o o o
Header field where proxy SUB NOT UPD MSG REF INF PUB Header field where proxy SUB NOT UPD MSG REF INF PUB
---------------------------------------------------------------- ----------------------------------------------------------------
Resource-Priority amdr o o o o o o o Resource-Priority amdr o o o o o o o
The difference is in the "where" column, in which the "R" was The difference is in the "where" column, in which the "R" is
removed. The specific behaviors resulting from this are explained removed. The specific behaviors resulting from this are explained
in the next 3 sub-sections. in the next 3 sub-sections.
The above is to replace what is currently stated by RFC 4412, and The above is to replace what is currently stated by RFC 4412,
what is IANA registered. wherever this table is kept intact (knowing this table is not
normative anywhere within current SIP RFCs, but is often used as a
reference by readers where a header is to be used, and what the
expectations are within SIP Methods).
2.1 UAC Behavior 3. Use-Case #1 and SIP Resource-Priority in Responses
The usage for SIP Resource-Priority in Responses has been described
as "use-case#1". Use-Case#1 involves large networks that will no
longer have to maintain stateful proxies throughout their networks
in order to comply with RFC 4412. With this update to RFC 4412,
large networks can now have transaction or dialog stateful servers
at the perimeter of their network, but now can have the faster and
more scalable stateless servers in the core of their networks -
knowing no SIP requests or responses will be received by these
stateless servers without first being processed by the stateful
servers (i.e., at least providing the necessary
authentication/authorization on the usage of Resource-Priority
values in the messages).
What was described briefly in the Intro section of this document as
"use-case#2" (using a SIP response to carry an authorized new
Resource-Priority header value to a server that will continue the
transaction towards the UAS with this Resource-Priority in the
request) MUST NOT be done. There are more appropriate protocols to
do this function than a SIP response message. A SIP SUB/NOT
transaction MAY be used for that function, but the scoping and
defining of that operation is outside the scope of this document -
which focuses exclusively on use-case#1, described above.
4. SIP Element Behaviors for Resource-Priority in Responses
4.1 UAC Behavior
The UAC MAY process SIP responses containing the Resource-Priority The UAC MAY process SIP responses containing the Resource-Priority
header according to the local policy of the network or UAC. If the header according to the local policy of the network or UAC. If the
response header value is different than the original request value, response header value is different than the original request value,
local policy SHOULD determine which to process the message based on, it is RECOMMENDED local policy determine which bi-direction
but will likely be at the same priority-value as was in the request priority-value to process the messages within this transaction on,
the UAC send to the UAS. which will likely be at the same priority-value as was in the SIP
request.
2.2 UAS Behavior 4.2 UAS Behavior
The UAS MAY include the Resource-Priority header in responses. The UAS MAY include the Resource-Priority header in responses.
Typically the Resource-Priority header value will be the same in the It is RECOMMENDED the Resource-Priority header value be the same in
response as it was in the request. The UAS MAY change the the response as it was in the request. The UAS MAY change the
Resource-Priority header value, depending on local policy. Reasons Resource-Priority header value, depending on local policy. Reasons
for this are outside the scope of this document. for this are outside the scope of this document.
2.3 Proxy Behavior 4.3 Proxy Behavior
SIP Proxies MAY process the Resource-Priority header in responses; SIP Proxies MAY process the Resource-Priority header in responses;
meaning, in certain environments, the choice of whether or not to meaning, in certain environments, the choice of whether or not to
process the RPH will not be in doubt. This configuration choice process the Resource-Priority value(s) in a response will not be in
could be on a per transaction basis, on a per server basis, or under doubt. This configuration choice could be on a per transaction
some other parameter choice, all based on local policy of the proxy. basis, on a per server basis, or under some other parameter choice,
all based on local policy of the proxy. This Resource-Priority
This Resource-Priority header value MAY be the same or different header value MAY be the same or different between request and
between request and response, depending on local policy downstream response, depending on local policy downstream of a proxy (or UAS).
of this proxy. SIP Proxies MAY add or modify the Resource-Priority SIP Proxies MAY add or modify the Resource-Priority header value in
header value in responses with this update. SIP Proxies MAY, but responses with this update. SIP Proxies MAY, but SHOULD NOT delete
SHOULD NOT delete Resource-Priority header value in responses, as a Resource-Priority header value in responses, as a Resource-Priority
Resource-Priority header value MAY have use other than at this header value MAY have use other than at this particular proxy.
particular proxy. Local policy will determine this configuration. Local policy will determine this configuration.
SIP Proxies SHOULD be able to ignore the header by configuration, in SIP Proxies SHOULD be able to ignore the header by configuration, in
such environments that have RPH enabled SIP entities that are such environments that have Resource-Priority enabled SIP entities
configured to remain aware of the RPH priority-value in a request that are configured to remain aware of the Resource-Priority value
part of the transaction, or do not trust the possibility of a in a request part of the transaction, or do not trust the
priority mark up, from what was in the request message. possibility of a priority mark up, from what was in the request
message.
3. Acknowledgements
Your name here, or, if you write a fair piece of text, you can
become a co-author...
4. IANA Considerations
The following is replace what is registered in the sip-parameters
section of IANA for the Resource-Priority header:
Header field where proxy INV ACK CAN BYE REG OPT PRA 5. IANA Considerations
----------------------------------------------------------------
Resource-Priority amdr o o o o o o o
Header field where proxy SUB NOT UPD MSG REF INF PUB There are no IANA considerations in this document.
----------------------------------------------------------------
Resource-Priority amdr o o o o o o o
[Editor's NOTE: since this registration replaces an existing [NOTE: If this document is to be published as an RFC, this section
registration, but does not offer supporting text for what was not can be removed.]
changed, does IANA give references to both this doc and RFC 4412
once this doc is RFC'd?]
5. Security Considerations 6. Security Considerations
The Security considerations that apply to RFC 4412 [RFC4412] apply The Security considerations that apply to RFC 4412 [RFC4412] apply
here. The only new security threat this document introduces here. The only new security threat this document introduces
relative to RFC 4412 is in SIP entities that grant unconditional, relative to RFC 4412 is in SIP entities that grant unconditional,
stateless, preferential treatment based on the RPH priority-value. stateless, preferential treatment based on the Resource-Priority
This is a configuration issue, and not a implementation issue, and value. This is a configuration issue, and not a implementation
operators should avoided allowing the configuration of blind SIP issue, and operators should avoided allowing the configuration of
entities to process according to a priority marking without having a blind SIP entities to process according to a priority marking
means of checking if the marking is valid. Invalid marking could without having a means of checking if the marking is valid. Invalid
grant inappropriate treatment to SIP messages that do not deserve marking could grant inappropriate treatment to SIP messages that do
it. not deserve it.
6. References 7. Acknowledgements
6.1 Normative References Thanks to Janet Gunn, Keith Drage, Dean Willis, Tim Dwight and
Martin Dolly for the helpful comments.
8. References
8.1 Normative References
[RFC2119] S. Bradner, "Key words for use in RFCs to Indicate [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997 Requirement Levels", RFC 2119, March 1997
[RFC4412] Schulzrinne, H., Polk, J., "Communications Resource [RFC4412] Schulzrinne, H., Polk, J., "Communications Resource
Priority for the Session Initiation Protocol (SIP)", RFC Priority for the Session Initiation Protocol (SIP)", RFC
4411, Feb 2006 4411, Feb 2006
[RFC3261] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. [RFC3261] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J.
Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, May 2002. Session Initiation Protocol", RFC 3261, May 2002.
Author's Addresses Author's Addresses
James M. Polk James Polk
3913 Treemont Circle 3913 Treemont Circle
Colleyville, Texas 76034 Colleyville, Texas 76034
USA USA
Phone: +1-817-271-3552 Phone: +1-817-271-3552
Fax: none Fax: none
Email: jmpolk@cisco.com Email: jmpolk@cisco.com
Full Copyright Statement Full Copyright Statement
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
 End of changes. 32 change blocks. 
86 lines changed or deleted 143 lines changed or added

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