SIP WG James Polk Internet-Draft Cisco Systems Intended status: Standards Track June 13th, 2007 Expires: December 13th, 2007 Updates: RFC 4412 (if published) Allowing SIP Resource Priority Header in SIP Responses draft-polk-sip-rph-in-responses-00 Status of this Memo By submitting this Internet-Draft, each author represents that any 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 aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on December 16th, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract The Session Initiation Protocol (SIP) Resource Priority Header (RPH), in its current form, is ignored in SIP responses. This was a design choice during RFC 4412's development. This is now considered a bad design choice in certain scenarios. This document corrects RFC 4412's communications model by optionally allowing a SIP server or user agent client to process the Resource-Priority Header in a response. Polk Expires December 13th, 2007 [Page 1] Internet-Draft SIP RPH in Responses June 2007 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 1. Introduction The Session Initiation Protocol (SIP) Resource Priority Header (RPH) [RFC4412], in its current form, is ignored by SIP entities if in SIP responses. It was a design choice during RFC 4412's development that only stateful servers would grant SIP messages preferential treatment. This is now considered a bad design choice in certain scenarios, such as those entities within trusted networks, and where stateless servers are surrounded by more stateful servers. This document corrects RFC 4412's communications model by allowing a SIP server or user agent client to process the Resource-Priority Header in a response. RFC 4412 defines the SIP Resource-Priority header, and is a standards track extension to SIP [RFC3261]. Section 3.3 of RFC 4412 has the following table 2 entry: Header field where proxy INV ACK CAN BYE REG OPT PRA ---------------------------------------------------------------- Resource-Priority R amdr o o o o o o o Header field where proxy SUB NOT UPD MSG REF INF PUB ---------------------------------------------------------------- Resource-Priority R amdr o o o o o o o According to RFC 3261, the 'R' in the "where" column states a particular header is found in requests, and ignored in responses. Table 2 is a quick reference of usage of a header, but alone, is insufficient to define the expected behavior of a SIP header, relying instead on what the header description text says in the RFC that creates the header. RFC 4412 fails to provide clear normative text indicating whether or not an RPH can be found in a response, or what a SIP element is to do with it once received. The assumption at the time of RFC 4412 was that the Resource-Priority header would only be used in managed IP networks where all SIP servers were statefully aware of the RPH value within a transaction from the request message, maintaining state of the value for the response. There is a need now to have stateless SIP servers have the Resource-Priority header in responses in some environments. This document IANA registers the Resource-Priority header for usage in responses. Polk Expires December 13th, 2007 [Page 2] Internet-Draft SIP RPH in Responses June 2007 This document updates RFC 4412. 2. Adding Resource-Priority Header in SIP Responses The following the correction of the table 2 entry for the Resource-Priority header: Header field where proxy INV ACK CAN BYE REG OPT PRA ---------------------------------------------------------------- Resource-Priority amdr o o o o o o o Header field where proxy SUB NOT UPD MSG REF INF PUB ---------------------------------------------------------------- Resource-Priority amdr o o o o o o o The difference is in the "where" column, in which the "R" was removed. The specific behaviors resulting from this are explained in the next 3 sub-sections. The above is to replace what is currently stated by RFC 4412, and what is IANA registered. 2.1 UAC Behavior The UAC MAY process SIP responses containing the Resource-Priority header according to the local policy of the network or UAC. If the response header value is different than the original request value, local policy SHOULD determine which to process the message based on, but will likely be at the same priority-value as was in the request the UAC send to the UAS. 2.2 UAS Behavior The UAS MAY include the Resource-Priority header in responses. Typically the Resource-Priority header value will be the same in the response as it was in the request. The UAS MAY change the Resource-Priority header value, depending on local policy. Reasons for this are outside the scope of this document. 2.3 Proxy Behavior SIP Proxies MAY process the Resource-Priority header in responses; meaning, in certain environments, the choice of whether or not to process the RPH will not be in doubt. This configuration choice could be on a per transaction basis, on a per server basis, or under some other parameter choice, all based on local policy of the proxy. Polk Expires December 13th, 2007 [Page 3] Internet-Draft SIP RPH in Responses June 2007 This Resource-Priority header value MAY be the same or different between request and response, depending on local policy downstream of this proxy. SIP Proxies MAY add or modify the Resource-Priority header value in responses with this update. SIP Proxies MAY, but SHOULD NOT delete Resource-Priority header value in responses, as a Resource-Priority header value MAY have use other than at this particular proxy. Local policy will determine this configuration. SIP Proxies SHOULD be able to ignore the header by configuration, in such environments that have RPH enabled SIP entities that are configured to remain aware of the RPH priority-value in a request part of the transaction, or do not trust the 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 ---------------------------------------------------------------- Resource-Priority amdr o o o o o o o Header field where proxy SUB NOT UPD MSG REF INF PUB ---------------------------------------------------------------- Resource-Priority amdr o o o o o o o [Editor's NOTE: since this registration replaces an existing registration, but does not offer supporting text for what was not changed, does IANA give references to both this doc and RFC 4412 once this doc is RFC'd?] 5. Security Considerations The Security considerations that apply to RFC 4412 [RFC4412] apply here. The only new security threat this document introduces relative to RFC 4412 is in SIP entities that grant unconditional, stateless, preferential treatment based on the RPH priority-value. This is a configuration issue, and not a implementation issue, and operators should avoided allowing the configuration of blind SIP entities to process according to a priority marking without having a means of checking if the marking is valid. Invalid marking could grant inappropriate treatment to SIP messages that do not deserve Polk Expires December 13th, 2007 [Page 4] Internet-Draft SIP RPH in Responses June 2007 it. 6. References 6.1 Normative References [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997 [RFC4412] Schulzrinne, H., Polk, J., "Communications Resource Priority for the Session Initiation Protocol (SIP)", RFC 4411, Feb 2006 [RFC3261] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, May 2002. Author's Addresses James M. Polk 3913 Treemont Circle Colleyville, Texas 76034 USA Phone: +1-817-271-3552 Fax: none Email: jmpolk@cisco.com Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Polk Expires December 13th, 2007 [Page 5] Internet-Draft SIP RPH in Responses June 2007 Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Polk Expires December 13th, 2007 [Page 6]