Diameter Maintenance and                                K. Carlberg, Ed.
Extensions (DIME)                                                    G11
Internet-Draft                                                 T. Taylor
Intended status: Standards Track                     Huawei Technologies
                                                            Oct 31, 2011                    PT Taylor Consulting
                                                           June 28, 2012

                Diameter Priority Attribute Value Pairs

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering Task
   Force (IETF).  Note that other groups may also distribute working
   documents as Internet-Drafts.  The list of current Internet-Drafts is at

   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."

Copyright Notice

   Copyright (c) 2011 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal Provisions
   Relating to IETF Documents (http://trustee.ietf.org/license-info) in
   effect on the date of publication of this document.  Please review these
   documents carefully, as they describe your rights and restrictions with
   respect to this document.  Code Components extracted from this document
   must include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November 10,
   2008.  The person(s) controlling the copyright in some of this material
   may not have granted the IETF Trust the right to allow modifications of
   such material outside the IETF Standards Process.  Without obtaining an
   adequate license from the person(s) controlling the copyright in such
   materials, this document may not be modified outside the IETF Standards
   Process, and derivative works of it may not be created outside the IETF
   Standards Process, except to format it for publication as an RFC or to
   translate it into languages other than English.


   This document defines Attribute-Value Pair (AVP) containers for various
   priority parameters for use with Diameter and the AAA framework.  The
   parameters themselves are defined in several different protocols that
   operate at either the network or application layer.

1.  Introduction

   This document defines a number of Attribute-Value Pairs (AVP) that can
   be used within the Diameter protocol [I-D.ietf-dime-rfc3588bis] to
   convey a specific set of priority parameters.  These parameters are
   specified in other documents, but are briefly described below.  The
   corresponding AVPs defined in Section 3 are an extension to those
   defined in [RFC5866].  We note that all the priority fields associated
   with the AVPs defined in this document are extensible and allow for
   additional values beyond what may have already been defined or
   registered with IANA.

   Priority influences the distribution of resources. resources, and in turn the QoS
   associated with that resource.  This influence may be probabilistic,
   ranging between (but not including) 0% and 100%, or it may be in the
   form of a guarantee to either receive or not receive the resource.

   The influence attributed to prioritization may also affect QoS, but it
   is not to be confused with QoS.  As an example, if packets of two or more
   flows are contending for the same shared resources, prioritization helps
   determine which packet receives the resource.  However, this allocation
   of resource does not correlate directly to any specific delay or loss
   bounds that have been associated with the packet.

   Another example of how prioritization can be realized is articulated in
   Appendix A.3 (the priority by-pass model) of
   [I-D.ietf-tsvwg-emergency-rsvp]. [RFC6401].  In this case,
   prioritized flows may gain access to resources that are never shared
   with non-prioritized flows.

1.1  Other Priority-Related AVPs

   3rd Generation Partnership Project (3GPP) has defined several Diameter
   AVPs that support prioritization of sessions.  The following AVPs are
   intended to be used for priority services (e.g., Multimedia Priority

     - Reservation-Priority AVP as defined in [ETSI]
     - MPS-Identifier AVP as defined in [3GPPa]
     - Priority-Level AVP (as part of the Allocation Retention Priority
       AVP) as defined in [3GPPb]
     - Session-Priority AVP as defined in [3GPPc][3GPPd]

   Both the Reservation-Priority AVP and the Priority-Level AVP can carry
   priority levels associated with a session initiated by a user.  We note
   that these AVPs are defined from the allotment set aside for 3GPP for
   Diameter-based interfaces. 3GPP has also defined other priority
   information for use on non-Diameter based interfaces.  However, this
   work is not relevant to the present document. interfaces and are particularly aimed at IP Multimedia
   Subsystem (IMS) deployment environments.  The above AVPs defined by 3GPP
   are to be viewed as private implementations operating within a walled
   garden.  In contrast, the priority related AVPs defined below in Section
   3 are not constrained to IMS environments.  The potential applicability
   or use case scenarios that involve coexistance between the above 3GPP
   defined priority related AVPs and those defined below in Section 3 is
   for further study.

2.  Terminology and Abbreviations

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in RFC2119 [RFC2119].

3.  Priority Parameter Encoding

   This section defines a set of AVPs that correlate to priority AVPs. fields
   defined in other protocols.  This set of priority related AVPs is for
   use with the DIAMETER QoS application [RFC5866] and represents a
   continuation of the list of AVPs defined in [RFC5624].  The syntax
   notation used is that of [I-D.ietf-dime-rfc3588bis].  We note that the
   following subsections describe the prioritization field of a given
   protocol as well as the structure of the AVP corresponding to that

   We stress that neither the priority related AVPs, nor the Diameter
   protocol, perform or realize QoS for a session or flow of packets.
   Rather, these AVPs are part of a mechanism to determine validation of
   the priority value.

3.1.  Dual-Priority AVP

   The Dual-Priority AVP is a grouped AVP consisting of two AVPs; the
   Preemption-Priority and the Defending-Priority AVP.  These AVPs are
   derived from the corresponding priority fields specified in the Signaled
   Preemption Priority Policy Element [RFC3181] of RSVP [RFC2205].  The

   In [RFC3181], the Defending-Priority value is set when the reservation
   has been admitted. admitted by the RSVP protocol.  The Preemption-Priority field
   in [RFC3181] of a newly requested reservation is compared with the Defending Priority
   Defending-Priority value of a previously admitted flow.  The actions
   taken based upon the result of this comparison are a function of local

     Dual-Priority  ::= < AVP Header: TBD >
                 { Preemption-Priority }
                 { Defending-Priority }

3.1.1.  Preemption-Priority AVP

   The Preemption-Priority AVP (AVP Code TBD) is of type Unsigned16.
   Higher values represent higher priority.  The value encoded in this AVP
   is the same as the preemption priority value that would be encoded in
   the signaled preemption priority policy element.

3.1.2.  Defending-Priority AVP

   The Defending-Priority AVP (AVP Code TBD) is of type Unsigned16.  Higher
   values represent higher priority.  The value encoded in this AVP is the
   same as the defending priority value that would be encoded in the
   signaled preemption priority policy element.

3.2.  Admission-Priority AVP

   The Admission-Priority AVP (AVP Code TBD) is of type Unsigned8. The
   admission priority of the associated with an RSVP flow is used to increase the
   probability of session establishment for selected RSVP flows.  Higher
   values represent higher priority.  A given admission priority is encoded
   in this information element using the same value as when encoded in the
   admission priority parameter defined in Section 5.1 of
   [I-D.ietf-tsvwg-emergency-rsvp]. [RFC6401].

3.3. SIP-Resource-Priority AVP

   The SIP-Resource-Priority AVP is a grouped AVP consisting of two AVPs,
   the SIP-Resource-Priority-Namespace and the SIP-Resource- Priority-Value
   AVP, which are derived from the corresponding optional header fields in

     SIP-Resource-Priority ::= < AVP Header: TBD >
                    { SIP-Resource-Priority-Namespace }
                    { SIP-Resource-Priority-Value }

3.3.1. SIP-Namespace SIP-Resource-Priority-Namespace AVP

   The SIP-Resource-Priority-Namespace AVP (AVP Code TBD) is of type
   UTF8String. This AVP contains a string that identifies a unique ordered
   set of priority values as described in [rfc4412].

3.3.2 SIP-Resource-Priority-Value AVP

   The SIP-Resource-Priority-Namespace SIP-Resource-Priority-Value AVP (AVP Code TBD) is of type
   UTF8String.  This AVP contains a string (i.e., a Namespace entry) that
   identifies a member of a set of priority values unique to the Namespace.
   Examples of Namespaces and corresponding sets of priorities priority values are
   found in [rfc4412].

3.4.  Application-Level-Resource-Priority AVP

   The Application-Level-Resource-Priority (ALRP) AVP is a grouped AVP
   consisting of two AVPs, the ALRP-Namespace AVP and the ALRP-Value AVP.

     Application-Level-Resource-Priority  ::= < AVP Header: TBD >
                                     { ALRP-Namespace }
                                     { ALRP-Value }

   A description of the semantics of the parameter values can be found in
   [RFC4412] and in [I-D.ietf-tsvwg-emergency-rsvp]. [RFC6401].  The registry set up by [RFC4412] provided
   string values for both the priority namespace and the priority values
   associated with that namespace.
   [I-D.ietf-tsvwg-emergency-rsvp]  [RFC6401] modifies that registry to
   assign numerical values to both the namespace identifiers and the
   priority values within them.  Consequently, SIP-Resource-Priority and
   Application-Level-Resource-Priority AVPs convey the same priority
   semantics, but with differing syntax.  In the former case, an
   alpha-numeric encoding is used, while the latter case is constrained to
   a numeric-only value.

3.4.1.  ALRP-Namespace AVP

   The ALRP-Namespace AVP (AVP Code TBD) is of type Unsigned16.  This AVP
   contains a numerical value identifying the namespace of the
   application-level resource priority as described in
   [I-D.ietf-tsvwg-emergency-rsvp]. [RFC6401].

3.4.2.  ALRP-Value AVP

   The ALRP-Priority ALRP-Value AVP (AVP Code TBD) is of type Unsigned8.  This AVP
   contains the priority value within the ALRP-Namespace, as described in

4.  IANA Considerations
4.1.  AVP Codes

   IANA is requested to allocate AVP codes for Examples of Usage

   Usage of the following Dual-Priority, Admission-Priority, and
   Application-Level-Resource-Priority AVPs that are
   defined can all be illustrated by the
   same simple network scenario, although they would not all typically be
   used in this document.
    |                                       AVP  Section               |
    |AVP Name                               Code Defined   Data the same network. The scenario is as follows:

   An user with special authorization is authenticated by a Network Access
   Server (NAS), which acts as a client to a Diameter Server supporting the
   user's desired application. Once the user has authenticated, the
   Diameter Server provides the NAS with information on the user's
   authorized QoS, including instances of the Dual-Priority,
   Admission-Priority, and/or Application-Level-Resource-Priority AVPs.

   Local policy governs the usage of the values conveyed by these AVPs at
   the NAS to decide whether the flow associated with the user's
   application can be admitted. If the decision is positive, the NAS
   forwards the authorized QoS values as objects in RSVP signalling. In
   particular, the values in the Dual-Priority AVP would be carried in the
   Signaled Preemption Priority Policy Element defined in [RFC3181], and so
   on. Each subsequent node would make its own decision taking account of
   the authorized QoS objects including the priority-related objects, again
   governed by local policy. The example assumes that the user session
   terminates on a host or server in the same administrative domain as the
   NAS, to avoid complications due to the restricted applicability of
   [RFC3181] and [RFC6401].

   Local policy might for example indicate:

     - which value to take if both Admission-Priority and Application-Level-
     Resource-Priority are present;

     - what namespace or namespaces are recognized for use in

     - which resources are subject to pre-emption if the values in
     Dual-Priority are high enough to allow it.

   A scenario for the use of the SIP-Resource-Priority AVP will differ
   slightly from the previous one, in that the initial decision point would
   typically be a SIP proxy receiving a session initiation request
   containing a Resource-Priority header field and deciding whether to
   admit the session to the domain. Like the NAS, the SIP proxy would serve
   as client to a Diameter Server during the process of user
   authentication, and upon successful authentication would receive back
   from the Diameter Server AVPs indicating authorized QoS. Among these
   might be the SIP-Resource-Priority AVP, the contents of which would be
   compared with the contents of the Resource-Priority header field. Again,
   local policy would determine which namespaces would be accepted and what
   the effect of a given priority level would be on the admission decision.

   For the sake of our example, suppose now that the SIP proxy signals
   using RSVP to the border router that will be admitting the media flows
   associated with the session. (This, of course, makes a few assumptions
   on routing and knowledge of that routing at the proxy.) The SIP proxy
   can indicate authorized QoS using various objects. In particular, it can
   map the values from the Resource-Priority header field to the
   corresponding numeric values as defined by [RFC6401], and send it using
   the Application-Level Resource Priority Policy Element.

5.  IANA Considerations

5.1.  AVP Codes

   IANA is requested to allocate AVP codes for the following AVPs that are
   defined in this document.
    |                                       AVP  Section               |
    |AVP Name                               Code Defined   Data Type   |
    |Dual-Priority                          TBD  3.1       Grouped     |
    |Preemption-Priority                    TBD  3.1.1     Unsigned32     Unsigned16  |
    |Defending-Priority                     TBD  3.1.2     Unsigned32     Unsigned16  |
    |Admission-Priority                     TBD  3.2       Unsigned32       Unsigned8   |
    |SIP-Resource-Priority                  TBD  3.3       Grouped     |
    |SIP-Resource-Priority-Namespace        TBD  3.3.1     UTF8String  |
    |SIP-Resource-Priority-Value            TBD  3.3.2     UTF8String  |
    |Application-Level-Resource-Priority    TBD  3.4       Grouped     |
    |ALRP-Namespace                         TBD  3.4.1     Unsigned32  |
    |ALRP-Value                             TBD  3.4.2     Unsigned32  |


5.2.  QoS Profile

   IANA is requested to allocate a new value from the Authentication,
   Authorization, and Accounting (AAA) Parameters/QoS Profile registry
   defined in [RFC5624] for the QoS profile defined in this document. The
   name of the profile is "Resource priority parameters".


6.  Security Considerations

   This document describes an extension for conveying Quality of Service
   information, and therefore follows the same security considerations of
   the Diameter QoS Application [RFC5866].  The values placed in the AVPs
   are not changed by this draft, nor are they changed in the Diameter QoS
   application.  We recommend the use of mechanisms to ensure integrity
   when exchanging information from one protocol to an associated DIAMETER
   AVP.  Examples of these integrity mechanisms would be use of S/MIME with
   SIP RPH, or an INTEGRITY object within a POLICY_DATA object within the
   context of RSVP.  The consequences of changing values in the Priority
   AVPs may result in an allocation of additional or less resources.  If local
   policy exists and values placed

   Changes in the AVPs do not have integrity protection
   (e.g., the use of S/MIME with the SIP RPH, or an INTEGRITY object within
   a POLICY_DATA object), then changes and their consequences may occur.
   Otherwise, integrity protected values SHOULD NOT be ignored with ignored, and
   appropriate protocol specific error messages SHOULD be sent back
   upstream.  Note that we do not use the term "MUST NOT be ignored"
   because local policy of an administrative domain associated with other
   protocols acts as the final arbiter.  In addition, some protocols
   associated with the AVPs defined in this document may be deployed within
   a single administrative domain or "walled garden", and thus possible
   changes in values would reflect policies of that administrative domain.

   The security considerations of the Diameter protocol itself are discussed
   in [I-D.ietf-dime-rfc3588bis].  Use of the AVPs defined in this document
   MUST take into consideration the security issues and requirements of the
   Diameter base protocol.

   The authors also recommend that readers should familiarize themselves
   with the security considerations of the various protocols listed in the
   Normative References.  This is because values placed in the AVPs defined
   in this draft are set/changed by other protocols.


7.  Acknowledgements

   We would like to thank Lionel Morand, Janet Gunn, Piers O'Hanlon for the
   commenst on the draft, and O'Hanlon, Lars
   Eggert, Jan Engelhardt, Francois LeFaucheur, John Loughney, An Nguyen,
   Dave Oran, James Polk, Martin Stiemerling, and Magnus Westerlund Westerlund, David
   Harrington, Robert Sparks, and Dan Romascanu for their help with resolving
   problems regarding the Admission Priority and review and/or
   comments on previous versions of the ALRP parameter.

7. draft.

8.  References
8.1.  Normative References

          Fajardo, V., Arkko, J., Loughney, J., and G. Zorn,
          "Diameter Base Protocol", draft-ietf-dime-rfc3588bis-26
          (work in progress), January 2011.

          Faucheur, F., Polk, J., and K. Carlberg, "Resource
          ReSerVation Protocol (RSVP) Extensions for Emergency
          Services", draft-ietf-tsvwg-emergency-rsvp-14 (work in
          progress), Nov 2009.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2205] Braden, B., et. al., "Resource ReSerVation Protocol (RSVP)
             -- Version 1 Functional Specification", RFC 2205, September

   [RFC3181]  Herzog, S., "Signaled Preemption Priority Policy Element",
             RFC 3181, October 2001.

   [RFC4412]  Schulzrinne, H. and J. Polk, "Communications Resource
             Priority for the Session Initiation Protocol (SIP)",
             RFC 4412, February 2006.

   [RFC5624] Korhonen, J., Tschofenig, H., and E. Davies, "Quality of
            Service Parameters for Usage with Diameter", RFC 5624,
            Aug 2009.

   [RFC5866] Sun, D., et. al., "Diameter Quality-of-Service
             Application", RFC 5866, May 2010.


   [RFC6401] Faucheur, F., Polk, J., and K. Carlberg, "Resource
             ReSerVation Protocol (RSVP) Extensions for Emergency
             Services", RFC 6401, Oct 2011.

8.2.  Informative References

   [3GPPa] "TS 29.214: Policy and charging control over Rx reference
           point", 3GPP, March, 2011

   [3GPPb] "TS 29.212: Policy and charging control over Gx reference
           point", 3GPP, October, 2010

   [3GPPc] "TS 29.229: Cx and Dx interfaces based on the Diameter
           protocol; Protocol details", 3GPP, September, 2010

   [3GPPd] "TS 29.329: Sh interface based on the Diameter protocol;
           Protocol details", 3GPP, September, 2010

   [ETSI] "TS 183 017: Telecommunications and Internet Converged
          Services and Protocols for Advanced Networking (TISPAN);
          Resource and Admission Control", ETSI

Authors' Addresses

   Ken Carlberg (editor)          Tom Taylor
   G11                            Huawei Technologies                            PT Taylor Consulting
   1601 Clarendon Dr              1852 Lorraine Ave
   Arlington, VA 22209            Ottawa
   United States                  Canada

   Email: carlberg@g11.org.uk     Email: tom111.taylor@bell.net tom.taylor.stds@gmail.com