Skip to main content

Diameter Quality-of-Service Application
draft-ietf-dime-diameter-qos-15

The information below is for an old version of the document that is already published as an RFC.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 5866.
Authors Tina Tsou (Ting ZOU) , avri doria , Hannes Tschofenig , Dong Sun , Pete McCann , Glen Zorn
Last updated 2015-10-14 (Latest revision 2010-03-07)
Replaces draft-tschofenig-dime-diameter-qos
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status Proposed Standard
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state (None)
Document shepherd (None)
IESG IESG state Became RFC 5866 (Proposed Standard)
Action Holders
(None)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD Dan Romascanu
Send notices to vfajardo@tari.toshiba.com
draft-ietf-dime-diameter-qos-15
Diameter Maintenance and                                     D. Sun, Ed.
Extensions (DIME)                                         Alcatel-Lucent
Internet-Draft                                                 P. McCann
Intended status: Standards Track                           Motorola Labs
Expires: September 8, 2010                                 H. Tschofenig
                                                  Nokia Siemens Networks
                                                                 T. Tsou
                                                                  Huawei
                                                                A. Doria
                                          Lulea University of Technology
                                                            G. Zorn, Ed.
                                                             Network Zen
                                                           March 7, 2010

                Diameter Quality of Service Application
                  draft-ietf-dime-diameter-qos-15.txt

Abstract

   This document describes the framework, messages and procedures for
   the Diameter Quality of Service (QoS) application.  The Diameter QoS
   application allows network elements to interact with Diameter servers
   when allocating QoS resources in the network.  In particular, two
   modes of operation, namely "Pull" and "Push", are defined.

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), 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 September 8, 2010.

Sun, et al.             Expires September 8, 2010               [Page 1]
Internet-Draft          Diameter QoS Application              March 2010

Copyright Notice

   Copyright (c) 2010 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 BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Framework  . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.1.  Network Element Functional Model . . . . . . . . . . . . .  8
     3.2.  Implications of Endpoint QoS Capabilities  . . . . . . . . 10
       3.2.1.  Endpoint Categories  . . . . . . . . . . . . . . . . . 10
       3.2.2.  Interaction Modes Between the Authorizing Entity
               and Network Element  . . . . . . . . . . . . . . . . . 10
     3.3.  Authorization Schemes  . . . . . . . . . . . . . . . . . . 12
       3.3.1.  Pull Mode Schemes  . . . . . . . . . . . . . . . . . . 12
       3.3.2.  Push Mode Schemes  . . . . . . . . . . . . . . . . . . 15
     3.4.  QoS Application Requirements . . . . . . . . . . . . . . . 16
   4.  QoS Application Session Establishment and Management . . . . . 20
     4.1.  Parties Involved . . . . . . . . . . . . . . . . . . . . . 20
     4.2.  Session Establishment  . . . . . . . . . . . . . . . . . . 20
       4.2.1.  Session Establishment for Pull Mode  . . . . . . . . . 21
       4.2.2.  Session Establishment for Push Mode  . . . . . . . . . 23
       4.2.3.  Discovery and Selection of Peer Diameter QoS
               Application Node . . . . . . . . . . . . . . . . . . . 26
     4.3.  Session Re-authorization . . . . . . . . . . . . . . . . . 26
       4.3.1.  Client-Side Initiated Re-Authorization . . . . . . . . 27
       4.3.2.  Server-Side Initiated Re-Authorization . . . . . . . . 28
     4.4.  Session Termination  . . . . . . . . . . . . . . . . . . . 29
       4.4.1.  Client-Side Initiated Session Termination  . . . . . . 29
       4.4.2.  Server-Side Initiated Session Termination  . . . . . . 30
   5.  QoS Application Messages . . . . . . . . . . . . . . . . . . . 32
     5.1.  QoS-Authorization Request (QAR)  . . . . . . . . . . . . . 33
     5.2.  QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 33
     5.3.  QoS-Install Request (QIR)  . . . . . . . . . . . . . . . . 34
     5.4.  QoS-Install Answer (QIA) . . . . . . . . . . . . . . . . . 35

Sun, et al.             Expires September 8, 2010               [Page 2]
Internet-Draft          Diameter QoS Application              March 2010

     5.5.  Re-Auth-Request (RAR)  . . . . . . . . . . . . . . . . . . 35
     5.6.  Re-Auth-Answer (RAA) . . . . . . . . . . . . . . . . . . . 36
   6.  QoS Application State Machine  . . . . . . . . . . . . . . . . 37
     6.1.  Supplemented States for Push Mode  . . . . . . . . . . . . 37
   7.  QoS Application AVPs . . . . . . . . . . . . . . . . . . . . . 39
     7.1.  Reused Base Protocol AVPs  . . . . . . . . . . . . . . . . 39
     7.2.  QoS Application Defined AVPs . . . . . . . . . . . . . . . 39
   8.  Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 41
   9.  Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
     9.1.  Example Call Flow for Pull Mode (Success Case) . . . . . . 42
     9.2.  Example Call Flow for Pull Mode (Failure Case) . . . . . . 44
     9.3.  Example Call Flow for Push Mode  . . . . . . . . . . . . . 47
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 50
     10.1. AVP Codes  . . . . . . . . . . . . . . . . . . . . . . . . 50
     10.2. Application IDs  . . . . . . . . . . . . . . . . . . . . . 50
     10.3. Command Codes  . . . . . . . . . . . . . . . . . . . . . . 50
   11. Security Considerations  . . . . . . . . . . . . . . . . . . . 51
   12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 53
   13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 54
   14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 55
     14.1. Normative References . . . . . . . . . . . . . . . . . . . 55
     14.2. Informative References . . . . . . . . . . . . . . . . . . 55
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 57

Sun, et al.             Expires September 8, 2010               [Page 3]
Internet-Draft          Diameter QoS Application              March 2010

1.  Introduction

   This document describes the framework, messages and procedures for
   the Diameter [RFC3588] Quality of Service (QoS) application.  The
   Diameter QoS application allows Network Elements (NEs) to interact
   with Diameter servers when allocating QoS resources in the network.

   Two modes of operation are defined.  In the first, called "Pull"
   mode, the network element requests QoS authorization from the
   Diameter server based on some trigger (such as a QoS signaling
   protocol) that arrives along the data path.  In the second, called
   "Push" mode, the Diameter server pro-actively sends a command to the
   network element(s) to install QoS authorization state.  This could be
   triggered, for instance, by off-path signaling, such as Session
   Initiation Protocol (SIP) [RFC3261] call control.

   A set of command codes is specified that allows a single Diameter QoS
   application server to support both Pull and Push modes based on the
   requirements of network technologies, deployment scenarios and end-
   host capabilities.  In conjunction with Diameter AVPs defined in
   [I-D.ietf-dime-qos-attributes] and in [RFC5624], this document
   depicts basic call flow procedures used to establish, modify and
   terminate a Diameter QoS application session.

   This document defines a number of Diameter-encoded Attribute Value
   Pairs (AVPs), which are described using a modified version of the
   Augmented Backus-Naur Form (ABNF), see [RFC3588].

Sun, et al.             Expires September 8, 2010               [Page 4]
Internet-Draft          Diameter QoS Application              March 2010

2.  Terminology

   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 RFC 2119 [RFC2119].

   The following terms are used in this document:

   AAA Cloud
      An infrastructure of Authentication, Authorization and Accounting
      (AAA) entities (clients, agents, servers) communicating via a AAA
      protocol over trusted, secure connections.  It offers
      authentication, authorization and accounting services to
      applications in local and roaming scenarios.  Diameter and RADIUS
      [RFC2865] are both widely deployed AAA protocols.

   Application Endpoint (AppE)
      An Application Endpoint is an entity in an end-user device that
      exchanges signaling messages with Application Servers or directly
      with other Application Endpoints.  Based on the result of this
      signaling, the Endpoint may make a request for QoS from the
      network.  For example, a SIP User Agent is one kind of Application
      Endpoint.

   Application Server (AppS)
      An Application Server is an entity that exchanges signaling
      messages with an Application Endpoint (see above).  It may be a
      source of authorization for QoS-enhanced application flows.  For
      example, a SIP server is one kind of Application Server.

   Authorizing Entity (AE)
      The Authorizing Entity is a Diameter server that supports the QoS
      application.  It is responsible for authorizing QoS requests for a
      particular application flow or aggregate.  The Authorizing Entity
      may be a standalone entity or may be integrated with an
      Application Server and may be co-located with a subscriber
      database.  This entity corresponds to the Policy Decision Point
      (PDP) [RFC2753].

   Network Element (NE)
      A QoS aware router that acts as a Diameter client for the QoS
      application.  This entity triggers the protocol interaction for
      the Pull mode, and it is the recipient of QoS information in the
      Push mode.  The Diameter Client at an Network Element corresponds
      to the Policy Enforcement Point (PEP) [RFC2753].

Sun, et al.             Expires September 8, 2010               [Page 5]
Internet-Draft          Diameter QoS Application              March 2010

   Pull Mode
      In this mode, the QoS authorization process is invoked by the QoS
      reservation request received from the Application Endpoint.  The
      Network Element then requests the QoS authorization decision from
      the Authorizing Entity.

   Push Mode
      In this mode, the QoS authorization process is invoked by the
      request from Application Server or local policies in the
      Authorizing Entity.  The Authorizing Entity then installs the QoS
      authorization decision to the Network Element directly.

   Resource Requesting Entity (RRE)
      A Resource Requesting Entity is a logical entity that supports the
      protocol interaction for QoS resources.  The RRE resides in the
      end-host and is able to communicate with peer logical entities in
      an Authorizing Entity or a Network Element to trigger the QoS
      authorization process.

Sun, et al.             Expires September 8, 2010               [Page 6]
Internet-Draft          Diameter QoS Application              March 2010

3.  Framework

   The Diameter QoS application runs between a NE (acting as a Diameter
   client) and the resource AE (acting as a Diameter server).  A high-
   level picture of the resulting architecture is shown in Figure 1.

               +-------+---------+
               |   Authorizing   |
               |     Entity      |
               |(Diameter Server)|
               +-------+---------+
                       |
                       |
                /\-----+-----/\
            ////               \\\\
          ||       AAA Cloud       ||
         |   (Diameter application)  |
          ||                       ||
            \\\\               ////
                \-------+-----/
                        |
       +---+--+   +-----+----+   +---+--+
       |      |   |    NE    |   |      |    Media
       +  NE  +===+(Diameter +===+  NE  +=============>>
       |      |   |  Client) |   |      |    Flow
       +------+   +----------+   +------+

               Figure 1: An Architecture Supporting QoS-AAA

   Figure 1 depicts NEs through which media flows need to pass, a cloud
   of AAA servers, and an AE.  Note that there may be more than one
   router that needs to interact with the AAA cloud along the path of a
   given application flow, although the figure only depicts one for
   clarity.

   In some deployment scenarios, NEs may request authorization through
   the AAA cloud based on an incoming QoS reservation request.  The NE
   will route the request to a designated AE.  The AE will return the
   result of the authorization decision.  In other deployment scenarios,
   the authorization will be initiated upon dynamic application state,
   so that the request must be authenticated and authorized based on
   information from one or more AppSs.  After receiving the
   authorization request from the AppS or the NE, the AE decides the
   appropriate mode (i.e., Push or Pull).  The usage Push or Pull mode
   can be determined by the authorizing entity either statically or
   dynamically.  Static determination might be based on a configurable
   defined policy in the authorizing entity, while dynamic determination

Sun, et al.             Expires September 8, 2010               [Page 7]
Internet-Draft          Diameter QoS Application              March 2010

   might be based on information received from an application server.
   For Push mode, the authorizing entity needs to identify the
   appropriate NE(s) to which QoS authorization information needs to be
   pushed.  It might determine this based on information received from
   the AppS, such as the IP addresses of media flows.

   In some deployment scenarios, there is a mapping between access
   network type and the service logic (e.g., selection of the Push or
   Pull mode, and other differentiated handling of the resource
   admission and control).  The access network type might be derived
   from the authorization request from the AppS or the NE, and in this
   case, the authorizing entity can identify the corresponding service
   logic based on the mapping.

   If the interface between the NEs and the AAA cloud is identical
   regardless of whether the AE communicates with an AppS or not,
   routers are insulated from the details of particular applications and
   need not know that Application Servers are involved.  Also, the AAA
   cloud may also encompass business relationships such as those between
   network operators and third-party application providers.  This
   enables flexible intra- or inter-domain authorization, accounting,
   and settlement.

3.1.  Network Element Functional Model

   Figure 2 depicts a logical operational model of resource management
   in a router.

Sun, et al.             Expires September 8, 2010               [Page 8]
Internet-Draft          Diameter QoS Application              March 2010

               +-------------------------------------------------------+
               | DIAMETER Client                                       |
               | Functionality                                         |
               | +---------------++-----------------++---------------+ |
               | | User          || QoS Application || Accounting    | |
               | | Authentication|| Client          || Client (e.g., | |
               | | Client        || (Authorization  ||for QoS Traffic| |
               | +---------------+| of QoS Requests)|+---------------+ |
               |                  +-----------------+                  |
               +-------------------------------------------------------+
                                              ^
                                              v
            +--------------+            +----------+
            |QoS Signaling |            | Resource |
            |Msg Processing|<<<<<>>>>>>>|Management|
            +--------------+            +----------+
                 .  ^   |              *      ^
                 |  v   .            *        ^
            +-------------+        *          ^
            |Signaling msg|       *           ^
            | Processing  |       *           V
            +-------------+       *           V
                 |      |         *           V
     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                 .      .         *           V
                 |      |         *     .............................
                 .      .         *     .   Traffic Control         .
                 |      |         *     .                +---------+.
                 .      .         *     .                |Admission|.
                 |      |         *     .                | Control |.
       +----------+    +------------+   .                +---------+.
   <.->|  Input   |    | Outgoing   |<.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->
       |  Packet  |    | Interface  |   .+----------+    +---------+.
   ===>|Processing|====| Selection  |===.|  Packet  |====| Packet  |.=>
       |          |    |(Forwarding)|   .|Classifier|     Scheduler|.
       +----------+    +------------+   .+----------+    +---------+.
                                        .............................
           <.-.-> = signaling flow
           =====> = data flow (sender --> receiver)
           <<<>>> = control and configuration operations
           ****** = routing table manipulation

                Figure 2: Network Element Functional Model

   Processing of incoming QoS reservation requests includes three
   actions: admission control, authorization and resource reservation.

   The admission control function provides information about available

Sun, et al.             Expires September 8, 2010               [Page 9]
Internet-Draft          Diameter QoS Application              March 2010

   resources and determines whether there are enough resources to
   fulfill the request.  Authorization is performed by the Diameter
   client, which involves contacting an authorization entity through the
   AAA cloud shown in Section 3.  If both checks are successful, the
   authorized QoS parameters are set in the packet classifier and the
   packet scheduler.  Note that the parameters passed to the Traffic
   Control function may be different from the ones requested QoS
   (depending on the authorization decision).  Once the requested
   resource is granted, the Resource Management function provides
   accounting information to the AE via the Diameter client.

3.2.  Implications of Endpoint QoS Capabilities

3.2.1.  Endpoint Categories

   The QoS capabilities of Application Endpoints are varied, and can be
   categorized as follows:

   Category 1
      A Category 1 Application Endpoint has no QoS capability at either
      the application or the network level.  This type of AppE may set
      up a connection through application signaling, but it is incapable
      of specifying resource/QoS requirements through either application
      or network-level signaling.

   Category 2
      A Category 2 Application Endpoint only has QoS capability at the
      application level.  This type of AppE is able to set up a
      connection through application signaling with certain resource/QoS
      requirements (e.g., application attributes), but it is unable to
      signal any resource/QoS requirements at the network level.

   Category 3
      A Category 3 Application Endpoint has QoS capability at the
      network level.  This type of AppE may set up a connection through
      application signaling, translate service characteristics into
      network resource/QoS requirements (e.g., network QoS class)
      locally, and request the resources through network signaling,
      e.g., Resource ReSerVation Protocol (RSVP) [RFC2205] or NSIS
      [I-D.ietf-nsis-qos-nslp].

3.2.2.  Interaction Modes Between the Authorizing Entity and Network
        Element

   Different QoS mechanisms are employed in packet networks.  Those QoS
   mechanisms can be categorized into two schemes: IntServ [RFC2211],
   [RFC2212] and DiffServ [RFC2474].  In the IntServ scheme, network
   signaling (e.g., RSVP, NSIS, or link specific signaling) is commonly

Sun, et al.             Expires September 8, 2010              [Page 10]
Internet-Draft          Diameter QoS Application              March 2010

   used to initiate a request from an AppE for the desired QoS resource.
   In the DiffServ scheme, QoS resources are provisioned based upon some
   predefined QoS service classes rather than AppE-initiated, flow-based
   QoS requests.

   It is obvious that the eligible QoS scheme is correlated to the
   AppE's capability in the context of QoS authorization.  Since
   Category 1 and 2 AppEs cannot initiate the QoS resource requests by
   means of network signaling, using the current mechanism of IntServ
   model to signal QoS information across the network is not applicable
   to them in general.  Depending on network technology and operator
   requirements, a Category 3 AppE may either make use of network
   signaling for resource requests or not.

   The diversity of QoS capabilities of endpoints and QoS schemes of
   network technology leads to the distinction on the interaction mode
   between QoS authorization system and underlying NEs.  When the
   IntServ scheme is employed by a Category 3 endpoint, the
   authorization process is typically initiated by a NE when a trigger
   is received from the endpoint such as network QoS signaling.  In the
   DiffServ scheme, since the NE is unable to request the resource
   authorization on its own initiative, the authorization process is
   typically triggered by either the request of AppSs or policies
   defined by the operator.

   As a consequence, two interaction modes are needed in support of
   different combinations of QoS schemes and endpoint's QoS
   capabilities: Push mode and Pull mode.

   Push mode
      The QoS authorization process is triggered by AppSs or local
      network conditions (e.g., time of day on resource usage and QoS
      classes), and the authorization decisions are installed by the AE
      to the network element on its own initiative without explicit
      request.  In order to support the push mode, the AE (i.e.,
      Diameter server) should be able to initiate a Diameter
      authorization session to communicate with the NE (i.e., Diameter
      client) without any pre-established connection from the network
      element.

   Pull mode
      The QoS authorization process is triggered by the network
      signaling received from end-user equipment or by a local event in
      the NE according to pre-configured policies, and authorization
      decisions are produced upon the request of the NE.  In order to
      support the pull mode, the NE (i.e., Diameter client) will
      initiate a Diameter authorization session to communicate with the
      authorizing entity (i.e., Diameter server).

Sun, et al.             Expires September 8, 2010              [Page 11]
Internet-Draft          Diameter QoS Application              March 2010

   For Category 1 and 2 Application Endpoints, Push mode is REQUIRED.
   For a Category 3 AppE, either Push mode or Pull mode MAY be used.

   Push mode is applicable to certain networks, for example, Cable
   network, DSL, Ethernet, and Diffserv-enabled IP/MPLS.  The Pull mode
   is more appropriate to IntServ-enabled IP networks or certain
   wireless networks such as the GPRS networks defined by 3GPP.  Some
   networks (for example, WiMAX) may require both Push and Pull modes.

3.3.  Authorization Schemes

3.3.1.  Pull Mode Schemes

   Three types of basic authorization schemes for Pull mode exist: one
   type of two-party scheme and two types of three-party schemes.  The
   notation adopted here is in respect to the entity that performs the
   QoS authorization (QoS Authz).  The authentication of the QoS
   requesting entity might be done at the NE as part of the QoS
   signaling protocol, or by an off-path protocol (on the application
   layer or for network access authentication) or the AE might be
   contacted with request for authentication and authorization of the
   QoS requesting entity.  From the Diameter QoS application's point of
   view these schemes differ in type of information that need to be
   carried.  Here we focus on the 'Basic Three Party Scheme' (see
   Figure 3) and the 'Token-based Three Party Scheme' (see Figure 4).
   In the 'Two Party Scheme', the QoS RRE is authenticated by the NE and
   the authorization decision is made either locally at the NE itself or
   offloaded to a trusted entity (most likely within the same
   administrative domain).  In the two-party case no Diameter QoS
   protocol interaction is required.

Sun, et al.             Expires September 8, 2010              [Page 12]
Internet-Draft          Diameter QoS Application              March 2010

                                        +--------------+
                                        | Authorizing  |
                                        | Entity       |
                                        | authorizing  | <......+
                                        | resource     |        .
                                        | request      |        .
                                        +------------+-+        .
                                        --^----------|--   .    .
                                   /////  |          |  \\\\\   .
                                 //       |          |       \\ .
                                |     QoS | QoS AAA  | QoS     |.
                                |    authz| protocol |authz    |.
                                |     req.|          | res.    |.
                                 \\       |          |       // .
                                   \\\\\  |          |  /////   .
                          QoS           --|----------v--   .    .
       +-------------+    request       +-+------------+        .
       |  Entity     |----------------->| NE           |        .
       |  requesting |                  | performing   |        .
       |  resource   |granted / rejected| QoS          |  <.....+
       |             |<-----------------| reservation  | financial
       +-------------+                  +--------------+ settlement

                       Figure 3: Three Party Scheme

   In the 'Basic Three Party Scheme' a QoS reservation request that
   arrives at the NE is forwarded to the Authorizing Entity (e.g., in
   the user's home network), where the authorization decision is made.
   As shown, financial settlement - a business relationship, such as a
   roaming agreement, between the visited network and the home network
   ensures that the visited network is compensated for the resources
   consumed by the user via the home network.

Sun, et al.             Expires September 8, 2010              [Page 13]
Internet-Draft          Diameter QoS Application              March 2010

                               financial settlement
                                ...........................+
      Authorization             V             -------      .
      Token Request   +--------------+      / QoS AAA \    .
      +-------------->|              |     /  protocol \   .
      |               | Authorizing  +--------------+   \  .
      |               | Entity       |   |          |    | .
      |        +------+              |<--+----+     |    | .
      |        |      +--------------+  |QoS  |     |QoS  |.
      |        |                        |authz|     |authz|.
      |        |Authorization           |req.+|     |res. |.
      |        |Token                   |Token|     |     |.
      |        |                         |    |     | .  | .
      |        |                          \   |     | . /  .
      |        |                            \ |     | /    .
      |        |      QoS request             |-----V .    .
    +-------------+ + Authz. Token   +--------+-----+      .
    |  Entity     |----------------->| NE           |      .
    |  requesting |                  | performing   |      .
    |  resource   |granted / rejected| QoS          | <....+
    |             |<-----------------| reservation  |
    +-------------+                  +--------------+

                 Figure 4: Token-based Three Party Scheme

   The 'Token-based Three Party Scheme' is applicable to environments
   where a previous protocol interaction is used to request
   authorization tokens to assist the authorization process at the NE or
   the AE [RFC3521].

   The QoS RRE may be involved in an application layer protocol
   interaction, for example using SIP [RFC3313], with the AE.  As part
   of this interaction, authentication and authorization at the
   application layer might take place.  As a result of a successful
   authorization decision, which might involve the user's home AAA
   server, an authorization token is generated by the AE (e.g., the SIP
   proxy and an entity trusted by the SIP proxy) and returned to the end
   host for inclusion into the QoS signaling protocol.  The
   authorization token will be used by a NE that receives the QoS
   signaling message to authorize the QoS request.  Alternatively, the
   Diameter QoS application will be used to forward the authorization
   token to the user's home network.  The authorization token allows
   that the authorization decision performed at the application layer
   can be associated with a corresponding QoS signaling session.  Note
   that the authorization token might either refer to established state
   concerning the authorization decision or the token might itself carry
   the authorized parameters (protected by a digital signature or a
   keyed message digest to prevent tampering).  In the latter case the

Sun, et al.             Expires September 8, 2010              [Page 14]
Internet-Draft          Diameter QoS Application              March 2010

   authorization token may contain several pieces of information
   pertaining to the authorized application session, but at minimum it
   should contain:
   o  An identifier for the AE (for example, an AppS) that issued the
      authorization token
   o  An identifier referring to a specific application protocol session
      for which the token was issued and
   o  A keyed message digest or digital signature protecting the content
      of the authorization token

   A possible structure for the authorization token and the policy
   element carrying it are proposed in context of RSVP [RFC3520].

   In the scenario mentioned above, where the QoS resource requesting
   entity is involved in an application layer protocol interaction with
   the AE, it may be worthwhile to consider a token-less binding
   mechanism also.  The application layer protocol interaction may have
   indicated the transport port numbers at the QoS RRE where it might
   receive media streams (for example in SIP/SDP [RFC4566] signalling,
   these port numbers are advertised).  The QoS RRE may also use these
   port numbers in some IP filter indications to the NE performing QoS
   reservation so that it may properly tunnel the inbound packets.  The
   NE performing QoS reservation will forward the QoS resource
   requesting entity's IP address and the IP filter indications to the
   AE in the QoS authorization request.  The AE will use the QoS RRE's
   IP address and the port numbers in the IP filter indication, which
   will match the port numbers advertised in the earlier application
   layer protocol interaction, to identify the right piece of policy
   information to be sent to the NE performing the QoS reservation in
   the QoS Authorization. response.

3.3.2.  Push Mode Schemes

   The push mode can be further divided into two types: endpoint-
   initiated and network-initiated.  In the former case, the
   authorization process is triggered by AppS in response to an explicit
   QoS request from an endpoint through application signaling, e.g.,
   SIP; in the latter case, the authorization process is triggered by
   the AppS without an explicit QoS request from an endpoint.

   In the endpoint-initiated scheme, the QoS RRE (i.e., the AppE)
   determines the required application level QoS and sends a QoS request
   through an application signaling message.  The AppS will extract
   application-level QoS information and trigger the authorization
   process to the AE.  In the network-initiated scheme, the AE and/or
   AppS should derive and determine the QoS requirements according to
   application attribute, subscription and endpoint's capability when
   the endpoint does not explicitly indicate the QoS attributes.  The AE

Sun, et al.             Expires September 8, 2010              [Page 15]
Internet-Draft          Diameter QoS Application              March 2010

   makes an authorization decision based on application level QoS
   information, network policies, end-user subscription, network
   resource availability, etc., and installs the decision to NE
   directly.

   A Category 1 AppE requires network-initiated Push mode and a Category
   2 AppE may use either type of Push Mode.

                               financial settlement
                                ...........................+
      Application               V             -------      .
      signaling msg   +--------------+      / QoS AAA \    .
      +-------------->|              |     /  protocol \   .
      |               | Authorizing  +--------------+   \  .
      |               | Entity       |   |          |    | .
      |               +              |<--+----+     |    | .
      |               +--------------+  |QoS  |     |QoS  |.
      |                                install|     |install
      |                                 |rsp. |     |req. |.
      |                                 |     |     |     |.
      |                                  |    |     | .  | .
      |                                   \   |     | . /  .
      |                                     \ |     | /    .
      V                                       |-----V .    .
    +-------------+                  +--------+-----+      .
    |  Entity     |                  | NE           |      .
    |  requesting |                  | performing   |      .
    |  resource   |QoS rsrc granted  | QoS          | <....+
    |             |<-----------------| reservation  |
    +-------------+                  +--------------+

                      Figure 5: Scheme for Push Mode

3.4.  QoS Application Requirements

   A QoS application must meet a number of requirements applicable to a
   diverse set of networking environments and services.  It should be
   compatible with different deployment scenarios having specific QoS
   signaling models and security issues.  Satisfying the requirements
   listed below while interworking with QoS signaling protocols, a
   Diameter QoS application should accommodate the capabilities of the
   QoS signaling protocols rather than introducing functional
   requirements on them.  A list of requirements for a QoS authorization
   application is provided here:

Sun, et al.             Expires September 8, 2010              [Page 16]
Internet-Draft          Diameter QoS Application              March 2010

   Identity-based Routing
      The Diameter QoS application MUST route AAA requests to the
      Authorizing Entity, based on the provided identity of the QoS
      requesting entity or the identity of the AE encoded in the
      provided authorization token.

   Flexible Authentication Support
      The Diameter QoS application MUST support a variety of different
      authentication protocols for verification of authentication
      information present in QoS signaling messages.  The support for
      these protocols MAY be provided indirectly by tying the signaling
      communication for QoS to a previous authentication protocol
      exchange (e.g., using network access authentication).

   Making an Authorization Decision
      The Diameter QoS application MUST exchange sufficient information
      between the AE and the enforcing entity (and vice versa) to
      compute an authorization decision and to execute this decision.

   Triggering an Authorization Process
      The Diameter QoS application MUST allow periodic and event
      triggered execution of the authorization process, originated at
      the enforcing entity or even at the AE.

   Associating QoS Reservations and Application State
      The Diameter QoS application MUST carry information sufficient for
      an AppS to identify the appropriate application session and
      associate it with a particular QoS reservation.

   Dynamic Authorization
      It MUST be possible for the Diameter QoS application to push
      updates towards the NE(s) from authorizing entities.

   Bearer Gating
      The Diameter QoS application MUST allow the AE to gate (i.e.,
      enable/disable) authorized application flows based on, e.g.,
      application state transitions.

   Accounting Records
      The Diameter QoS application MAY define QoS accounting records
      containing duration, volume (byte count) usage information and
      description of the QoS attributes (e.g., bandwidth, delay, loss
      rate) that were supported for the flow.

Sun, et al.             Expires September 8, 2010              [Page 17]
Internet-Draft          Diameter QoS Application              March 2010

   Sending Accounting Records
      The NE SHOULD be able to send accounting records for a particular
      QoS reservation state to an accounting entity.

   Failure Notification
      The Diameter QoS application MUST allow the NE to report failures,
      such as loss of connectivity due to movement of a mobile node or
      other reasons for packet loss, to the authorizing entity.

   Accounting Correlation
      The Diameter QoS application MAY support the exchange of
      sufficient information to allow for correlation between accounting
      records generated by the NEs and accounting records generated by
      an AppS.

   Interaction with other AAA Applications
      Interaction with other AAA applications, such as the Diameter
      Network Access (NASREQ) application [RFC4005], may be required for
      exchange of authorization, authentication and accounting
      information.

   In deployment scenarios where authentication of the QoS reservation
   requesting entity (e.g., the user) is done by means outside the
   Diameter QoS application protocol interaction, the AE is contacted
   only with a request for QoS authorization.  Authentication might have
   taken place already via the interaction with the Diameter NASREQ
   application or as part of the QoS signaling protocol (e.g., Transport
   Layer Security (TLS) [RFC5246] in the General Internet Signaling
   Transport (GIST) protocol [I-D.ietf-nsis-ntlp]).

   Authentication of the QoS reservation requesting entity to the AE is
   necessary if a particular Diameter QoS application protocol cannot be
   related (or if there is no intention to relate it) to a prior
   authentication.  In this case the AE MUST authenticate the QoS
   reservation requesting entity in order to authorize the QoS request
   as part of the Diameter QoS protocol interaction.

   The document refers to three types of sessions that need to be
   properly correlated.

   QoS Signaling Session
      The time period during which a QoS signaling protocol establishes,
      maintains and deletes a QoS reservation state at the QoS network
      element is referred to as QoS signaling session.  Different QoS
      signaling protocols use different ways to identify QoS signaling
      sessions.  The same applies to different usage environments.
      Currently, this document supports three types of QoS session

Sun, et al.             Expires September 8, 2010              [Page 18]
Internet-Draft          Diameter QoS Application              March 2010

      identifiers, namely a signaling session id (e.g., the Session
      Identifier used by the NSIS protocol suite), a flow id (e.g.,
      identifier assigned by an application to a certain flow as used in
      the 3GPP) and a flow description based on the IP parameters of the
      flow's end points.

   Diameter Authorization Session
      The time period, for which a Diameter server authorizes a
      requested service (i.e., QoS resource reservation) is referred to
      as a Diameter authorization session.  It is identified by a
      Session-Id included in all Diameter messages used for management
      of the authorized service (initial authorization, re-
      authorization, termination), see [RFC3588].

   Application-layer Session
      The application layer session identifies the duration of an
      application layer service which requires provision of certain QoS.
      An application layer session identifier is provided by the QoS
      requesting entity in the QoS signaling messages, for example as
      part of the authorization token.  In general, the application
      session identifier is opaque to the QoS aware NEs.  It is included
      in the authorization request message sent to the AE and helps it
      to correlate the QoS authorization request to the application
      session state information.

   Correlating these sessions is done at each of the three involved
   entities: The QoS requesting entity correlates the application with
   the QoS signaling sessions.  The QoS NE correlates the QoS signaling
   session with the Diameter authorization sessions.  The AE SHOULD bind
   the information about the three sessions together.  Note that in
   certain scenarios not all of the sessions are present.  For example,
   the application session might not be visible to QoS signaling
   protocol directly if there is no binding between the application
   session and the QoS requesting entity using the QoS signaling
   protocol.

Sun, et al.             Expires September 8, 2010              [Page 19]
Internet-Draft          Diameter QoS Application              March 2010

4.  QoS Application Session Establishment and Management

4.1.  Parties Involved

   Authorization models supported by this application include three
   parties:
   o  Resource Requesting Entity
   o  Network Elements (Diameter QoS application (DQA) client)
   o  Authorizing Entity (Diameter QoS application (DQA) server)

   Note that the QoS RRE is only indirectly involved in the message
   exchange.  This entity provides the trigger to initiate the Diameter
   QoS protocol interaction by transmitting QoS signaling messages.  The
   Diameter QoS application is only executed between the Network Element
   (i.e., DQA client) and the Authorizing Entity (i.e., DQA server).

   The QoS RRE may communicate with the AE using application layer
   signaling for negotiation of service parameters.  As part of this
   application layer protocol interaction, for example using SIP,
   authentication and authorization might take place.  This message
   exchange is, however, outside the scope of this document.  The
   protocol communication between the QoS resource requesting entity and
   the QoS NE might be accomplished using the NSIS protocol suite, RSVP
   or a link layer signaling protocol.  A description of these protocols
   is also outside the scope of this document.

4.2.  Session Establishment

   The Pull and Push modes use a different set of command codes for
   session establishment.  For other operations, such as session
   modification and termination, they use the same set of command codes.

   The selection of Pull mode or Push mode operation is based on the
   trigger of the QoS Authorization session.  When a QoS-Authorization-
   Request (QAR, see Section 5.1) message with a new session ID is
   received, the AE operates in the Pull mode; when other triggers are
   received, the AE operates in the Push mode.  Similarly, when a QoS-
   Install-Request (QIR, see Section 5.3} with a new session ID is
   received, the NE operates in the Push mode; when other triggers are
   received, the NE operation in the Pull mode.

   The QoS authorization session is typically established per subscriber
   base (i.e., all requests with the same user ID), but it is also
   possible to be established on per node or per request base.  The
   concurrent sessions between an NE and an AE are identified by
   different Session-ID.

Sun, et al.             Expires September 8, 2010              [Page 20]
Internet-Draft          Diameter QoS Application              March 2010

4.2.1.  Session Establishment for Pull Mode

   A request for a QoS reservation or local events received by a NE can
   trigger the initiation of a Diameter QoS authorization session.  The
   NE converts the required objects from the QoS signaling message to
   Diameter AVPs and generates a QAR message.

   Figure 6 shows the protocol interaction between a Resource Requesting
   Entity, a Network Element and the Authorizing Entity.

   The AE's identity, information about the application session and/or
   identity and credentials of the QoS RRE, requested QoS parameters,
   signaling session identifier and/or QoS enabled data flows
   identifiers MAY be encapsulated into respective Diameter AVPs and
   included in the Diameter message sent to the AE.  The QAR is sent to
   a Diameter server that can either be the home server of the QoS
   requesting entity or an AppS.

   +------------------------------------------+------------------------+
   | QoS-specific Input Data                  | Diameter AVPs          |
   +------------------------------------------+------------------------+
   | Authorizing entity ID (e.g.,             | Destination-Host       |
   | Destination-Host taken from              | Destination-Realm      |
   | authorization token, Destination-Realm   |                        |
   | or derived from the NAI of the QoS       |                        |
   | requesting entity)                       |                        |
   |                                          |                        |
   | Authorization Token Credentials of the   | QoS-Authorization-Data |
   | QoS requesting entity                    | User-Name              |
   |                                          |                        |
   | QoS-Resources (including QoS parameters) |                        |
   +------------------------------------------+------------------------+

            Table 1: Mapping Input Data to QoS AVPs--Pull Mode

   Authorization processing starts at the Diameter QoS server when it
   receives the QAR.  Based on the information in the QoS-
   Authentication-Data, User-Name and QoS-Resources AVPs the server
   determines the authorized QoS resources and flow state (enabled/
   disabled) from locally available information (e.g., policy
   information that may be previously established as part of an
   application layer signaling exchange, or the user's subscription
   profile).  The QoS-Resources AVP is defined in
   [I-D.ietf-dime-qos-attributes].  The authorization decision is then
   reflected in the response returned to the Diameter client with the
   QoS-Authorization-Answer message (QAA).

Sun, et al.             Expires September 8, 2010              [Page 21]
Internet-Draft          Diameter QoS Application              March 2010

                                               Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)
       |                   |                         |
       +---QoS-Reserve---->|                         |
       |                   +- - - - - QAR - - - - - >|
       |                   |(QoS-Resources,          |
       |                   |   QoS-Auth-Data,User-ID)|
       |                   |                +--------+--------------+
       |                   |                |  Authorize request    |
       |                   |                |  Keep session data    |
       |                   |                |/Authz-time,Session-Id/|
       |                   |                +--------+--------------+
       |                   |< - - - - QAA - - - - - -+
       |                   |(Result-Code,            |
       |                   |QoS-Resources,Authz-time)|
       |           +-------+---------+
       |           |Install QoS state|
       |           |       +         |
       |           | Authz. session  |
       |           | /Authz-time/    |                QoS Responder
       |           |                 |                    Node
       |           +-------+---------+                      |
       |                   +----------QoS-Reserve---....--->|
       |                   |                                |
       |                   |<---------QoS-Response--....----|
       |<--QoS-Response----+                                |
       |                   |                                |
       |=====================Data Flow==============....===>|

         Figure 6: Initial QoS Request Authorization for Pull Mode

   The Authorizing Entity keeps authorization session state and SHOULD
   save additional information for management of the session (e.g.,
   Signaling-Session-Id, authentication data) as part of the session
   state information.

   The final result of the authorization request is provided in the
   Result-Code AVP of the QAA message sent by the Authorizing Entity.
   In case of successful authorization (i.e., Result-Code =
   DIAMETER_LIMITED_SUCCESS, (see Section 7.1)), information about the
   authorized QoS resources and the status of the authorized flow
   (enabled/disabled) is provided in the QoS-Resources AVP of the QAA
   message.  The QoS information provided via the QAA is installed by
   the QoS Traffic Control function of the NE.  The value
   DIAMETER_LIMITED_SUCCESS indicates that the AE expects confirmation
   via another QAR message for successful QoS resource reservation and

Sun, et al.             Expires September 8, 2010              [Page 22]
Internet-Draft          Diameter QoS Application              March 2010

   for final reserved QoS resources (see below).

   One important piece of information returned from the Authorizing
   Entity is the authorization lifetime (carried inside the QAA).  The
   authorization lifetime allows the NE to determine how long the
   authorization decision is valid for this particular QoS reservation.
   A number of factors may influence the authorized session duration,
   such as the user's subscription plan or currently available credits
   at the user's account (see Section 8).  The authorization duration is
   time-based, as specified in [RFC3588].  For an extension of the
   authorization period, a new QoS-Authorization-Request/Answer message
   exchange SHOULD be initiated.  Further aspects of QoS authorization
   session maintenance is discussed in Section 4.3, Section 4.4 and
   Section 8.

   The indication of a successful QoS reservation and activation of the
   data flow is provided by the transmission of a QAR message, which
   reports the parameters of the established QoS state: reserved
   resources, duration of the reservation, and identification of the QoS
   enabled flow/QoS signaling session.  The Diameter QoS server
   acknowledges the reserved QoS resources with the QA Answer (QAA)
   message where the Result-Code is set to 'DIAMETER_SUCCESS'.  Note
   that the reserved QoS resources reported in this QAR message MAY be
   different than those authorized with the initial QAA message, due to
   the QoS signaling specific behavior (e.g., receiver-initiated
   reservations with One-Path-With-Advertisements) or specific process
   of QoS negotiation along the data path.

4.2.2.  Session Establishment for Push Mode

   The Diameter QoS server in the AE initiates a Diameter QoS
   authorization session upon the request for QoS reservation triggered
   by application layer signaling or by local events, and generates a
   QoS-Install-Request (QIR) message to Diameter QoS client in the NE in
   which it maps required objects to Diameter payload objects.

   Figure 7 shows the protocol interaction between the AE, a Network
   Element and a RRE.

   The NE's identity, information about the application session and/or
   identity and credentials of the QoS resource requesting entity,
   requested QoS parameters, signaling session identifier and/or QoS
   enabled data flows identifiers MAY be encapsulated into respective
   Diameter AVPs and included into the Diameter message sent from a
   Diameter QoS server in the Authorizing Entity to a Diameter QoS
   client in the NE.  This requires that the AE has knowledge of
   specific information for allocating and identifying the NE that
   should be contacted and the data flow for which the QoS reservation

Sun, et al.             Expires September 8, 2010              [Page 23]
Internet-Draft          Diameter QoS Application              March 2010

   should be established.  This information can be statically configured
   or dynamically discovered, see Section 4.2.3 for details.

   +-----------------------------------------+-------------------------+
   | QoS-specific Input Data                 | Diameter AVPs           |
   +-----------------------------------------+-------------------------+
   | Network Element ID                      | Destination-Host        |
   |                                         | Destination-Realm       |
   |                                         |                         |
   | Authorization Token Credentials of the  | QoS-Authorization-Data  |
   | QoS requesting entity                   | User-Name               |
   |                                         |                         |
   | QoS-Resources (including QoS            |                         |
   | parameters)                             |                         |
   +-----------------------------------------+-------------------------+

            Table 2: Mapping Input Data to QoS AVPs--Push Mode

   Authorization processing starts at the Diameter QoS server when it
   receives a request from a RRE through an AppS (e.g., SIP Invite) or
   is triggered by a local event (e.g., pre-configured timer).  Based on
   the received information the server determines the authorized QoS
   resources and flow state (enabled/disabled) from locally available
   information (e.g., policy information that may be previously
   established as part of an application layer signaling exchange, or
   the user's subscription profile).  The authorization decision is then
   reflected in the QoS-Install-Request message (QIR) to the Diameter
   QoS client.

Sun, et al.             Expires September 8, 2010              [Page 24]
Internet-Draft          Diameter QoS Application              March 2010

                                               Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)
       |                   |                          |
       |                   |                          |<-- Trigger --
       |                   |                 +--------+--------------+
       |                   |                 |  Authorize request    |
       |                   |                 |  Keep session data    |
       |                   |                 |/Authz-time,Session-Id/|
       |                   |                 +--------+--------------+
       |                   |                          |
       |                   |<-- - -- - QIR - - - - - -+
       |                   |(Initial Request,Decision |
       |                   |(QoS-Resources,Authz-time)|
       |           +-------+---------+
       |           |Install QoS state|
       |           |       +         |
       |           | Authz. session  |
       |           | /Authz-time/    |
       |           |                 |
       |           +-------+---------+
       |                   + - - - - QIA - - - - - ->|
       |                   |    (Result-Code,        |
       |                   |     QoS-Resources)      |
       |                   |                +--------+--------------+
       |                   |                | Report for successful |
       |                   |                |   QoS reservation     |
       |                   |                |Update of reserved QoS |
       |                   |                |      resources        |
       |                   |                +--------+--------------+
       |                   |                         QoS Responder
       |                   |                               Node
       |                   |                                |
       |=====================Data Flow==============....===>|

         Figure 7: Initial QoS Request Authorization for Push Mode

   The AE keeps authorization session state and SHOULD save additional
   information for management of the session (e.g.,
   Signaling-Session-Id, authentication data) as part of the session
   state information.

   The final result of the authorization decision is provided in the
   QoS-Resources AVP of the QIR message sent by the AE.  The QoS
   information provided via the QIR is installed by the QoS Traffic
   Control function of the NE.

Sun, et al.             Expires September 8, 2010              [Page 25]
Internet-Draft          Diameter QoS Application              March 2010

   One important piece of information from the AE is the authorization
   lifetime (carried inside the QIR).  The authorization lifetime allows
   the NE to determine how long the authorization decision is valid for
   this particular QoS reservation.  A number of factors may influence
   the authorized session duration, such as the user's subscription plan
   or currently available credits at the user's account (see Section 8).
   The authorization duration is time-based as specified in [RFC3588].
   For an extension of the authorization period, a new QoS-Install-
   Request/Answer message or QoS-Authorization-Request/Answer message
   exchange SHOULD be initiated.  Further aspects of QoS authorization
   session maintenance are discussed in Section 4.3, Section 4.4 and
   Section 8.

   The indication of QoS reservation and activation of the data flow can
   be provided by the QoS-Install-Answer message immediately.  In the
   case of successful enforcement, the Result-Code (= DIAMETER_SUCCESS,
   (see Section 7.1)) information is provided in the QIA message.  Note
   that the reserved QoS resources reported in the QIA message may be
   different than those initially authorized with the QIR message, due
   to the QoS signaling specific behavior (e.g., receiver-initiated
   reservations with One-Path-With-Advertisements) or specific process
   of QoS negotiation along the data path.  In the case Multiple AEs
   control the same NE, the NE should make the selection on the
   authorization decision to be enforced based on the priority of the
   request.

4.2.3.  Discovery and Selection of Peer Diameter QoS Application Node

   The Diameter QoS application node may obtain information of its peer
   nodes (e.g., FQDN, IP address) through static configuration or
   dynamic discovery as described in Section 5.2 of [RFC3588].  In
   particular, the NE shall perform the relevant operation for Pull
   mode; the AE shall perform the relevant operations for Push mode.

   Upon receipt of a trigger to initiate a new Diameter QoS
   authorization session, the Diameter QoS application node selects and
   retrieves the location information of the peer node that is
   associated with the affected user based on some index information
   provided by the RRE.  For instance, it can be the Authorization
   Entity's ID stored in the authorization token, the end-user's
   identity (e.g., NAI [RFC4282]) or a globally routable IP address.

4.3.  Session Re-authorization

   Client and server-side initiated re-authorizations are considered in
   the design of the Diameter QoS application.  Whether the re-
   authorization events are transparent for the resource requesting
   entity or result in specific actions in the QoS signaling protocol is

Sun, et al.             Expires September 8, 2010              [Page 26]
Internet-Draft          Diameter QoS Application              March 2010

   outside the scope of the Diameter QoS application.  It is directly
   dependent on the capabilities of the QoS signaling protocol.

   There are a number of options for policy rules according to which the
   NE (AAA client) contacts the AE for re-authorization.  These rules
   depend on the semantics and contents of the QAA message sent by the
   AE:

   a.  The QAA message contains the authorized parameters of the flow
       and its QoS and sets their limits (presumably upper).  With these
       parameters the AE specifies the services that the NE can provide
       and will be financially compensated for.  Therefore, any change
       or request for change of the parameters of the flow and its QoS
       that do not conform to the authorized limits requires contacting
       the AE for authorization.
   b.  The QAA message contains authorized parameters of the flow and
       its QoS.  The rules that determine whether parameters' changes
       require re-authorization are agreed out of band, based on a
       Service Level Agreement (SLA) between the domains of the NE and
       the AE.
   c.  The QAA message contains the authorized parameters of the flow
       and its QoS.  Any change or request for change of these
       parameters requires contacting the AE for re-authorization.
   d.  In addition to the authorized parameters of the flow and its QoS,
       the QAA message contains policy rules that determine the NEs
       actions in case of change or request for change in authorized
       parameters.

   Provided options are not exhaustive.  Elaborating on any of the
   listed approaches is deployment /solution specific and is not
   considered in the current document.

   In addition, the AE may use a RAR (Re-Authorization-Request) to
   perform re-authorization with the authorized parameters directly when
   the re-authorization is triggered by service request or local events/
   policy rules.

4.3.1.  Client-Side Initiated Re-Authorization

   The AE provides the duration of the authorization session as part of
   the QoS-Authorization-Answer message (QAA).  At any time before
   expiration of this period, a new QoS-Authorization-Request message
   (QAR) MAY be sent to the AE.  The transmission of the QAR MAY be
   triggered when the NE receives a QoS signaling message that requires
   modification of the authorized parameters of an ongoing QoS session,
   or authorization lifetime expires.

Sun, et al.             Expires September 8, 2010              [Page 27]
Internet-Draft          Diameter QoS Application              March 2010

                                               Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)
       |                   |                         |
       |=====================Data Flow==========================>
       |                   |                         |
       |           +-------+----------+              |
       |           |Authz-time/CC-Time|              |
       |           |    expires       |              |
       |           +-------+----------+              |
       |                   +- - - - - QAR - - - - - >|
       |                   |(QoS-Resources,          |
       |                   | QoS-Authorization-Data,User-ID) |
                           |                +--------+--------------+
    NOTE:                  |                |  Authorize request    |
    Re-authorization       |                | Update session data   |
    is transparent to      |                |/Authz-time,Session-Id/|
    the End-Host           |                +--------+--------------+
                           |< - - - - QAA - - - - - -+
       |                   |(Result-Code,            |
       |                   |QoS-Resources,Authz-time)|
       |           +-------+---------+               |
       |           |Update QoS state |               |
       |           |       +         |               |
       |           | Authz. session  |               |
       |           | /Authz-time/    |               |
       |           |                 |               |
       |           +-------+---------+               |
       |                   |                         |
       |=====================Data Flow==========================>
       |                   |

           Figure 8: Client-side Initiated QoS Re-Authorization

4.3.2.  Server-Side Initiated Re-Authorization

   The AE MAY initiate a QoS re-authorization by issuing a Re-Auth-
   Request message (RAR) as defined in the Diameter base protocol
   [RFC3588], which may include the parameters of the re-authorized QoS
   state: reserved resources, duration of the reservation,
   identification of the QoS enabled flow/QoS signaling session for re-
   installation of the resource state by the QoS Traffic Control
   function of the NE.

   A NE that receives such a RAR message with Session-Id matching a
   currently active QoS session acknowledges the request by sending the
   Re-Auth-Answer (RAA) message towards the AE.

Sun, et al.             Expires September 8, 2010              [Page 28]
Internet-Draft          Diameter QoS Application              March 2010

   If RAR does not include any parameters of the re-authorized QoS
   state, the NE MUST initiate a QoS re-authorization by sending a QoS-
   Authorization-Request (QAR) message towards the AE.

                                               Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)
       |                   |                          |
       |                   |                          |<-- Trigger --
       |                   |                 +--------+--------------+
       |                   |                 |  Authorize request    |
       |                   |                 |  Keep session data    |
       |                   |                 |/Authz-time,Session-Id/|
       |                   |                 +--------+--------------+
       |                   |                          |
       |                   |<-- - -- - RAR - - - - - -+
       |                   |(Request,Decision         |
       |                   |(QoS-Resources,Authz-time)|
       |           +-------+---------+
       |           |Install QoS state|
       |           |       +         |
       |           | Authz. session  |
       |           | /Authz-time/    |
       |           |                 |
       |           +-------+---------+
       |                   + - - - - RAA - - - - - ->|
       |                   |    (Result-Code,        |
       |                   |     QoS-Resources)      |
       |                   |                +--------+--------------+
       |                   |                | Report for successful |
       |                   |                |   QoS reservation     |
       |                   |                |Update of reserved QoS |
       |                   |                |      resources        |
       |                   |                +--------+--------------+
       |                   |                         |

           Figure 9: Server-side Initiated QoS Re-Authorization

4.4.  Session Termination

4.4.1.  Client-Side Initiated Session Termination

   The authorization session for an installed QoS reservation state MAY
   be terminated by the Diameter client by sending a Session-
   Termination-Request message (STR) to the Diameter server with a
   response Session-Termination-Acknowledgement message (STA).  This is

Sun, et al.             Expires September 8, 2010              [Page 29]
Internet-Draft          Diameter QoS Application              March 2010

   a Diameter base protocol function and it is defined in [RFC3588].
   Session termination can be caused by a QoS signaling messaging
   requesting deletion of the existing QoS reservation state or it can
   be caused as a result of a soft-state expiration of the QoS
   reservation state.

                                               Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)
       |                   |                         |
       |==Data Flow==>X /Stop of the data flow/      |
       |                   |                         |
       +---QoS-Reserve---->|                         |
       |  (Delete QoS      +- - - - - STR - - - - - >|
       |   reservation)    |                +--------+--------------+
       |                   |                | Remove authorization  |
       |                   |                | session state         |
       |                   |                +--------+--------------+
       |                   |< - - - - STA - - - - - -+
       |           +-------+--------+                |
       |           |Delete QoS state|
       |           +-------+--------+                   QoS Responder
       |                   |                                Node
       |                   +----------QoS-Reserve-----....--->|
       |                   |         (Delete QoS              |
       |                   |          reservation)            |
       |                   |<---------QoS-Response----....----+
       |<--QoS-Response----+                                  |

           Figure 10: Client-Side Initiated Session Termination

4.4.2.  Server-Side Initiated Session Termination

   At anytime during a session the AE MAY send an Abort-Session-Request
   message (ASR) to the NE.  This is a Diameter base protocol function
   and it is defined in [RFC3588].  Possible reasons for initiating the
   ASR message to the NE are insufficient credits or session termination
   at the application layer.  The ASR message results in termination of
   the authorized session, release of the reserved resources at the NE
   and transmission of an appropriate QoS signaling message indicating a
   notification to other Network Elements aware of the signaling
   session.

Sun, et al.             Expires September 8, 2010              [Page 30]
Internet-Draft          Diameter QoS Application              March 2010

                                               Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)
       |                   |                         |
       |=====================Data Flow==========================>
       |                   |
       |                   |< - - - - ASR - - - - - -+
       |                   |                         |
       |====Data Flow=====>X                         |  QoS Responder
       |                   |                         |      Node
       |<--QoS-Notify------+----------QoS-Reserve-----....--->|
       |                   |         (Delete QoS     |        |
                           |          reservation)   |
                   +-------+--------+                |
                   |Delete QoS state|                |
                   +-------+--------+                |
                           +- - - - - ASA - - - - - >|
                           |                +--------+--------------+
                           |                | Remove authorization  |
                           |                |     session state     |
                           |                +--------+--------------+
                           |                            QoS Responder
                           |                                Node
                           |<---------QoS-Response----....----+
                           |                                  |

           Figure 11: Server-Side Initiated Session Termination

Sun, et al.             Expires September 8, 2010              [Page 31]
Internet-Draft          Diameter QoS Application              March 2010

5.  QoS Application Messages

   The Diameter QoS application requires the definition of new mandatory
   AVPs and Command-codes (see Section 3 of [RFC3588]).  Four new
   Diameter messages are defined along with Command-Codes whose values
   MUST be supported by all Diameter implementations that conform to
   this specification.

      +---------------------------+---------+--------+-------------+
      | Command Name              | Abbrev. |  Code  | Reference   |
      +---------------------------+---------+--------+-------------+
      | QoS-Authorization-Request |   QAR   | [TBD1] | Section 5.1 |
      |                           |         |        |             |
      | QoS-Authorization-Answer  |   QAA   | [TBD2] | Section 5.2 |
      |                           |         |        |             |
      | QoS-Install-Request       |   QIR   | [TBD3] | Section 5.3 |
      |                           |         |        |             |
      | QoS-Install-Answer        |   QIA   | [TBD4] | Section 5.4 |
      +---------------------------+---------+--------+-------------+

                      Table 3: Diameter QoS Commands

   In addition, the following Diameter Base protocol messages are used
   in the Diameter QoS application:

          +-----------------------+---------+------+-----------+
          | Command-Name          | Abbrev. | Code | Reference |
          +-----------------------+---------+------+-----------+
          | Re-Auth-Request       |   RAR   |  258 | [RFC3588] |
          |                       |         |      |           |
          | Re-Auth-Answer        |   RAA   |  258 | [RFC3588] |
          |                       |         |      |           |
          | Abort-Session-Request |   ASR   |  274 | [RFC3588] |
          |                       |         |      |           |
          | Abort-Session-Answer  |   ASA   |  274 | [RFC3588] |
          |                       |         |      |           |
          | Session-Term-Request  |   STR   |  275 | [RFC3588] |
          |                       |         |      |           |
          | Session-Term-Answer   |   STA   |  275 | [RFC3588] |
          +-----------------------+---------+------+-----------+

                      Table 4: Diameter Base Commands

   Diameter nodes conforming to this specification MAY advertise support
   for the Diameter QoS application by including the value of [TBD5] in
   the Auth-Application-Id or the Acct-Application-Id AVP of the
   Capabilities-Exchange-Request and Capabilities-Exchange-Answer
   commands, see [RFC3588].

Sun, et al.             Expires September 8, 2010              [Page 32]
Internet-Draft          Diameter QoS Application              March 2010

   The value of {TBD5] MUST be used as the Application-Id in all QAR/QAA
   and QIR/QIA commands.

   The value of zero (0) SHOULD be used as the Application-Id in all
   STR/STA, ASR/ASA, and RAR/RAA commands.

5.1.  QoS-Authorization Request (QAR)

   The QoS-Authorization-Request message (QAR) indicated by the Command-
   Code field (see Section 3 of [RFC3588]) set to [TBD1] and 'R' bit set
   in the Command Flags field is used by NEs to request quality of
   service related resource authorization for a given flow.

   The QAR message MUST carry information for signaling session
   identification, AE identification, information about the requested
   QoS, and the identity of the QoS requesting entity.  In addition,
   depending on the deployment scenario, an authorization token and
   credentials of the QoS requesting entity SHOULD be included.

   The message format is defined as follows:

    <QoS-Request> ::= < Diameter Header: [TBD1], REQ, PXY >
                         < Session-Id >
                         { Auth-Application-Id }
                         { Origin-Host }
                         { Origin-Realm }
                         { Destination-Realm }
                         { Auth-Request-Type }
                         [ Destination-Host ]
                         [ User-Name ]
                      *  [ QoS-Resources ]
                         [ QoS-Authorization-Data ]
                         [ Bound-Auth-Session-Id ]
                      *  [ AVP ]

5.2.  QoS-Authorization Answer (QAA)

   The QoS-Authorization-Answer message (QAA), indicated by the Command-
   Code field set to [TBD2] and 'R' bit cleared in the Command Flags
   field is sent in response to the QoS-Authorization-Request message
   (QAR).  If the QoS authorization request is successfully authorized,
   the response will include the AVPs to allow authorization of the QoS
   resources and transport plane gating information.

   The message format is defined as follows:

Sun, et al.             Expires September 8, 2010              [Page 33]
Internet-Draft          Diameter QoS Application              March 2010

    <QoS-Answer> ::= < Diameter Header: [TBD2], PXY >
                     < Session-Id >
                     { Auth-Application-Id }
                     { Auth-Request-Type }
                     { Result-Code }
                     { Origin-Host }
                     { Origin-Realm }
                  *  [ QoS-Resources ]
                     [ Acct-Multisession-Id ]
                     [ Session-Timeout ]
                     [ Authorization-Session-Lifetime ]
                     [ Authorization-Grace-Period ]
                  *  [ AVP ]

5.3.  QoS-Install Request (QIR)

   The QoS-Install Request message (QIR), indicated by the Command-Code
   field set to [TBD3] and 'R' bit set in the Command Flags field is
   used by AE to install or update the QoS parameters and the flow state
   of an authorized flow at the transport plane element.

   The message MUST carry information for signaling session
   identification or identification of the flow to which the provided
   QoS rules apply, identity of the transport plane element, description
   of provided QoS parameters, flow state and duration of the provided
   authorization.

   The message format is defined as follows:

    <QoS-Install-Request> ::= < Diameter Header: [TBD3], REQ, PXY >
                              < Session-Id >
                              { Auth-Application-Id }
                              { Origin-Host }
                              { Origin-Realm }
                              { Destination-Realm }
                              { Auth-Request-Type }
                              [ Destination-Host ]
                           *  [ QoS-Resources ]
                              [ Session-Timeout ]
                              [ Authorization-Session-Lifetime ]
                              [ Authorization-Grace-Period ]
                              [ Authorization-Session-Volume ]
                           *  [ AVP ]

Sun, et al.             Expires September 8, 2010              [Page 34]
Internet-Draft          Diameter QoS Application              March 2010

5.4.  QoS-Install Answer (QIA)

   The QoS-Install Answer message (QIA), indicated by the Command-Code
   field set to [TBD4] and 'R' bit cleared in the Command Flags field is
   sent in response to the QoS-Install Request message (QIR) for
   confirmation of the result of the installation of the provided QoS
   reservation instructions.

   The message format is defined as follows:

     <QoS-Install-Answer> ::= < Diameter Header: [TBD4], PXY >
                              < Session-Id >
                              { Auth-Application-Id }
                              { Origin-Host }
                              { Origin-Realm }
                              { Result-Code }
                           *  [ QoS-Resources ]
                           *  [ AVP ]

5.5.  Re-Auth-Request (RAR)

   The Re-Auth-Request message (RAR), indicated by the Command-Code
   field set to 258 and the 'R' bit set in the Command Flags field, is
   sent by the AE to the NE in order to initiate the QoS re-
   authorization from DQA server side.

   If the RAR command is received by the NE without any parameters of
   the re-authorized QoS state, the NE MUST initiate a QoS re-
   authorization by sending a QoS-Authorization-Request (QAR) message
   towards the AE.

   The message format is defined as follows:

Sun, et al.             Expires September 8, 2010              [Page 35]
Internet-Draft          Diameter QoS Application              March 2010

         <RAR>  ::= < Diameter Header: 258, REQ, PXY >
                    < Session-Id >
                    { Origin-Host }
                    { Origin-Realm }
                    { Destination-Realm }
                    { Destination-Host }
                    { Auth-Application-Id }
                    { Re-Auth-Request-Type }
                    [ User-Name ]
                    [ Origin-State-Id ]
                  * [ Proxy-Info ]
                  * [ Route-Record ]
                  * [ QoS-Resources ]
                    [ Session-Timeout ]
                    [ Authorization-Session-Lifetime ]
                    [ Authorization-Grace-Period ]
                    [ Authorization-Session-Volume ]
                  * [ AVP ]

5.6.  Re-Auth-Answer (RAA)

   The Re-Auth-Answer message (RAA), indicated by the Command-Code field
   set to 258 and the 'R' bit cleared in the Command Flags field, is
   sent by the NE to the AE in response to the RAR command.

   The message format is defined as follows:

         <RAA>  ::= < Diameter Header: 258, PXY >
                    < Session-Id >
                    { Result-Code }
                    { Origin-Host }
                    { Origin-Realm }
                    [ User-Name ]
                    [ Origin-State-Id ]
                    [ Error-Message ]
                    [ Error-Reporting-Host ]
                  * [ Failed-AVP ]
                  * [ Redirect-Host ]
                    [ Redirect-Host-Usage ]
                    [ Redirect-Host-Cache-Time ]
                  * [ Proxy-Info ]
                  * [ QoS-Resources ]
                  * [ AVP ]

Sun, et al.             Expires September 8, 2010              [Page 36]
Internet-Draft          Diameter QoS Application              March 2010

6.  QoS Application State Machine

   The QoS application defines its own state machine that is based on
   the authorization state machine defined in Section 8.1 of the Base
   Protocol ([RFC3588]).  The Qos state machine uses own messages as
   defined in Section 5 and QoS AVPs as defined in Section 7.

6.1.  Supplemented States for Push Mode

   Using the Base Protocol state machine as a basis, the following
   states are supplemented to first 2 state machines in which the
   session state is maintained on the Server.  These MUST be supported
   in any QoS application implementations in support of server initiated
   push mode (see (Section 4.2.2)).

   The following states are supplemented to the state machine on the
   Server when state is maintained on the client as defined in Section
   8.1 of the Base Protocol [RFC3588]:

                                 SERVER, STATEFUL
         State     Event                          Action     New State
         -------------------------------------------------------------
         Idle      An application or local        Send       Pending
                   event triggers an initial      QIR initial
                   QoS request to the server      request

         Pending   Received QIA with a failed     Cleanup    Idle
                   Result-Code

         Pending   Received QIA with Result-Code  Update     Open
                   = SUCCESS                      session
         Pending   Error in processing received   Send      Discon
                   QIA with Result-Code = SUCCESS ASR

   The following states are supplemented to the state machine on the
   client when state is maintained on the server as defined in Section
   8.1 of the Base Protocol [RFC3588]:

Sun, et al.             Expires September 8, 2010              [Page 37]
Internet-Draft          Diameter QoS Application              March 2010

                                 CLIENT, STATEFUL
         State     Event                          Action     New State
         -------------------------------------------------------------
         Idle      QIR initial request            Send       Open
                   received and successfully      QIA initial
                   processed                      answer,
                                                  reserve resources

         Idle      QIR initial request            Send       Idle
                   received but not               QIA initial
                   successfully processed         answer with
                                                  Result-Code
                                                  != SUCCESS

Sun, et al.             Expires September 8, 2010              [Page 38]
Internet-Draft          Diameter QoS Application              March 2010

7.  QoS Application AVPs

   Each of the AVPs identified in the QoS-Authorization-Request/Answer
   and QoS-Install-Request/Answer messages and the assignment of their
   value(s) is given in this section.

7.1.  Reused Base Protocol AVPs

   The QoS application uses a number of session management AVPs, defined
   in the Base Protocol ([RFC3588]).

   Attribute Name                AVP Code     Reference [RFC3588]
   Origin-Host                   264          Section 6.3
   Origin-Realm                  296          Section 6.4
   Destination-Host              293          Section 6.5
   Destination-Realm             283          Section 6.6
   Auth-Application-Id           258          Section 6.8
   Result-Code                   268          Section 7.1
   Auth-Request-Type             274          Section 8.7
   Session-Id                    263          Section 8.8
   Authorization-Lifetime        291          Section 8.9
   Authorization-Grace-Period    276          Section 8.10
   Session-Timeout                27          Section 8.13
   User-Name                       1          Section 8.14

   The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to
   Diameter applications.  The value of the Auth-Application-Id for the
   Diameter QoS application is TBD.

7.2.  QoS Application Defined AVPs

   This document reuses the AVPs defined in Section 4 of
   [I-D.ietf-dime-qos-attributes].

   This section lists the AVPs that are introduced specifically for the
   QoS application.  The following new AVPs are defined: Bound-Auth-
   Session-Id and the QoS-Authorization-Data AVP.

   The following table describes the Diameter AVPs newly defined in this
   document for usage with the QoS Application, their AVP code values,
   types, possible flag values, and whether the AVP may be encrypted.

Sun, et al.             Expires September 8, 2010              [Page 39]
Internet-Draft          Diameter QoS Application              March 2010

                                                  +-------------------+
                                                  |    AVP Flag rules |
   +----------------------------------------------|----+--------+-----+
   |                       AVP  Section           |    |    SHLD| MUST|
   | Attribute Name        Code Defined Data Type |MUST|     NOT|  NOT|
   +----------------------------------------------+----+--------+-----+
   |QoS-Authorization-Data TBD    7.2  OctetString| M  |        |  V  |
   |Bound-Auth-Session-Id  TBD    7.2  UTF8String | M  |        |  V  |
   +----------------------------------------------+----+--------+-----+
   |M - Mandatory bit. An AVP with "M" bit set and its value MUST be  |
   |    supported and recognized by a Diameter entity in order the    |
   |    message, which carries this AVP, to be accepted.              |
   |V - Vendor specific bit that indicates whether the AVP belongs to |
   |    a address space.                                              |
   +------------------------------------------------------------------+

   QoS-Authorization-Data
      The QoS-Authorization-Data AVP (AVP Code TBD) is of type
      OctetString.  It is a container that carries application session
      or user specific data that has to be supplied to the AE as input
      to the computation of the authorization decision.

   Bound-Authentication-Session-Id
      The Bound-Authentication-Session AVP (AVP Code TBD) is of type
      UTF8String.  It carries the id of the Diameter authentication
      session that is used for the network access authentication (NASREQ
      authentication session).  It is used to tie the QoS authorization
      request to a prior authentication of the end host done by a co-
      located application for network access authentication (Diameter
      NASREQ) at the QoS NE.

Sun, et al.             Expires September 8, 2010              [Page 40]
Internet-Draft          Diameter QoS Application              March 2010

8.  Accounting

   A NE MAY start an accounting session by sending an Accounting-Request
   message (ACR) after successful QoS reservation and activation of the
   data flow (see Figure 6 and Figure 7).  After every successful re-
   authorization procedure (see Figure 8 and Figure 9), the NE MAY
   initiate an interim accounting message exchange.  After successful
   session termination (see Figure 10 and Figure 11), the NE may
   initiate a final exchange of accounting messages for terminating of
   the accounting session and reporting final records for the usage of
   the QoS resources reserved.  It should be noted that the two sessions
   (authorization and accounting) have independent management by the
   Diameter base protocol, which allows for finalizing the accounting
   session after the end of the authorization session.

   The detailed QoS accounting procedures are out of scope in this
   document.

Sun, et al.             Expires September 8, 2010              [Page 41]
Internet-Draft          Diameter QoS Application              March 2010

9.  Examples

9.1.  Example Call Flow for Pull Mode (Success Case)

   This section presents an example of the interaction between the end
   host and Diameter QoS application entities using Pull mode.  The
   application layer signaling is, in this example, provided using SIP.
   Signaling for a QoS resource reservation is done using the QoS NSLP.
   The authorization of the QoS reservation request is done by the
   Diameter QoS application (DQA).

     End-Host                                 SIP Proxy  Correspondent
   requesting QoS                            (DQA Server)        Node

         |                                          |              |
       ..|....Application layer SIP signaling.......|..............|..
       . |  Invite (SDP)                            |              | .
       . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->              | .
       . |  100 Trying                              |              | .
       . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+  Invite (SDP)| .
       . |                                          +-.-.-.....-.-.> .
       . |                                          |  180 SDP'    | .
       . |                                          <-.-.-.....-.-.+ .
       . |                                 +--------+--------+     | .
       . |                                 |Authorize session|     | .
       . |                                 |   parameters    |     | .
       . | 180 (Session parameters)        +--------+--------+     | .
       . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+              | .
       ..|..........................................|... ..........|..
         |                                          |              |
         |           +------------+                 |              |
         |           |     NE     |                 |              |
         |           |(DQA Client)|                 |              |
         |           +------+-----+                 |              |
         |                  |                       |              |
         |QoS NSLP Reserve  |                       |              |
         +------------------> QAR                   |              |
         | (POLICY_DATA>v   +- - - - -<<AAA>>- - - ->              |
         |  QSPEC)  v   >===>(Destination-Host,     |              |
         |      v   >=======>QoS-Authorization-Data++------------+ |
         |      >===========>QoS-Resources)        |Authorize    | |
         |                  |                      |QoS resources| |
         |                  |                      ++------------+ |
         |                  | QAA                   |              |
         |                  <- - - - -<<AAA>>- - - -+              |
         |                  |(Result-Code,          |              |
         |                  |QoS-Resources,         |              |
         |                  |Authorization-Lifetime)|              |

Sun, et al.             Expires September 8, 2010              [Page 42]
Internet-Draft          Diameter QoS Application              March 2010

         |        +---------+--------+              |              |
         |        |Install QoS state1|              |              |
         |        |+ Authz. session  |              |              |
         |        +---------+--------+              |              |
         |                  |QoS NSLP Reserve                      |
         |                  +---------------..............--------->
         |                  |                                      |
         |                  |                     QoS NSLP Response|
         |QoS NSLP Response <---------------..............---------+
         <------------------+                                      |
         |                  |                        QoS NSLP Query|
         |QoS NSLP Query    <---------------..............---------+
         <------------------+                                      |
         |QoS NSLP Reserve  |                                      |
         +------------------> QAR                   |              |
         |                  +- - - - -<<AAA>>- - - ->              |
         |                  |                   +---+---------+    |
         |                  |                   |Authorize    |    |
         |                  |                   |QoS resources|    |
         |                  | QAA               +---+---------+    |
         |                  <- - - - -<<AAA>>- - - -+              |
         |        +---------+--------+              |              |
         |        |Install QoS state2|                             |
         |        |+ Authz. session  |                             |
         |        +---------+--------+                             |
         |                  |  QoS NSLP Reserve                    |
         |                  +---------------..............--------->
         |                  |                     QoS NSLP Response|
         |QoS NSLP Response <---------------..............---------+
         <------------------+                                      |
         |                  |                                      |
         /------------------+--Data Flow---------------------------\
         \------------------+--------------------------------------/
         |                  |                                      |

         .-.-.-.-.  SIP signaling
         ---------  QoS NSLP signaling
         - - - - -  Diameter QoS Application messages
         =========  Mapping of objects between QoS and AAA protocol

             Figure 12: QoS Authorization Example - Pull Mode

   The communication starts with SIP signaling between the two end
   points and the SIP proxy for negotiation and authorization of the
   requested service and its parameters (see Figure 12).  As a part of
   the process, the SIP proxy verifies whether the user at Host A is
   authorized to use the requested service (and potentially the ability

Sun, et al.             Expires September 8, 2010              [Page 43]
Internet-Draft          Diameter QoS Application              March 2010

   to be charged for the service usage).  Negotiated session parameters
   are provided to the end host.

   Subsequently, Host A initiates a QoS signaling message towards Host
   B. It sends a QoS NSLP Reserve message, in which it includes
   description of the required QoS (QSPEC object) and authorization data
   for negotiated service session (part of the POLICY_DATA object).
   Authorization data includes, as a minimum, the identity of the AE
   (e.g., the SIP proxy) and an identifier of the application service
   session for which QoS resources are requested.

   A QoS NSLP Reserve message is intercepted and processed by the first
   QoS aware Network Element.  The NE uses the Diameter QoS application
   to request authorization for the received QoS reservation request.
   The identity of the AE (in this case the SIP server that is co-
   located with a Diameter server) is put into the Destination-Host AVP,
   any additional session authorization data is encapsulated into the
   QoS-Authorization-Data AVP and the description of the QoS resources
   is included into QoS-Resources AVP.  These AVPs are included into a
   QoS Authorization Request message, which is sent to the AE.

   A QAR message will be routed through the AAA network to the AE.  The
   AE verifies the requested QoS against the QoS resources negotiated
   for the service session and replies with QoS-Authorization answer
   (QAA) message.  It carries the authorization result (Result-Code AVP)
   and the description of the authorized QoS parameters (QoS-Resources
   AVP), as well as duration of the authorization session
   (Authorization-Lifetime AVP).

   The NE interacts with the traffic control function and installs the
   authorized QoS resources and forwards the QoS NSLP Reserve message
   further along the data path.  Moreover, the NE may serve as a
   signaling proxy and process the QoS signaling (e.g., initiation or
   termination of QoS signaling) based on the QoS decision received from
   the authorizing entity.

9.2.  Example Call Flow for Pull Mode (Failure Case)

   This section illustrates the example shown Section 9.2 that fails due
   to an authorization failure.  Failures can occur in various steps
   throughout the protocol execution and in this example we assume that
   the Diameter QAR request processed by the Diameter server leads to an
   unsuccessful result.  The QAA message reponds, in this example, with
   a permanent error "DIAMETER_AUTHORIZATION_REJECTED" (5003)set in the
   Result-Code AVP.  When the NE receives this response it discontinues
   the QoS reservation signaling downstream and provides an error
   message back to the end host that initiated the QoS signaling
   request.  The QoS NSLP RESPONSE signaling message would in this case

Sun, et al.             Expires September 8, 2010              [Page 44]
Internet-Draft          Diameter QoS Application              March 2010

   carry a INFO_SPEC object indicating the permanent failure as
   "Authorization failure" (0x02).

Sun, et al.             Expires September 8, 2010              [Page 45]
Internet-Draft          Diameter QoS Application              March 2010

     End-Host                                 SIP Proxy  Correspondent
   requesting QoS                            (DQA Server)        Node

         |                                          |              |
       ..|...................SIP Signaling..........|..............|..
       . |  Invite (SDP)                            |              | .
       . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->              | .
       . |  100 Trying                              |              | .
       . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+  Invite (SDP)| .
       . |                                          +-.-.-.....-.-.> .
       . |                                          |  180 SDP'    | .
       . |                                          <-.-.-.....-.-.+ .
       . |                                 +--------+--------+     | .
       . |                                 |Authorize session|     | .
       . |                                 |   parameters    |     | .
       . | 180 (Session parameters)        +--------+--------+     | .
       . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+              | .
       ..|..........................................|... ..........|..
         |                                          |              |
         |           +------------+                 |              |
         |           |     NE     |                 |              |
         |           |(DQA Client)|                 |              |
         |           +------+-----+                 |              |
         |                  |                       |              |
         |QoS NSLP Reserve  |                       |              |
         +------------------> QAR                   |              |
         | (POLICY_DATA>v   +- - - - -<<AAA>>- - - ->              |
         |  QSPEC)  v   >===>(Destination-Host,     |              |
         |      v   >=======>QoS-Authorization-Data++------------+ |
         |      >===========>QoS-Resources)        |Authorize    | |
         |                  |                      |QoS resources| |
         |                  |                      ++------------+ |
         |                  | QAA                   |              |
         |                  <- - - - -<<AAA>>- - - -+              |
         |                  |(Result-Code = 5003)   |              |
         |                  |                       |              |
         |QoS NSLP Response |                       |              |
         |(with error 0x02) |                       |              |
         <------------------+                       |              |
         |                  |                       |              |
         |                  |                       |              |

         .-.-.-.-.  SIP signaling
         ---------  QoS NSLP signaling
         - - - - -  Diameter QoS Application messages
         =========  Mapping of objects between QoS and AAA protocol

Sun, et al.             Expires September 8, 2010              [Page 46]
Internet-Draft          Diameter QoS Application              March 2010

      Figure 13: QoS Authorization Example - Pull Mode (Failure Case)

9.3.  Example Call Flow for Push Mode

   This section presents an example of the interaction between the end
   host and Diameter QoS application entities using Push mode.  The
   application layer signaling is, in this example, provided using SIP.
   Signaling for a QoS resource reservation is done using the QoS NSLP.
   The authorization of the QoS reservation request is done by the
   Diameter QoS application (DQA).

    End-Host              NE                  SIP Proxy  Correspondent
  requesting QoS      (DQA Client)           (DQA Server)        Node

        |                  |                          |              |
      ..|..................|...SIP Signaling..........|..............|..
      . | Invite(SDP Offer)|                          |              | .
      . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+-.-.-.-.-.-.->| .
      . |                  |                          |   180        | .
      . |<-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+-.-.-.-.-.-.-.| .
      ..|.............................................|..............|..
        |                  |                +---------+-------------+|
        |                  |                |  Authorize Request    ||
        |                  |                |  Keep Session Data    ||
        |                  |                |/Authz-time,Session-Id/||
        |                  |                +---------+-------------+|
        |                  |                          |              |
        |                  |<-- - -- - QIR - -- - -- -+              |
        |                  |(Initial Request,Decision |              |
        |                  |(QoS-Resources,Authz-time)|              |
        |          +-------+---------+                |              |
        |          |Install QoS State|                |              |
        |          |       +         |                |              |
        |          | Authz. Session  |                |              |
        |          | /Authz-time/    |                |              |
        |          +-------+---------+                |              |
        |                  + - - -- - QIA - - - - - ->|              |
        |                  |     (Result-Code,        |              |
        |                  |      QoS-Resources)      |              |
        |                  |               +----------+------------+ |
        |                  |               |     Successful        | |
        |                  |               |     QoS Reservation   | |
        |                  |               +----------+------------+ |
      ..|.............................................|..............|..
      . |                  |                          |              | .
      . |                  |                          |  200 OK (SDP)| .
      . |                  |                          <-.-.-.....-.-.+ .
      . |                  |                 +--------+-----------+  | .

Sun, et al.             Expires September 8, 2010              [Page 47]
Internet-Draft          Diameter QoS Application              March 2010

      . |                  |                 |   Activate Session |  | .
      . |                  |                 |   Parameters       |  | .
      . |                  |                 +--------+-----------+  | .
      . | 200 (SDP)        |                          |              | .
      . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+              | .
      ..|.............................................|..............|..
        |                  <- - - - - - RAR - - - - - +              |
        |        +---------+--------+                 |              |
        |        |Activate QoS State|                 |              |
        |        +---------+--------+                 |              |
        |                  +- - - - - - RAA - - - - - >              |
        |                  |                                         |
        /------------------+-----Data Flow---------------------------\
        \------------------+-----------------------------------------/
        |                  |                                         |

        .-.-.-.-.  SIP signaling
        - - - - -  Diameter QoS Application messages

             Figure 14: QoS Authorization Example - Push Mode

   The communication starts with SIP signaling between the two end
   points and the SIP proxy for negotiation and authorization of the
   requested service and its parameters (see Figure 14).  As a part of
   the process, the SIP proxy verifies whether the user at Host A is
   authorized to use the requested service (and potentially the ability
   to be charged for the service usage).

   A few implementation choices exist regarding the decision about when
   to initiate the QoS reservation.
   [I-D.ietf-mmusic-media-path-middleboxes] discusses this aspect with a
   focus on firewalling.  In the example above the DQA server is
   triggered to authorize the QoS request based on session parameters
   from the SDP payload.  It will use a QIR message to do so.  For this
   example message flow we assume a two-stage commit, i.e. the SIP proxy
   interacts with the NE twice.  First, it only prepares the QoS
   reservation and then with the arrival of the 200 OK the QoS
   reservation is activated.

   This example does not describe how the DQA server learns which DQA
   client to contact.  We assume pre-configuration in this example.  In
   any case, the address of DQA client is put into the Destination-Host
   AVP, the description of the QoS resources is included into QoS-
   Resources AVP, and the duration of the authorization session is
   carried in the Authorization-Lifetime AVP.

   When the DQA client receives the QIR it interacts with the traffic
   control function and reserves the authorized QoS resources

Sun, et al.             Expires September 8, 2010              [Page 48]
Internet-Draft          Diameter QoS Application              March 2010

   accordingly.  At this point in time the QoS reservation is not yet
   activated.

   When a 200 OK is returned the DQA server may verify the accepted QoS
   against the pre-authorized QoS resources, and sends a Diameter RAR
   message to the DQA client in the NE for activating the installed
   policies and commit the resource allocation.

Sun, et al.             Expires September 8, 2010              [Page 49]
Internet-Draft          Diameter QoS Application              March 2010

10.  IANA Considerations

   This section contains the namespaces that have either been created in
   this specification or had their values assigned to existing
   namespaces managed by IANA.

10.1.  AVP Codes

   IANA is requested to allocate two AVP codes to the registry defined
   in [RFC3588]:

   Registry:
   AVP Code         AVP Name                      Reference
   -----------------------------------------------------------
   to be assigned   QoS-Authorization-Data        Section 7.2
   to be assigned   Bound-Auth-Session-Id         Section 7.2

10.2.  Application IDs

   IANA is requested to allocate the following application ID from the
   registry defined in [RFC3588] (using the next available value from
   the 7-16777215 range).

   Registry:
   ID values           Name                         Reference
   -----------------------------------------------------------
   to be assigned      Diameter QoS application     Section 5

10.3.  Command Codes

   IANA is requested to allocate command code values from the registry
   defined in [RFC3588].

   Registry:
   Code Value  Name                                Reference
   -----------------------------------------------------------
   TBD         QoS-Authorization-Request (QAR)     Section 5.1
   TBD         QoS-Authorization-Answer  (QAA)     Section 5.2
   TBD         QoS-Install-Request (QIR)           Section 5.3
   TBD         QoS-Install-Answer (QIA)            Section 5.4

Sun, et al.             Expires September 8, 2010              [Page 50]
Internet-Draft          Diameter QoS Application              March 2010

11.  Security Considerations

   This document describes a mechanism for performing authorization of a
   QoS reservation at a third party entity.  The Authorizing Entity
   needs sufficient information to make such an authorization decision
   and this information may come from various sources, including the
   application layer signaling, the Diameter protocol (with its security
   mechanisms), from policy information stored available with a AAA
   server and from a QoS signaling protocol.

   Below there is a discussion about considerations for the Diameter QoS
   interaction between an Authorizing Entity and a Network Element.
   Security between the Authorizing Entity and the Network Element has a
   number of components: authentication, authorization, integrity and
   confidentiality.

   Authentication refers to confirming the identity of an originator for
   all datagrams received from the originator.  Lack of authentication
   of Diameter messages between the Authorizing Entity and the Network
   Element can seriously jeopardize the fundamental service rendered by
   the Network Element.  A consequence of not authenticating the message
   sender by the Network Element would be that an attacker could spoof
   the identity of a "legitimate" Authorizing Entity in order to
   allocate resources, change resource assignments or free resources.
   The adversary can also manipulate the state at the Network Element in
   such a way that it leads to a denial of service attack by, for
   example, setting the allowed bandwidth to zero or allocating the
   entire bandwidth available to a single flow.

   A consequence of not authenticating the Network Element to an
   Authorizing Entity is that an attacker could impact the policy based
   admission control procedure operated by the Authorizing Entity that
   provides a wrong view of the resources used in the network.  Failing
   to provide the required credentials should be subject to logging.

   Authorization refers to whether a particular Authorizing Entity is
   authorized to signal a Network Element with requests for one or more
   applications, adhering to a certain policy profile.  Failing the
   authorization process might indicate a resource theft attempt or
   failure due to administrative and/or credential deficiencies.  In
   either case, the Network Element should take the proper measures to
   log such attempts.

   Integrity is required to ensure that a Diameter message has not been
   maliciously altered.  The result of a lack of data integrity
   enforcement in an untrusted environment could be that an imposter
   will alter the messages exchanged between a Network Entity and an
   Authorizing Entity potentially causing a denial of service.

Sun, et al.             Expires September 8, 2010              [Page 51]
Internet-Draft          Diameter QoS Application              March 2010

   Confidentiality protection of Diameter messages ensures that the
   signaling data is accessible only to the authorized entities.  When
   signaling messages from the Application Server, via the Authorizing
   Entity towards the Network Element traverse untrusted networks, lack
   of confidentiality will allow eavesdropping and traffic analysis.
   Additionally, Diamater QoS messages may carry authorization tokens
   that require confidentiality protection.

   Diameter offers security mechanisms to deal with the functionality
   demanded in the paragraphs above.  In particular, Diameter offers
   communication security between neighboring Diameter peers using
   Transport Layer Security (TLS) or IPsec.  Authorization capabilities
   are application specific and part of the overal implementation.

Sun, et al.             Expires September 8, 2010              [Page 52]
Internet-Draft          Diameter QoS Application              March 2010

12.  Acknowledgements

   The authors would like to thank John Loughney and Allison Mankin for
   their input to this document.  In September 2005 Robert Hancock,
   Jukka Manner, Cornelia Kappler, Xiaoming Fu, Georgios Karagiannis and
   Elwyn Davies provided a detailed review.  Robert also provided us
   with good feedback earlier in 2005.  Jerry Ash provided us review
   comments late 2005/early 2006.  Rajith R provided some inputs to the
   document early 2007.

   We would also like to thanks Alexey Melnikov, Adrian Farrel, and
   Robert Sparks for their IESG reviews.

Sun, et al.             Expires September 8, 2010              [Page 53]
Internet-Draft          Diameter QoS Application              March 2010

13.  Contributors

   The authors would like to thank Tseno Tsenov and Frank Alfano for
   starting the Diameter Quality of Service work within the IETF, for
   your significant draft contributions and for being the driving force
   for the first few draft versions.

Sun, et al.             Expires September 8, 2010              [Page 54]
Internet-Draft          Diameter QoS Application              March 2010

14.  References

14.1.  Normative References

   [I-D.ietf-dime-qos-attributes]
              Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M.,
              and A. Lior, "Traffic Classification and Quality of
              Service Attributes for Diameter",
              draft-ietf-dime-qos-attributes-15 (work in progress),
              December 2009.

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

   [RFC3588]  Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J.
              Arkko, "Diameter Base Protocol", RFC 3588, September 2003.

   [RFC4005]  Calhoun, P., Zorn, G., Spence, D., and D. Mitton,
              "Diameter Network Access Server Application", RFC 4005,
              August 2005.

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

14.2.  Informative References

   [I-D.ietf-mmusic-media-path-middleboxes]
              Stucker, B. and H. Tschofenig, "Analysis of Middlebox
              Interactions for Signaling Protocol Communication  along
              the Media Path",
              draft-ietf-mmusic-media-path-middleboxes-02 (work in
              progress), March 2009.

   [I-D.ietf-nsis-ntlp]
              Schulzrinne, H. and M. Stiemerling, "GIST: General
              Internet Signalling Transport", draft-ietf-nsis-ntlp-20
              (work in progress), June 2009.

   [I-D.ietf-nsis-qos-nslp]
              Manner, J., Karagiannis, G., and A. McDonald, "NSLP for
              Quality-of-Service Signaling", draft-ietf-nsis-qos-nslp-18
              (work in progress), January 2010.

   [RFC2205]  Braden, B., Zhang, L., Berson, S., Herzog, S., and S.
              Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
              Functional Specification", RFC 2205, September 1997.

Sun, et al.             Expires September 8, 2010              [Page 55]
Internet-Draft          Diameter QoS Application              March 2010

   [RFC2211]  Wroclawski, J., "Specification of the Controlled-Load
              Network Element Service", RFC 2211, September 1997.

   [RFC2212]  Shenker, S., Partridge, C., and R. Guerin, "Specification
              of Guaranteed Quality of Service", RFC 2212,
              September 1997.

   [RFC2474]  Nichols, K., Blake, S., Baker, F., and D. Black,
              "Definition of the Differentiated Services Field (DS
              Field) in the IPv4 and IPv6 Headers", RFC 2474,
              December 1998.

   [RFC2753]  Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework
              for Policy-based Admission Control", RFC 2753,
              January 2000.

   [RFC2865]  Rigney, C., Willens, S., Rubens, A., and W. Simpson,
              "Remote Authentication Dial In User Service (RADIUS)",
              RFC 2865, June 2000.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002.

   [RFC3313]  Marshall, W., "Private Session Initiation Protocol (SIP)
              Extensions for Media Authorization", RFC 3313,
              January 2003.

   [RFC3520]  Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh,
              "Session Authorization Policy Element", RFC 3520,
              April 2003.

   [RFC3521]  Hamer, L-N., Gage, B., and H. Shieh, "Framework for
              Session Set-up with Media Authorization", RFC 3521,
              April 2003.

   [RFC4282]  Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The
              Network Access Identifier", RFC 4282, December 2005.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, July 2006.

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246, August 2008.

Sun, et al.             Expires September 8, 2010              [Page 56]
Internet-Draft          Diameter QoS Application              March 2010

Authors' Addresses

   Dong Sun (editor)
   Alcatel-Lucent
   600 Mountain Ave
   Murray Hill, NJ  07974
   USA

   Phone: +1 908 582 2617
   Email: d.sun@alcatel-lucent.com

   Peter J. McCann
   Motorola Labs
   1301 E. Algonquin Rd
   Schaumburg, IL  60196
   USA

   Phone: +1 847 576 3440
   Email: pete.mccann@motorola.com

   Hannes Tschofenig
   Nokia Siemens Networks
   Linnoitustie 6
   Espoo  02600
   Finland

   Phone: +358 (50) 4871445
   Email: Hannes.Tschofenig@gmx.net
   URI:   http://www.tschofenig.priv.at

   Tina Tsou
   Huawei
   Shenzhen,
   P.R.C

   Email: tena@huawei.com

Sun, et al.             Expires September 8, 2010              [Page 57]
Internet-Draft          Diameter QoS Application              March 2010

   Avri Doria
   Lulea University of Technology
   Arbetsvetenskap
   Lulea,   SE-97187
   Sweden

   Email: avri@ltu.se

   Glen Zorn (editor)
   Network Zen
   1310 East Thomas Street
   #306
   Seattle, Washington  98102
   USA

   Phone: +1 (206) 377-9035
   Email: gwz@net-zen.net

Sun, et al.             Expires September 8, 2010              [Page 58]