One document matched: draft-polk-sip-rph-in-responses-01.txt

Differences from draft-polk-sip-rph-in-responses-00.txt



SIP WG                                                       James Polk
Internet-Draft                                            Cisco Systems
Intended status: Standards Track (PS)                 February 24, 2008
Expires: Aug 24, 2008                           
Updates: RFC 4412 (if published)


         Allowing SIP Resource-Priority Header in SIP Responses
                   draft-polk-sip-rph-in-responses-01

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 August 24, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2008).

Abstract

   The Session Initiation Protocol (SIP) Resource-Priority Header is 
   ignored in SIP responses, according to RFC 4412.  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 (UA) to process the Resource-Priority Header in a 
   response.






Polk                      Expires Aug 24, 2008                 [Page 1]
Internet-Draft     SIP Resource-Priority in Responses          Feb 2008


   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 
   [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 (UA) to process the 
   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 
   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 [RFC3261], 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 a Resource-Priority value 
   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.


Polk                      Expires Aug 24, 2008                 [Page 2]
Internet-Draft     SIP Resource-Priority in Responses          Feb 2008


   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 Resource-Priority
   value within a transaction from the request message, maintaining 
   state of the value for the response. 

   Yet, Section 4.7.3 of RFC 4412 states this

    "If a stateful proxy has authorized a particular Resource-Priority 
     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."

   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


   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


Polk                      Expires Aug 24, 2008                 [Page 3]
Internet-Draft     SIP Resource-Priority in Responses          Feb 2008


   The difference is in the "where" column, in which the "R" is 
   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, 
   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).


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 
   header according to the local policy of the network or UAC.  If the 
   response header value is different than the original request value, 
   it is RECOMMENDED local policy determine which bi-direction  
   priority-value to process the messages within this transaction on, 
   which will likely be at the same priority-value as was in the SIP 
   request.





Polk                      Expires Aug 24, 2008                 [Page 4]
Internet-Draft     SIP Resource-Priority in Responses          Feb 2008

4.2 UAS Behavior

   The UAS MAY include the Resource-Priority header in responses.  
   It is RECOMMENDED the Resource-Priority header value 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.


4.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 Resource-Priority value(s) in a response 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. This Resource-Priority 
   header value MAY be the same or different between request and 
   response, depending on local policy downstream of a proxy (or UAS). 
   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 Resource-Priority enabled SIP entities 
   that are configured to remain aware of the Resource-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.  
   


5.  IANA Considerations

   There are no IANA considerations in this document.  

   [NOTE: If this document is to be published as an RFC, this section 
    can be removed.]


6.  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 Resource-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


Polk                      Expires Aug 24, 2008                 [Page 5]
Internet-Draft     SIP Resource-Priority in Responses          Feb 2008

   marking could grant inappropriate treatment to SIP messages that do 
   not deserve it.


7.  Acknowledgements

   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
           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 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 (2008).

   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 


Polk                      Expires Aug 24, 2008                 [Page 6]
Internet-Draft     SIP Resource-Priority in Responses          Feb 2008

   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
   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 Aug 24, 2008                 [Page 7]

PAFTECH AB 2003-20262026-04-23 05:46:45