Network Working Group                                       G. Zorn,                                        D. Sun, Ed.
Internet-Draft                                            Alcatel-Lucent
Intended status: Standards Track                               P. McCann
Expires: May 22, July 26, 2008                                     Motorola Labs
                                                           H. Tschofenig
                                                  Nokia Siemens Networks
                                                                 T. Tsou
                                                                  Huawei
                                                                A. Doria
                                          Lulea University of Technology
                                                                  D. Sun
                                                Bell Labs/Alcatel-Lucent
                                                       November 19, 2007

          Protocol for
                                                                 G. Zorn
                                                        January 23, 2008

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

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on May 22, July 26, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2007). (2008).

Abstract

   This document describes the framework, messages and procedures for the
   Diameter 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
   - Pull and Push are defined.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Diameter QoS Authorization Session Establishment and
       Management  Framework  . . . . . . . . . . . . . . . . . . . . . . . . . .  6  7
     3.1.  Parties involved  Network element functional model . . . . . . . . . . . . .  8
     3.2.  Implications of Endpoint QoS Capabilities  . . . . . . . .  6
     3.2.  Diameter QoS Authorization Session Establishment 10
       3.2.1.  Category . . . . .  6
       3.2.1.  QoS authorization session establishment for pull
               mode . . . . . . . . . . . . . . . . . . 10
       3.2.2.  Interaction modes between authorizing entity and
               network element  . . . . . . .  6
       3.2.2.  QoS authorization session establishment for push
               mode . . . . . . . . . . . . 10
     3.3.  Schemes  . . . . . . . . . . . . . 10
       3.2.3.  Discovery and selection of peer Diameter QoS
               application node . . . . . . . . . . . . 12
       3.3.1.  Schemes for pull mode  . . . . . . . 13
     3.3.  QoS authorization session re-authorization . . . . . . . . 13
       3.3.1.  Client-Side Initiated Re-Authorization . 12
       3.3.2.  Schemes for push mode  . . . . . . . . 14
       3.3.2.  Server-Side Initiated Re-Authorization . . . . . . . . 16 15
     3.4.  Session Termination  QoS Application Requirements . . . . . . . . . . . . . . . 16
   4.  QoS Application Session Establishment and Management . . . . 18
       3.4.1.  Client-Side Initiated Session Termination . 21
     4.1.  Parties involved . . . . . . 18
       3.4.2.  Server-Side Initiated Session Termination . . . . . . 19
   4.  Accounting . . . . . . . . . 21
     4.2.  Session Establishment  . . . . . . . . . . . . . . . . . . 21
   5.  Diameter QoS Authorization Application Messages
       4.2.1.  Session establishment for pull mode  . . . . . . . 22
     5.1.  QoS-Authorization Request (QAR) . . 21
       4.2.2.  Session establishment for push mode  . . . . . . . . . 24
       4.2.3.  Discovery and selection of peer Diameter QoS
               application node . . 23
     5.2.  QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 23
     5.3.  QoS-Install Request (QIR) . . . 27
     4.3.  Session re-authorization . . . . . . . . . . . . . 24
     5.4.  QoS-Install Answer (QIA) . . . . 28
       4.3.1.  Client-Side Initiated Re-Authorization . . . . . . . . 28
       4.3.2.  Server-Side Initiated Re-Authorization . . . . . 25
     5.5.  Re-Auth-Request (RAR) . . . 29
     4.4.  Session Termination  . . . . . . . . . . . . . . . 25
     5.6.  Re-Auth-Answer (RAA) . . . . 31
       4.4.1.  Client-Side Initiated Session Termination  . . . . . . 31
       4.4.2.  Server-Side Initiated Session Termination  . . . . . . 32
   5.  QoS Application Messages . . . 26
     5.7.  Accounting Request (ACR) . . . . . . . . . . . . . . . . 34
     5.1.  QoS-Authorization Request (QAR)  . 26
     5.8.  Accounting Answer (ACA) . . . . . . . . . . . . 34
     5.2.  QoS-Authorization Answer (QAA) . . . . . 27
   6.  Diameter QoS Authorization Application AVPs . . . . . . . . . 28
     6.1.  Diameter Base Protocol AVPs 35
     5.3.  QoS-Install Request (QIR)  . . . . . . . . . . . . . . . 28
     6.2.  Credit Control Application AVPs . 36
     5.4.  QoS-Install Answer (QIA) . . . . . . . . . . . . 28
     6.3.  Accounting AVPs . . . . . 36
     5.5.  Re-Auth-Request (RAR)  . . . . . . . . . . . . . . . . 29
     6.4.  Diameter . . 37
     5.6.  Re-Auth-Answer (RAA) . . . . . . . . . . . . . . . . . . . 37
   6.  QoS Application State Machine  . . . . . . . . . . . . . . . . 39
     6.1.  Supplemented states for push mode  . . . . . . . . . . . . 39
   7.  QoS Application AVPs . . . . . . . . . . . . . . . . . . . . . 41
     7.1.  Reused Base Protocol AVPs  . . . . . . . . . . . . . . . . 41
     7.2.  QoS Application Defined AVPs . . . . . . . . . . 29
   7. . . . . . 41
   8.  Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 43
   9.  Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
     7.1. 44
     9.1.  Example call flow for pull mode  . . . . . . . . . . . . . 31
     7.2. 44
     9.2.  Example call flow for push mode  . . . . . . . . . . . . . 33
   8. 46
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 37
   9.  Security Considerations 49
     10.1. AVP Codes  . . . . . . . . . . . . . . . . . . . 38
   10. Acknowledgements . . . . . 49
     10.2. AVP specific values  . . . . . . . . . . . . . . . . . . 39
   11. Contributors . 49
     10.3. AVP flags  . . . . . . . . . . . . . . . . . . . . . . . . 40
   12. Open Issues 49
     10.4. Application IDs  . . . . . . . . . . . . . . . . . . . . . 49
     10.5. Command Codes  . . . . 41
   13. References . . . . . . . . . . . . . . . . . . 50
   11. Security Considerations  . . . . . . . . . . . 42
     13.1. Normative References . . . . . . . . 51
   12. Acknowledgements . . . . . . . . . . . 42
     13.2. Informative . . . . . . . . . . . . 52
   13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 53
   14. References . . . . . . . . . . . . . . . . . . 42
   Authors' Addresses . . . . . . . . 54
     14.1. Normative References . . . . . . . . . . . . . . . . 44
   Intellectual Property and Copyright Statements . . . 54
     14.2. Informative References . . . . . . . 46

1.  Introduction

   This document describes the messages and procedures for the Diameter . . . . . . . . . . . 54
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 56
   Intellectual Property and Copyright Statements . . . . . . . . . . 58

1.  Introduction

   This document describes framework, messages and procedures for the
   Diameter QoS Application.  The Diameter QoS Application allows
   network elements (NEs) to interact with Diameter servers when
   allocating QoS resources in the network.

   In particular, two modes of operation are defined.  In the first,
   called "Pull Mode", the network element queries pro-actively sends a command
   to the Diameter
   infrastructure server for QoS authorization based on some trigger
   (such as a QoS signaling protocol) that arrives along the data path to be used for
   the session. path.
   In the second, called "Push Mode", a 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 SIP-based call control.

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

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

   In addition to the terms defined in other relevant Diameter QoS
   documents (e.g., diameter-qos-framework), the

   The following terms are used in this document:

   Diameter QoS Application Server

      A Diameter QoS application server is a logical Diameter node that
      supports the protocol interaction for QoS authorization.  The
      Diameter QoS application server resides in the authorizing entity and is able
      to respond
      (AE).  In the Pull mode, it responds to a Diameter session received from
      initiated by a Diameter QoS
      client, or initiate application client; in the Push mode,
      it initiates a Diameter session to a Diameter QoS application
      client triggered by application signaling or local events.

   Diameter QoS Application Client

      A Diameter QoS application client is a logical Diameter node that
      supports the protocol interaction for QoS enforcement.  The
      Diameter QoS client resides in the network element and is able to
      initiate element.  In the Pull
      mode, it initiates a Diameter session to the Diameter QoS
      application server triggered by a QoS signaling or other
      events, or respond events;
      in the Push mode, it responds to a Diameter session initiated by a
      Diameter QoS server.

   Resource Requesting Entity

      A resource requesting entity is a logical entity that supports the
      protocol interaction for QoS resources.  The resource requesting
      entity resides in the end-host and is able to communicate with
      peer logicial logical entities in Authorizing Entity or Network element to
      trigger the QoS authorization process.

3.  Diameter QoS Authorization Session Establishment and Management

3.1.  Parties involved

   Authorization models supported by this

   Application Server

      An application include three
   parties:
   o  Resource requesting server is a network entity
   o  Network Elements (Diameter QoS that exchanges signaling
      messages with an application (DQA) client)
   o  Authorizing Entity (Diameter QoS endpoint.  It may be a source of
      authorization for QoS-enhanced application (DQA) server)

   Note that the QoS resource requesting entity flows.  For example, a
      SIP server is only indirectly
   involved one kind of application server.

   Application Endpoint

      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 message exchange.  This entity provides result of this
      signaling, the trigger
   to initiate the Diameter QoS protocol interaction by transmitting endpoint may make a request for QoS
   signaling messages. from the
      network.  For example, a SIP User Agent is one kind of application
      endpoint.

   Authorizing Entity

      The authorizing entity acts as a Diameter server (and may
      collocate with a subscriber database) responsible for authorizing
      QoS requests for a particular application is only executed
   between flow or aggregate.  It
      may be a standalone entity or integrated with an application
      server.  This entity corresponds to the Policy Decision Point
      (PDP) (see [RFC2753]).

   AAA Cloud

      An infrastructure of AAA entities (clients, agents, servers) based
      on a AAA protocol, which provides trusted secure connections
      between them.  It offers authentication, authorization and
      accounting services to applications in flexible local and roaming
      scenarios.  Diameter [RFC3588] and RADIUS [RFC2865] are both
      widely deployed AAA protocols.

   Network Element (i.e., DQA client) and the Authorizing
   Entity (i.e., DQA server).

   The (NE)

      QoS resource requesting entity may communicate with aware router that acts as Diameter client that implements the
   Authorizing Entity using
      Diameter QoS application layer signaling for negotiation
   of service parameters.  As part in the context of this application layer document.  For
      almost all scenarios this entity triggers the protocol
   interaction, for example using SIP, authentication and authorization
   might take place. interaction
      described in this document.  This message exchange is, however, outside entity corresponds to the
   scope of Policy
      Enforcement Point (PEP) (see [RFC2753]).

   Pull Mode

      In this document.  The protocol communication between mode, the QoS
   resource requesting entity and authorization process is invoked by the QoS
      reservation request received from the endpoint.  The Network
      Element might be
   accomplished using then requests the NSIS protocol suite, RSVP or a link layer
   signaling protocol.  A description of these protocols is also outside QoS authorization decision from the scope of this document and a tight coupling with these protocols
   is not desirable since
      Authorizing entity.

   Push Mode

      In this applications aims to be generic.

3.2.  Diameter mode, the QoS Authorization 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 Pull mode or Push mode operation authorization process is invoked based on the trigger
   of QoS Authorization session.  When a QAR with a new session ID is
   received, by the Authorizing Entity operates
      request from Application Server or local policies in the pull mode; when
   other triggers are received, the
      Authorizing Entity.  The Authorizing Entity operates in the
   push mode.  Similarly, when a QIR with new session ID is received,
   the Network Element operates in the push mode; when other triggers
   are recevied, the Network Element operation in then installs the pull mode.

3.2.1. QoS
      authorization session establishment for pull mode

   A request for a QoS reservation or local events received by a Network
   Element can trigger decision to the initiation of a Diameter QoS authorization
   session.  The Network Element generates a QoS-Authorization-Request
   (QAR) message in which it maps required objects from the QoS
   signaling message to directly.

3.  Framework

   The Diameter payload objects.

   Figure 2 shows the protocol interaction QoS application runs between a resource requesting
   entity, network element (acting
   as a Network Element and the Authorizing Entity.

   The Authorizing Entity'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 client) and included into the
   Diameter message sent to the Authorizing Entity.  The QAR is sent to resource authorizing entity (acting as
   a Diameter server that can either be the home server server).  A high-level picture of the QoS
   requesting entity or an application server.

   +----------------------------------+-------------------------------+
   | QoS specific Input Data          | Diameter QoS AVPs             |
   +----------------------------------+-------------------------------+ resulting
   architecture is shown in Figure 1.

               +-------+---------+
               |   Authorizing entity ID (e.g.,     | Destination-Host              |   | taken from authorization token
               | Destination-Realm     Entity      |
               |(Diameter Server)|
               +-------+---------+
                       | or derived based on Network
                       |
                /\-----+-----/\
            ////               \\\\
          ||       AAA Cloud       ||
         |   (Diameter application)  | Access ID (NAI) [RFC2486]
          ||                       ||
            \\\\               ////
                \-------+-----/
                        |
       +---+--+   +-----+----+   +---+--+
       |      |   | of the QoS requesting entity)    NE    |   |
   +----------------------------------+-------------------------------+      | Authorization Token    Media
       +  NE  +===+(Diameter +===+  NE  +=============>>
       | QoS-Authz-Data      |   | Credentials of  Client) | User-Name   |      |    Flow
       +------+   +----------+   +------+

               Figure 1: An Architecture supporting QoS-AAA

   Figure 1 depicts network elements through which media flows need to
   pass, a cloud of AAA servers, and an authorizing entity.  Note that
   there may be more than one router that needs to interact with the QoS requesting entity        |                               |
   +----------------------------------+-------------------------------+
   | QoS parameters                   | QoS-Resources                 |
   +----------------------------------+-------------------------------+

   Authorization processing starts at AAA
   cloud along the Diameter path of a given application flow, although the figure
   only depicts one for clarity.

   In some deployment scenarios, QoS server when it
   receives aware network elements may request
   authorization through the QAR.  Based AAA cloud based on an incoming QoS
   reservation request.  The network element will route the information in request to a
   designated authorizing entity.  The authorizing entity will return
   the QoS-
   Authentication-Data, User-Name and QoS-Resources AVPs result of the server
   determines authorization decision.  In other deployment
   scenarios, the authorized QoS resources and flow state (enabled/
   disabled) from locally available information (e.g., policy
   information that may authorization will be previously established as part of an initiated upon dynamic
   application layer signaling exchange, state, so that the request must be authenticated and
   authorized based on information from one or more application servers.
   After receiving 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 request from the response returned to application server
   or the Diameter client with network element, the
   QoS-Authorization-Answer message (QAA). authorizing entity decides the
   appropriate mode (i.e.  Push or Pull).  The Push or Pull mode can be
   dynamically determined based on the information received from the
   request of the application server and/or the information (e.g.
   policy) in the authorizing entity, or statically configured according
   to operator's demand, or the messages between AE and NE.  The
   Authorizing
     End-Host         Network Element Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server) may identify the access network through the use of
   some out-of-band signaling, such as SIP, Diameter, which may be sent
   from the application server to Authorizing Entity, and then select
   appropriate resource admission and control policies.

   If defined properly, the interface between the routers and AAA cloud
   would be identical in both cases.  Routers are therefore insulated
   from the details of particular applications and need not know that
   application servers are involved at all.  Also, the AAA cloud would
   naturally encompass business relationships such as those between
   network operators and third-party application providers, enabling
   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.

            +--------------------------------------------------------------+
            | DIAMETER Client                                              |
            | Functionality                                                |
       +---QoS-Reserve---->|
            | +---------------+    +-----------------+   +---------------+ |                   +- - - - - QAR - - - - - >|
            |                   |(QoS-Resources,Cost, | User          |    |   QoS-Auth-Data,User-ID)| QoS Application |   |                +--------+--------------+ Accounting    | |
            |  Authorize request | Authentication|    | Client          |   |  Keep session data Client (e.g.  | |
            |                |/Authz-time,Session-Id/| | Client        |                +--------+--------------+    |                   |< - - - - QAA - - - - - -+ (Authorization  |                   |(Result-Code,CC-Time,Cost|   |for QoS Traffic| |                   |QoS-Resources,Authz-time)|
            |           +-------+---------+ +---------------+    |           |Install of QoS state| Requests)|   +---------------+ |
            |       +                      +-----------------+                     |
            +--------------------------------------------------------------+
                                           ^
                                           v
         +--------------+            +----------+
         |QoS Signaling |            | Authz. session Resource |
         |Msg Processing|<<<<<>>>>>>>|Management|
         +--------------+            +----------+
              .  ^   |              *      ^
              | /Authz-time,  v   .            *        ^
         +-------------+        *          ^
         |Signaling msg|       *           ^
         |                QoS Responder Processing  |       *           V
         +-------------+       *           V
              |  CC-Time,Cost/      |                    Node         *           V
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
              .      .         *           V
              |           +-------+---------+      |         *     .............................
              .      .         *     .   Traffic Control         .
              |                   +----------QoS-Reserve---....--->|      |         *     .                +---------+.
              .      .         *     .                |Admission|.
              |      |         *     .                |                   |<---------QoS-Response--....----|
       |<--QoS-Response----+ Control |.
    +----------+    +------------+   .                +---------+.
<-.-|  Input   |    | Outgoing   |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->
    |  Packet  |
       |=====================Data Flow==============....===>|    | Interface  |
       |                   +- - - - - ACR - - - - - >|
       |                   |(START,QoS-Resources,Cost|
       |                   |CC-Time,Acc-Multisess-id)|
       |                   |                +--------+--------------+
       |                   |                | Report for successful |
       |                   |                |   QoS reservation     |
       |                   |                |Update of reserved QoS |
       |                   |                |      resources        |
       |                   |                +--------+--------------+
       |                   |< - - - - ACA - - - - - -+
       |   .+----------+    +---------+.
===>|Processing|====| Selection  |===.|  Packet  |====| Packet  |.=>
    |          |    |(Forwarding)|   .|Classifier|     Scheduler|.
    +----------+    +------------+   .+----------+    +---------+.
                                     .............................
        <.-.-> = signaling flow
        =====> = data flow (sender --> receiver)
        <<<>>> = control and configuration operations
        ****** = routing table manipulation

                Figure 2: Initial Network element functional model

   Processing of incoming QoS Request Authorization for pull

   The Authorizing Entity keeps reservation requests includes three
   actions: admission control, authorization session state and SHOULD
   save additional resource reservation.

   The admission control function provides information for management of the session (e.g., Acc-
   Multi-Session-Id, Signaling-Session-Id, authentication data) as part
   of the session state information.  A Signaling-session-Id (if
   present) SHOULD be used together with available
   resources and determines whether there are enough resources to
   fulfill the generated Acc-Multi-
   Session-Id AVP (see Section 6.3) for binding request.  Authorization is performed by the Diameter
   client function which involves contacting an authorization and entity
   through the accounting session information AAA cloud shown in case of end host mobility
   (i.e., to correlate the Diameter sessions that Section 3.  If both checks are initiated for
   successful, the
   same signaling session from different authorized QoS NE).

   The final result of the authorization request is provided parameters are set in the
   Result-Code AVP of packet
   classifier and the QAA message sent by packet scheduler.  Note that the Authorizing Entity.
   In case of successful authorization (i.e., Result-Code =
   DIAMETER_LIMITED_SUCCESS, (see Section 6.1)), information about parameters passed
   to the
   authorized Traffic Control function may be different from requested QoS resources and
   (depending on the status of authorization decision).  Once the authorized flow
   (enabled/disabled) requested
   resource is provided in the QoS-Resources AVP of granted, the QAA
   message.  The QoS Resource Management function provides
   accounting information provided via to the QAA is installed by Authorizing entity using the QoS Traffic Control function Diameter
   client function.

3.2.  Implications of the Network Element. Endpoint QoS Capabilities

3.2.1.  Category

   The value
   DIAMETER_LIMITED_SUCCESS indicates that the Authorizing entity
   expects confirmation via an accounting message for successful QoS
   resource reservation and for final reserved capabilities of endpoints are varied, which can be
   categorized as follows:
   o  Category 1 endpoint: Has no QoS resources (see
   below).

   One important piece capability at both application and
      network levels.  This type of information returned from the Authorizing
   Entity endpoint may set up a connection
      through application signaling, but it is the authorization lifetime (carried inside the QAA).  The
   authorization lifetime allows the Network Element unable to determine how
   long specify any
      resource/QoS requirements either through application signaling or
      does not support network signaling at all.
   o  Category 2 endpoint: Only has QoS capability at the authorization decision application
      level.  This type of endpoint is valid for this particular able to set up a connection
      through application signaling with certain resource/QoS
      requirements (e.g., application attributes), but it is unable to
      specify any network level resource/QoS requirements (e.g., network
      QoS
   reservation.  A number of factors may influence the authorized
   session duration, such as the user's subscription plan class) through network signaling e.g., RSVP or currently
   available credits NSIS (or does
      not support network layer signaling at all).
   o  Category 3 endpoint: Has QoS capability at the user's account (see Section 4).  The
   authorization duration is time-based as specified in [RFC3588].  For
   an extension network level.
      This type of the authorization period, endpoint may set up a new QoS-Authorization-
   Request/Answer message exchange SHOULD be initiated.  Further aspects
   of connection through application
      signaling and translate service characteristics into network
      resource/QoS requirements (e.g., network QoS authorization session maintenance is discussed in Section 3.3,
   Section 3.4 class) locally, and Section 4.

   The indication of a successful
      request the resources through network signaling, e.g., RSVP or
      NSIS.

3.2.2.  Interaction modes between authorizing entity and network element

   Different QoS reservation mechanisms are employed in packet networks.  Those QoS
   mechanisms can be categorized into two schemes: IntServ and activation of DiffServ.
   In the
   data flow is provided by the transmission IntServ scheme, network signaling (e.g., RSVP, NSIS, or link
   specific signaling) is commonly used to initiate a request from
   endpoint for desired QoS resource of an Accounting Request
   (ACR) message, which reports media flow.  In the parameters of DiffServ
   scheme, the established QoS
   state: reserved resources, duration resources are provisioned based on some predefined
   QoS service classes instead of endpoint initiated per flow based QoS
   request.

   It is obvious that the reservation,
   identification of eligible QoS scheme is correlated to the
   endpoint's capability in the context of QoS enabled flow/QoS signaling session authorization.  Since
   category 1 and
   accounting parameters.  The Diameter QoS server acknowledges 2 endpoints cannot initiate the
   reserved QoS resources with resource requests
   through the Accounting Answer (ACA) message where network signaling, the Result-Code IntServ model is set not applicable to 'DIAMETER_SUCCESS'.  Note that the reserved
   QoS resources reported
   them in general.  Depending on network technology and operator's
   demand, a category 3 endpoint may either make use of the ACR message MAY be different than those
   initially authorized with network
   signaling for requesting the QAA message, due to resource or not perform the request.

   The diversity of QoS signaling
   specific behavior (e.g., receiver-initiated reservations with One-
   Path-With-Advertisements) or specific process capabilities of endpoints and QoS negotiation
   along schemes of
   network technology leads to the data path.

3.2.2.  QoS authorization session establishment for push distinction on the interaction mode

   The Diameter
   between QoS server in authorization system and underlying network elements.
   When the Authorizing Entity initiates IntServ scheme is employed by category 3 endpoint, the
   authorization process is typically initiated by network element when
   a
   Diameter QoS trigger such as the network signaling is received from the
   endpoint.  In the DiffServ scheme, since the network element is
   unable to request the resource authorization session on its own initiative,
   the authorization process is typically triggered upon either the
   request for QoS
   reservation triggered by of application layer signaling servers or policies defined by local
   events, and generates a QoS-Install-Request (QIR) message to Diameter
   QoS client in the NE operator.

   As a consequence, two interaction modes are needed in which it maps required objects to Diameter
   payload objects.

   Figure 4 shows the protocol interaction between the Authorizing
   Entity, a Network Element support of
   different combinations of QoS schemes and a resource requesting entity. endpoint's QoS
   capabilities: Push mode and Pull mode.

   o  Push mode: The Network Element's identity, information about the QoS authorization process is triggered by
      application
   session and/or identity and credentials servers or local network conditions (e.g., time of the QoS day
      on resource
   requesting entity, requested QoS parameters, signaling session
   identifier and/or usage and QoS enabled data flows identifiers MAY be
   encapsulated into respective Diameter AVPs classes), and included into the authorization
      decisions are installed by the authorizing entity to the network
      element on its own initiative without explicit request.  In order
      to support the push mode, the authorizing entity (i.e., Diameter message sent from
      server) should be able to initiate a Diameter QoS server in the Authorizing
   Entity authorization
      session to a communicate with the network element (i.e., Diameter
      client) without any pre-established connection from the network
      element.
   o  Pull mode: The QoS client authorization process is triggered by the
      network signaling received from end user equipments or by the
      local event in the NE.  This requires that network element according to pre-configured
      policies, and authorization decisions are produced upon the
   Authorizing Entity has knowledge
      request of specific information for
   allocating and identifying the Network Element that should be
   contacted and network element.  In order to support the data flow for which pull
      mode, the QoS reservation should be
   established.  This information can be statically configured or
   dynamically discovered, see section 3.2.3 for details.

   +----------------------------------+-------------------------------+
   | QoS specific Input Data          | network element (i.e., Diameter QoS AVPs             |
   +----------------------------------+-------------------------------+
   | Network Element ID (e.g., from   | Destination-Host              |
   | static configuration             | Destination-Realm             |
   | or dynamically discovered, see   |                               |
   | section 3.2.3 for details)       |                               |
   +----------------------------------+-------------------------------+
   | Authorization Token              | QoS-Authz-Data                |
   | Credentials of                   | User-Name                     |
   | the QoS requesting client) will initiate a
      Diameter authorization session to communicate with authorizing
      entity        |                               |
   +----------------------------------+-------------------------------+
   | QoS parameters                   | QoS-Resources                 |
   +----------------------------------+-------------------------------+

   Authorization processing starts at the (i.e., Diameter QoS server when it
   receives server).

   For category 1 and 2 endpoints, the request from a resource requesting entity through
   application server (e.g.  SIP Invite) Push mode is required, in
   particular, category 1 endpoint requires network initiated push mode
   and category 2 endpoint may use both them.  For category 3 endpoint,
   either push mode or the trigger pull mode is doable.

   The Push mode is applicable to certain networks, for example, Cable
   network, DSL, Ethernet, Diffserv enabled IP/MPLS as defined by local events
   (e.g. pre-configured timer).  Based on other
   SDOs, e.g., ETSI TISPAN and ITU-T.  The Pull mode is more appropriate
   to IntServ enabled IP networks or certain wireless networks such as
   GPRS networks as defined by 3GPP/PP2.  Some networks, e.g., WiMAX may
   require both Push and Pull modes.

3.3.  Schemes

3.3.1.  Schemes for pull mode

   Three basic authorization schemes for pull mode exist: one two-party
   and two three-party schemes.  The notation adopted here is in respect
   to the received information entity that performs the
   server determines QoS authorization.  The
   authentication of the authorized QoS resources and flow state
   (enabled/disabled) from locally available information (e.g., policy
   information that may requesting entity might be previously established done at the
   network element as part of the QoS signaling protocol, or by an off-
   path protocol run (on the application layer signaling exchange, or for network access
   authentication) or the user's subscription
   profile).  The authorizing entity might be contacted with
   request for authentication and authorization decision is then reflected in the QoS-
   Install-Request message (QIR) to of the Diameter QoS client.

                                               Authorizing
     End-Host         Network Element             Entity requesting QoS      ( Diameter              (
   entity.  From the Diameter QoS Client)             QoS Server)
       |                   |                          | application's point of view these
   schemes differ in type of information that need to be carried.  Here
   we focus on the 'Three party scheme' (see Figure 3) and the 'Token-
   based three party scheme' (see Figure 4).  With the 'two party
   scheme' the QoS resource requesting entity is authenticated by the
   Network Element and the authorization decision is made either locally
   at the Network Element itself or offloaded to a trusted entity (most
   likely within the same administrative domain).  In the former case no
   Diameter QoS protocol interaction is required.

                                        +--------------+
                                        | Entity       |                          |<-- Trigger --
                                        | authorizing  |                 +--------+--------------+ <......+
                                        | resource     |        .
                                        |  Authorize request      |        .
                                        +------------+-+        .
                                        --^----------|--   .    .
                                   /////  |          |  \\\\\   .
                                 //       |  Keep session data          |       \\ .
                                |     QoS |                 |/Authz-time,Session-Id/| QoS AAA  | QoS     |.
                                |                 +--------+--------------+    authz| protocol |authz    |.
                                |     req.|          | res.    |.
                                 \\       |          |                   |<-- - -- - QIR - - - - - -+       // .
                                   \\\\\  |                   |(Initial Request,Decision          |  /////   .
                          QoS           --|----------v--   .    .
       +-------------+    request       +-+------------+        .
       |                   |(QoS-Resources,Authz-time)|  Entity     |----------------->| NE           |           +-------+---------+        .
       |           |Install QoS state|  requesting |                  |       + performing   |        .
       |  resource   |granted / rejected| QoS          |  <.....+
       | Authz. session             |<-----------------| reservation  | financial
       +-------------+                  +--------------+ settlement

                       Figure 3: Three Party Scheme

   With the 'three party scheme' a QoS reservation request that arrives
   at the Network Element is forwarded to the Authorizing Entity (e.g.,
   in the user's home network), where the authorization decision is
   made.  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.

                               financial settlement
                                ...........................+
      Authorization             V             -------      .
      Token Request   +--------------+      / QoS AAA \    .
      +-------------->|              |     /  protocol \   .
      |               | /Authz-time, Authorizing  +--------------+   \  .
      |               | Entity       |  CC-Time,Cost/   |          |           +-------+---------+    |                   + - - - - QIA - - - - - ->| .
      |        +------+              |<--+----+     |    (Result-Code,    | .
      |        |     QoS-Resources)      +--------------+  |QoS  |     |QoS  |.
      |        |                +--------+--------------+                        |authz|     |authz|.
      |        |Authorization           |req.+|     |res. |.
      |        |Token                   |Token|     | Report for successful     |.
      |        |                         |    |   QoS reservation     | .  | .
      |                |Update of reserved QoS        |                          \   |     | . /  .
      |      resources        |                            \ |     |                +--------+--------------+ /    .
      |        |      QoS Responder request             |-----V .    .
    +-------------+ + Authz. Token   +--------+-----+      .
    |  Entity     |----------------->| NE           |                               Node      .
    |  requesting |                  |
       |=====================Data Flow==============....===>| performing   |      .
    |  resource   |granted / rejected| QoS          |                   +- - - - - ACR - - - - - >|
       |                   |(START,QoS-Resources,Cost|
       |                   |CC-Time,Acc-Multisess-id)|
       |                   |< - - - - ACA - - - - - -+
       | <....+
    |             |<-----------------| reservation  |
    +-------------+                  +--------------+

                 Figure 4: Initial QoS Request Authorization for push
   The Authorizing Entity keeps authorization session state and SHOULD
   save additional information for management of the session (e.g., Acc-
   Multi-Session-Id, Signaling-Session-Id, authentication data) as part
   of the session state information.  A Signaling-session-Id (if
   present) SHOULD be Token-based Three Party Scheme

   The 'Token-based Three Party scheme' is applicable to environments
   where a previous protocol interaction is used together with the generated Acc-Multi-
   Session-Id AVP (see Section 6.3) for binding the to request
   authorization and
   the accounting session information in case of end host mobility
   (i.e., tokens to correlate the Diameter sessions that are initiated for the
   same signaling session from different QoS NE).

   The final result of assist the authorization decision is provided in the
   QoS-Resources AVP of process at the QIR message sent by
   Network Element or the Authorizing Entity.

   The QoS information provided via the QIR is installed by resource requesting entity may be involved in an application
   layer protocol interaction, for example using SIP, with the QoS
   Traffic Control function
   Authorizing Entity.  As part of this interaction, authentication and
   authorization at the Network Element.  In the case application layer might take place.  As a result
   of a successful enforcement, authorization decision, which might involve the Result-Code (= DIAMETER_SUCCESS, (see
   Section 6.1)) information
   user's home AAA server, an authorization token is provided in the QIA message.

   One important piece of information from generated by the
   Authorizing Entity is (e.g., the
   authorization lifetime (carried inside SIP proxy and an entity trusted by the QIR).
   SIP proxy) and returned to the end host for inclusion into the QoS
   signaling protocol.  The authorization
   lifetime allows the token will be used by a
   Network Element to determine how long that receives the
   authorization decision is valid for this particular QoS reservation.
   A number of factors may influence signaling message to authorize
   the authorized session duration,
   such as QoS request.  Alternatively, the user's subscription plan or currently available credits
   at Diameter QoS application will be
   used to forward the authorization token to the user's account (see Section 4). home network.
   The authorization duration is
   time-based as specified in [RFC3588].  For an extension of token allows the authorization period, a new QoS-Install-Request/Answer message or
   QoS-Authorization-Request/Answer message exchange SHOULD decision performed
   at the application layer protocol run to be
   initiated.  Further aspects of QoS authorization session maintenance
   is discussed in Section 3.3, Section 3.4 and Section 4.

   The indication of associated with a successful
   corresponding QoS reservation and activation of the
   data flow, is provided by the QoS-Install-Answer message. signaling session.  Note that the reserved QoS resources reported in the QIA message MAY be
   different than those initially authorized with the QIR message, due authorization
   token might either refer to established state concerning the QoS signaling specific behavior (e.g., receiver-initiated
   reservations with One-Path-With-Advertisements)
   authorization decision or specific process
   of QoS negotiation along the data path. 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 authorization
   token may contain several pieces of xxx = Acounting_Info in information pertaining to the QIR,
   authorized application session, but at minimum it indicates should contain:
   o  An identifier of the
   confirmation to Authorizing Entity (for example, of an accounting server
      application server) that issued the authorization token,
   o  An identifier referring to a specific application protocol session
      for successful QoS resource
   reservation which the token was issued and for final reserved QoS resources (see below).  An ACR
   o  A keyed message reports digest or digital signature protecting the parameters content
      of the established QoS state: reserved
   resources, duration of authorization token.

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

   In the QoS
   enabled flow/QoS signaling session and accounting parameters to
   accounting server.  The accounting server acknowledges scenario mentioned above, where the reserved QoS resources resource requesting
   entity is involved in an application layer protocol interaction with
   the Accounting Answer (ACA) message where the
   Result-Code is set Authorizing entity, it may be worthwhile to 'DIAMETER_SUCCESS'.

3.2.3.  Discovery and selection of peer Diameter QoS application node consider a token less
   binding mechanism also.  The Diameter QoS application node layer protocol interaction
   may obtain the location information
   of its peer nodes (i.e.  FQDN or IP address) through static
   configuration or dynamic discovery as described in [RFC3588].  In
   particular, have indicated the Network Element shall perform transport port numbers at the relevant operation QoS resource
   requesting entity where it might receive media streams, for Pull mode; example
   in SIP/SDP signalling these port numbers are advertised.  The QoS
   resource requesting entity may also use these port numbers in some IP
   filter indications to the Authorizing Entity shall perform NE performing QoS reservation so that it
   may properly tunnel the relevant
   operations for Push mode.

   Upon receipt of a trigger to initiate a new Diameter inbound packets.  The NE performing QoS
   authorization session,
   reservation will forward the Diameter QoS application node selects resource requesting entity's IP
   address and
   retrieves the location information of IP filter indications to the peer node and based on some
   index information provided by Authorizing entity in
   the QoS authz. request.  The Authorizing entity will use the QoS
   resource requesting entity.  For
   instance, it can be entity's IP address and the Authorization Entity's ID stored port numbers in the
   authorization token, the end-host's identity (e.g.  NAI [RFC2486]) or
   globally routable
   IP address.

3.3.  QoS authorization session re-authorization

   Client and server-side initiated re-authorizations are considered filter indication, which will match the port numbers advertised in
   the design earlier application layer protocol interaction, to identify the
   right piece of policy information to be sent to the NE performing the Diameter
   QoS application.  Whether the re-
   authorization events are transparent for the resource requesting
   entity or result in specific actions in reservation in the QoS signaling protocol is
   outside authz. response.

3.3.2.  Schemes for push mode

   The push mode can be further divided into two types: endpoint
   initiated and network initiated.  In the scope of former case, the Diameter QoS application.  It
   authorization process is directly
   dependent on triggered by application server upon
   explicit QoS request from endpoints through application signaling,
   e.g.  SIP; in the capabilities of latter case, the authorization process is triggered
   by application server without explicit QoS signaling protocol.

   There are a number of options for policy rules according to which request from endpoint.

   In the
   NE (AAA client) contacts endpoint initiated scheme, the Authorizing Entity for re-authorization.
   These rules depend on QoS resource requesting entity
   (i.e. endpoint) determines the semantics required application level QoS and contents of the QAA message
   sent by the Authorizing Entity:

   a.  The QAA message contains
   sends the authorized parameters of QoS request through application signaling message, the flow
       and its
   Application Server will extract application level QoS information and sets their limits (presumably upper).  With these
       parameters
   trigger the authorization process to Authorizing Entity specifies entity.  In the services that
   network initiated scheme, the
       NE can provide Authorizing entity and/or Application
   server should derive and will be financially compensated for.
       Therefore, any change or request for change of the parameters of determine the flow and its QoS that do not conform requirement according to
   application attribute, subscription and endpoint's capability when
   the authorized limits
       requires contacting the Authorizing Entity for authorization.
   b.  The QAA message contains authorized parameters of endpoint does not explicitly indicate the flow and
       its QoS. QoS attributes.  The rules that determine whether parameters' changes
       require re-authorization are agreed out of band,
   authorizing entity makes authorization decision based on a
       Service Level Agreement (SLA) between the domains of the NE application
   level QoS information, network policies, end user subscription and
       the Authorizing Entity.
   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 Authorizing entity 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
   network resource availability etc., and is not
   considered in the current document.

   In addition, the Authorizing Entity may use RAR to perform re-
   authorization with the authorized parameters directly when the re-
   authorization is triggered by service request or local events/policy
   rules.

3.3.1.  Client-Side Initiated Re-Authorization

   The Authorizing Entity provides the duration of the authorization
   session as part of installs the QoS-Authorization-Answer message (QAA).  At
   any time before expiration of this period, a new QoS-Authorization-
   Request message (QAR) MAY be sent decision to the Authorizing Entity.  The
   transmission of the QAR MAY be triggered when the Network Element
   receives a QoS
   network element directly.

                               financial settlement
                                ...........................+
      Application               V             -------      .
      signaling message that requires modification of the
   authorized parameters of an ongoing msg   +--------------+      / QoS session, when authorization
   lifetime expires or by an accounting event, see Section 4 and
   Figure 5). AAA \    .
      +-------------->|              |     /  protocol \   .
      |               | Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)  +--------------+   \  .
      |               | Entity       |
       |=====================Data Flow==========================>   |          |    | .
      |           +-------+----------+               +              |<--+----+     |    |           |Authz-time/CC-Time| .
      |               +--------------+  |QoS  |     |QoS  |.
      |    expires                                install|     |install
      |                                 |rsp. |     |req. |.
      |           +-------+----------+                                 |     |                   +- - - - - QAR - - - - - >|     |                   |(QoS-Resources,Cost,     |.
      |                                  |    | QoS-Authz-Data,User-ID)|
                           |                +--------+--------------+
    NOTE:                  |                |  Authorize request    |
    Re-authorization       |                | Update session data   |
    is transparent to      |                |/Authz-time,Session-Id/|
    the End-Host           |                +--------+--------------+
                           |< - - - - QAA - - - - - -+
       |                   |(Result-Code,CC-Time,Cost|
       |                   |QoS-Resources,Authz-time)|
       |           +-------+---------+               |
       |           |Update QoS state |               |
       |           |       +         |               |
       |           | Authz. session  |               |
       |           | /Authz-time,     | .  | .
      |                                   \   |  CC-Time,Cost/     | . /  .
      |                                     \ |           +-------+---------+     | /    .
      V                                       |-----V .    .
    +-------------+                  +--------+-----+      .
    |  Entity     |                  | NE           |                   +- - - - - ACR - - - - - >|      .
    |                   |(INTRM,QoS-Resources,Cost|  requesting |                   |CC-Time,Acc-Multisess-id)|                  | performing   |                +--------+--------------+      .
    |  resource   |QoS rsrc granted  |                |Update of QoS resources|
       |                   |                |/CC-Time,Cost/ used          | <....+
    |             |<-----------------| reservation  |                +--------+--------------+
       |                   |< - - - - ACA - - - - - -+
       |                   |                         |
       |=====================Data Flow==========================>
       |                   |
    +-------------+                  +--------------+

                      Figure 5: Client-side initiated 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
   compliant with different deployment scenarios with 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:

   Inter-domain support

      In particular, users may roam outside their home network, leading
      to a situation where the network element and authorizing entity
      are in different administrative domains.

   Identity-based Routing

      The QoS AAA protocol MUST route AAA requests to the Authorizing
      Entity, based on the provided identity of the QoS requesting
      entity or the identity of the Authorizing entity encoded in the
      provided authorization token.

   Flexible Authentication Support

      The QoS AAA protocol 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 QoS AAA protocol MUST exchange sufficient information between
      the authorizing entity and the enforcing entity (and vice versa)
      to compute an authorization decision and to execute this decision.

   Triggering an Authorization Process

      The QoS AAA protocol MUST allow periodic and event triggered
      execution of the authorization process, originated at the
      enforcing entity or even at the authorizing entity.

   Associating QoS Reservations and Application State

      The QoS AAA protocol MUST carry information sufficient for an
      application server to identify the appropriate application session
      and associate it with a particular QoS reservation.

   Dynamic Authorization

      It MUST be possible for the QoS AAA protocol to push updates
      towards the network element(s) from authorizing entities.

   Bearer Gating

      The QoS AAA protocol MUST allow the authorizing entity to gate
      (i.e., enable/disable) authorized application flows based on,
      e.g., application state transitions.

   Accounting Records

      The QoS AAA protocol 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.

   Sending Accounting Records

      The network element SHOULD be able to send accounting records for
      a particular QoS reservation state to an accounting entity.

   Failure Notification

      The QoS AAA protocol MUST allow the network element 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 QoS AAA protocol may support the exchange of sufficient
      information to allow for correlation between accounting records
      generated by the network elements and accounting records generated
      by an application server.

   Interaction with other AAA Applications

      Interaction with other AAA applications such as Diameter Network
      Access (NASREQ) application [RFC4005] is 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 Authorizing Entity
   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) handshake in the
   General Internet Signaling Transport (GIST) protocol, see
   [I-D.ietf-nsis-ntlp]).

   Authentication of the QoS reservation requesting entity to the
   Authorizing Entity is necessary if a particular Diameter QoS
   application protocol run cannot be related (or if there is no
   intention to relate it) to a prior authentication.  In this case the
   Authorizing Entity 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 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
      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 network elements.
      It is included in the authorization request message sent to the
      Authorizing entity 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 network element correlates the
   QoS signaling session with the Diameter authorization sessions.  The
   Authorizing entity 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.

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 resource requesting entity 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 resource requesting entity may communicate with the
   Authorizing Entity 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 Network Element 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 and a tight coupling with these protocols
   is not desirable since this applications aims to be generic.

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 Pull mode or Push mode operation is invoked based on the trigger
   of QoS Authorization session.  When a QAR with a new session ID is
   received, the Authorizing Entity operates in the pull mode; when
   other triggers are received, the Authorizing Entity operates in the
   push mode.  Similarly, when a QIR with new session ID is received,
   the Network Element operates in the push mode; when other triggers
   are received, the Network Element operation in the pull mode.

4.2.1.  Session establishment for pull mode

   A request for a QoS reservation or local events received by a Network
   Element can trigger the initiation of a Diameter QoS authorization
   session.  The Network Element generates a QoS-Authorization-Request
   (QAR) message in which it maps required objects from the QoS
   signaling message to Diameter payload objects.

   Figure 7 shows the protocol interaction between a resource requesting
   entity, a Network Element and the Authorizing Entity.

   The Authorizing Entity'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 to the Authorizing Entity.  The QAR is sent to
   a Diameter server that can either be the home server of the QoS
   requesting entity or an application server.

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

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

                                               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==============....===>|
       |                   |
       |                   +- - - - - QAR - - - - - >|
       |                   |(START,QoS-Resources)    |
       |                   |                         |
       |                   |                +--------+--------------+
       |                   |                | Report for successful |
       |                   |                |   QoS reservation     |
       |                   |                |Update of reserved QoS |
       |                   |                |      resources        |
       |                   |                +--------+--------------+
       |                   |< - - - - QAA - - - - - -+
       |                   |                         |

           Figure 7: Initial QoS Request Authorization for pull

   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 Network Element.  The value
   DIAMETER_LIMITED_SUCCESS indicates that the Authorizing entity
   expects confirmation via another QAR message for successful QoS
   resource reservation and 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 Network Element 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 an 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 Authorizing Entity 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 9 shows the protocol interaction between the Authorizing
   Entity, a Network Element and a resource requesting entity.

   The Network Element'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
   Authorizing Entity has knowledge of specific information for
   allocating and identifying the Network Element that should be
   contacted and the data flow for which the QoS reservation should be
   established.  This information can be statically configured or
   dynamically discovered, see Section 3.2.3 for details.

   +----------------------------------+-------------------------------+
   | QoS specific Input Data          | Diameter QoS AVPs             |
   +----------------------------------+-------------------------------+
   | Network Element ID (e.g., from   | Destination-Host              |
   | static configuration             | Destination-Realm             |
   | or dynamically discovered, see   |                               |
   | Section 3.2.3 for details)       |                               |
   +----------------------------------+-------------------------------+
   | Authorization Token              | QoS-Authz-Data                |
   | Credentials of                   | User-Name                     |
   | the QoS requesting entity        |                               |
   +----------------------------------+-------------------------------+
   | QoS parameters                   | QoS-Resources                 |
   +----------------------------------+-------------------------------+

   Authorization processing starts at the Diameter QoS server when it
   receives the request from a resource requesting entity through
   application server (e.g., SIP Invite) or the trigger by local events
   (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.

                                               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==============....===>|
       |                   |
       |                  (+- - - - - QAR - - - - - >|)
       |                  (|(START,QoS-Resources)    |)
       |                  (|< - - - - QAA - - - - - -+)
       |                   |                         |

           Figure 9: Initial QoS Request Authorization for push

   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 decision is provided in the
   QoS-Resources AVP of the QIR message sent by the Authorizing Entity.
   The QoS information provided via the QIR is installed by the QoS
   Traffic Control function of the Network Element.

   One important piece of information from the Authorizing Entity is the
   authorization lifetime (carried inside the QIR).  The authorization
   lifetime allows the Network Element 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
   is 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.  When path
   coupled signaling is used for QoS reservation along the data path,
   QAR/QAA may be used to update the results of QoS reservation and
   enforcement following the establishment of data flows.

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 [RFC3588].  In particular, the
   Network Element shall perform the relevant operation for Pull mode;
   the Authorizing Entity 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 and based on some
   index information provided by the resource requesting entity.  For
   instance, it can be the Authorization Entity's ID stored in the
   authorization token, the end-host's identity (e.g., NAI [RFC2486]) or
   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
   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 Authorizing Entity for re-authorization.
   These rules depend on the semantics and contents of the QAA message
   sent by the Authorizing Entity:

   a.  The QAA message contains the authorized parameters of the flow
       and its QoS re-authorization

3.3.2.  Server-Side Initiated Re-Authorization

   The and sets their limits (presumably upper).  With these
       parameters the Authorizing Entity MAY initiate a 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 Authorizing Entity 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 by issuing are agreed out of band, based on a Re-Auth-Request message (RAR) as defined in
       Service Level Agreement (SLA) between the Diameter base
   protocol [RFC3588], which may include domains of the NE and
       the Authorizing Entity.
   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 Authorizing entity for re-
       authorization.
   d.  In addition to the authorized QoS state: reserved resources, duration parameters of the
   reservation, identification of flow and its QoS,
       the QoS enabled flow/QoS signaling
   session QAA message contains policy rules that determine the NEs
       actions in case of change or request for re-installation change in authorized
       parameters.

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

   In addition, the Authorizing Entity may use RAR 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 Authorizing Entity provides the QoS Traffic
   Control function duration of the Network Element.

   A Network Element that receives such a RAR message with Session-Id
   matching a currently active QoS authorization
   session acknowledges the request by
   sending as part of the Re-Auth-Answer (RAA) QoS-Authorization-Answer message towards (QAA).  At
   any time before expiration of this period, a new QoS-Authorization-
   Request message (QAR) MAY be sent to the Authorizing
   entity.

   If RAR does not include any parameters Entity.  The
   transmission of the re-authorized QoS
   state, QAR MAY be triggered, such as, when the Network
   Element MUST initiate receives a QoS re-authorization by
   sending a QoS-Authorization-Request (QAR) signaling message towards that requires modification
   of the
   Authorizing entity. authorized parameters of an ongoing QoS session, or
   authorization lifetime expires.

                                               Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)
       |                   |                         |
       |=====================Data Flow==========================>
       |                   |                          |<-- Trigger --
       |                   |                 +--------+--------------+
       |                   |                 |  Authorize request    |                         |
       |           +-------+----------+              |  Keep session data
       |           |Authz-time/CC-Time|              |
       |                 |/Authz-time,Session-Id/|           |    expires       |                 +--------+--------------+              |
       |           +-------+----------+              |
       |                   |<--                   +- - -- - RAR - - QAR - - - -+
       |                   |(Request,Decision |
       |                   |(QoS-Resources,Authz-time)|
       |           +-------+---------+
       |           |Install QoS state| - - >|
       |                   |(QoS-Resources,          |       +
       |                   | QoS-Authz-Data,User-ID) | Authz. session
                           |                +--------+--------------+
    NOTE:                  |                | /Authz-time,  Authorize request    |
    Re-authorization       |                |  CC-Time,Cost/ Update session data   |
    is transparent to      |           +-------+---------+                |/Authz-time,Session-Id/|
    the End-Host           |                   +                +--------+--------------+
                           |< - - - - RAA QAA - - - - - ->|
       |                   |    (Result-Code,        |
       |                   |     QoS-Resources)      |
       |                   |                +--------+--------------+
       |                   |                | Report for successful | -+
       |                   |(Result-Code,            |
       |   QoS reservation                   |QoS-Resources,Authz-time)|
       |           +-------+---------+               |
       |           |Update of reserved QoS state |               |
       |           |      resources        |       +         |               |                +--------+--------------+
       |           | Authz. session  |               |                   +- - - - - ACR - - - - - >|
       |                   |(INTRM,QoS-Resources,Cost|           |                   |CC-Time,Acc-Multisess-id)| /Authz-time/    |               |                +--------+--------------+
       |           |                |Update of QoS resources|                 |               |                |/CC-Time,Cost/ used
       |           +-------+---------+               |
       |                +--------+--------------+                   |                   |< - - - - ACA - - - - - -+                         |
       |=====================Data Flow==========================>
       |                   |

           Figure 6: Server-side Initiated 10: Client-side initiated QoS re-authorization

3.4.  Session Termination

3.4.1.  Client-Side

4.3.2.  Server-Side Initiated Session Termination

   The authorization session for an installed QoS reservation state MAY
   be terminated by the Diameter client Re-Authorization

   The Authorizing Entity MAY initiate a QoS re-authorization by sending issuing
   a Session-
   Termination-Request Re-Auth-Request message (STR) to (RAR) as defined in the Diameter server.  This is a
   Diameter base
   protocol function and it is defined in [RFC3588].
   Session termination can be caused by a QoS signaling messaging
   requesting deletion [RFC3588], which may include the parameters of the existing re-
   authorized QoS reservation state or it can
   be caused as a result state: reserved resources, duration of a soft-state expiration the
   reservation, identification of the QoS
   reservation state.  After a successful termination enabled flow/QoS signaling
   session for re-installation of the
   authorization session, final accounting messages MUST be exchanged
   (see Figure 7).  It should be noted that the two sessions
   (authorization and accounting) have independent management resource state by the
   Diameter base protocol, which allows for finalizing QoS Traffic
   Control function of the accounting Network Element.

   A Network Element that receives such a RAR message with Session-Id
   matching a currently active QoS session after acknowledges the end request by
   sending the Re-Auth-Answer (RAA) message towards the Authorizing
   entity.

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

                                               Authorizing
     End-Host         Network Element             Entity
   requesting QoS      ( Diameter              ( Diameter
                        QoS Client)             QoS Server)
       |                   |                          |
       |==Data Flow==>X /Stop of the data flow/
       |                   |                          |<-- Trigger --
       |                   |
       +---QoS-Reserve---->|                 +--------+--------------+
       |                   |  (Delete QoS      +- - - - - STR - - - - - >|                 |   reservation)  Authorize request    |                +--------+--------------+
       |                   |                 | Remove authorization  Keep session data    |
       |<--QoS-Response----+
       | session state                   |                 |/Authz-time,Session-Id/|
       |                   |                 +--------+--------------+
                           |< - -
       |                   |                          |
       |                   |<-- - -- - STA RAR - - - - - -+
                   +-------+--------+
       |
                   |Delete                   |(Request,Decision         |
       |                   |(QoS-Resources,Authz-time)|
       |           +-------+---------+
       |           |Install QoS state|
       |  Report final           |       +         |
       |           | Authz. session  |
       |           | /Authz-time/    | accounting data|                   QoS Responder
                   +-------+--------+                       Node
                           +----------QoS-Reserve-----....--->|
       |         (Delete QoS           |                 |          reservation)
       |
                           +-           +-------+---------+
       |                   + - - - - ACR RAA - - - - - >|
                           |(FINAL,QoS-Resources,Cost|
                           |CC-Time,Acc-Multisess-id)| ->|
       |                   |    (Result-Code,        |
       |                   |     QoS-Resources)      |
       |                   |                +--------+--------------+
       |                   |                | Report for successful |
       |                   |  end                |   QoS reservation     |
       |                   |                |Update of reserved QoS session |
       |                +--------+--------------+
                           |< - - - - ACA - - - - - -+                   |                |                            QoS Responder      resources        |
       |                   |                +--------+--------------+
       |                                Node
                           |<---------QoS-Response----....----+                   |                         |

           Figure 7: Client-Side 11: Server-side Initiated QoS re-authorization

4.4.  Session Termination

3.4.2.  Server-Side

4.4.1.  Client-Side Initiated Session Termination

   At anytime during a

   The authorization session the Authorizing Entity MAY send for an Abort-
   Session-Request installed QoS reservation state MAY
   be terminated by the Diameter client by sending a Session-
   Termination-Request message (ASR) (STR) to the Network Element. Diameter server.  This is a
   Diameter base protocol function and it is defined in [RFC3588].
   Possible reasons for initiating the ASR message to the Network
   Element are insufficient credits or session termination at the
   application layer.  The ASR message results in
   Session termination of the
   authorized session, release of the reserved resources at the Network
   Element and transmission of an appropriate can be caused by a QoS signaling message
   indicating a notification to other Network Elements aware messaging
   requesting deletion of the
   signaling session.  A final accounting message exchange MUST existing QoS reservation state or it can
   be
   triggered caused as a result of this ASR message exchange (see Figure 8). 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==========================>
       |                   |
       |                   |< - - - - ASR - - - - - -+
       |                   |                         |
       |====Data Flow=====>X                         |  QoS Responder
       |                   |                         |      Node
       |<--QoS-Notify------+----------QoS-Reserve-----....--->|
       |                   |         (Delete QoS     |        |
                           |          reservation)   |
                   +-------+--------+                |
                   |Delete QoS state|                |
                   |  Report final  |                |
                   | accounting data|                |
                   +-------+--------+ Diameter
                        QoS Client)             QoS Server)
       |
                           +- - - - - ASA - - - - - >|                   |                +--------+--------------+                         |
       |==Data Flow==>X /Stop of the data flow/      | Remove authorization
       |                   |                         |     session state
       +---QoS-Reserve---->|                         |
       |                +--------+--------------+  (Delete QoS      +- - - - - ACR STR - - - - - >|
                           |(FINAL,QoS-Resources,Cost|
                           |CC-Time,Acc-Multisess-id)|
       |   reservation)    |                +--------+--------------+
       |                   | Report for successful                | Remove authorization  |
       |<--QoS-Response----+                |  end of QoS session state         |
       |                   |                +--------+--------------+
                           |< - - - - ACA STA - - - - - -+
                   +-------+--------+                |
                   |Delete QoS state|
                   +-------+--------+                   QoS Responder
                           |                                Node
                           +----------QoS-Reserve-----....--->|
                           |         (Delete QoS              |
                           |          reservation)            |
                           |<---------QoS-Response----....----+
                           |                                  |

           Figure 8: 12: Client-Side Initiated Session Termination

4.4.2.  Server-Side Initiated Session Termination

4.  Accounting

   The Diameter QoS application provides accounting for usage of
   reserved QoS resources.  Diameter QoS accounting has built-in support
   for online, duration based accounting.  This accounting is based on
   the notion that the Diameter QoS clients are in the best position to
   determine the cost of those resources.

   In the Diameter QoS application, the router MAY send a Cost-
   Information AVP (see [RFC4006]) in the QAR.  If the Cost-Information
   AVP includes a Cost-Unit AVP (see [RFC4006]) then the Cost-Unit
   SHOULD be "minute".  The Cost-Information AVPs represent the cost to
   allocate the resources requested in the QoS-Resources AVP included in
   the same QAR message.  The QAR MAY optionally contain a Tariff-Time-
   Change AVP (see [RFC4006]) which is the time at which the cost will
   change, a second Cost-Information AVP, which is the cost of the
   reserved resources after the tariff time change, and a second Tariff-
   Time-Change, which is the time at which the tariff would change
   again.  Either all three or none of these AVPs MUST be present in the
   QAR.

   The Resource Authorizing Entity returns

   At anytime during a CC-Time AVP (see [RFC4006])
   in the QAA message which is the total authorized gate-on time for the
   service.  If the QAR included two Tariff-Time-Change AVPs, the
   current time plus the CC-Time AVP returned in the QAA MUST NOT exceed
   the second Tariff-Time-Change AVP from the QAR.  Based on information
   in the Cost-Information AVPs, session the Resource Authorizing Entity can use
   the CC-Time AVP MAY send an Abort-
   Session-Request message (ASR) to guarantee that the total cost of the session will
   not exceed Network Element.  This is a certain threshold, which allows,
   Diameter base protocol function and it is defined in [RFC3588].
   Possible reasons for example, support of
   prepaid users.

   Each ACR initiating the ASR message contains a triplet of QoS-Resources AVP, Cost-
   Information AVP, and CC-Time AVP.  This represents to the total time
   consumed Network
   Element are insufficient credits or session termination at the given cost for the given resources.  Note that an ACR
   application layer.  The ASR message MUST be sent separately for each interval defined by the
   Tariff-Time-Change AVPs and results in termination of the expiration
   authorized session, release of the CC-Time returned in reserved resources at the QAA (see Figure 5).

   The Network
   Element starts an accounting session by sending an
   Accounting-Request message (ACR) after successful QoS reservation and
   activation transmission of the data flow (see Figure 2).  After every successful
   re-authorization procedure the Network element MUST initiate an
   interim accounting appropriate QoS signaling message exchange (see Figure 5).  After successful
   session termination the Network element MUST initiate
   indicating a final
   exchange of accounting messages for terminating of the accounting
   session and reporting final records for the usage notification to other Network Elements aware of the
   signaling session.

                                               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
   resources reserved (see Responder
                           |                                Node
                           |<---------QoS-Response----....----+
                           |                                  |

           Figure 7). 13: Server-Side Initiated Session Termination

5.  Diameter  QoS Authorization 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-Authz-Request              QAR           [TBD]     Section 5.1
   QoS-Authz-Answer               QAA           [TBD]     Section 5.2
   QoS-Install-Request            QIR           [TBD]     Section 5.3
   QoS-Install-Answer             QIA           [TBD]     Section 5.4

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

   Command-Name                  Abbrev.        Code      Reference
   Accounting-Request             ACR            271       RFC 3588
   Accounting-Request             ACR            271       RFC 3588
   Accounting-Answer              ACA            271       RFC 3588
   Re-Auth-Request                RAR            258       RFC 3588
   Re-Auth-Answer                 RAA            258       RFC 3588
   Abort-Session-Request          ASR            274       RFC 3588
   Abort-Session-Answer           ASA            274       RFC 3588
   Session-Term-Request           STR            275       RFC 3588
   Session-Term-Answer            STA            275       RFC 3588

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

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

   The value of TBD MUST be used as the Application-Id in all ACR/ACA
   commands, because this application defines new, mandatory AVPs for
   accounting.

   The value of zero (0) SHOULD be used as the Application-Id in all
   STR/STA, ASR/ASA, and RAR/RAA commands, because these commands are
   defined in the Diameter base protocol and no additional mandatory
   AVPs for those commands are defined in this document.

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 TBD and 'R' bit set in
   the Command Flags field is used by Network elements to request
   quality of service related resource authorization for a given flow.

   The QAR message MUST carry information for signaling session
   identification, Authorizing Entity 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, presented in ABNF form [RFC2234], is defined as
   follows:

    <QoS-Request> ::= < Diameter Header: XXX, REQ, PXY >
                         < Session-Id >
                         { Auth-Application-Id }
                         { Origin-Host }
                         { Origin-Realm }
                         { Destination-Realm }
                         { Auth-Request-Type }
                         [ Destination-Host ]
                         [ User-Name ]
                      *  [ QoS-Resources ]
                         [ QoS-Authz-Data ]
                         [ Cost-Information ]
                         [ Acc-Multisession-Id ]
                         [ 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 TBD 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 as well as accounting and transport plane gating information.

   The message format is defined as follows:

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

5.3.  QoS-Install Request (QIR)

   The QoS-Install Request message (QIR), indicated by the Command-Code
   field set to TDB and 'R' bit set in the Command Flags field is used
   by Authorizing entity 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: XXX, REQ, PXY >
                              < Session-Id >
                              { Auth-Application-Id }
                              { Origin-Host }
                              { Origin-Realm }
                              { Destination-Realm }
                              { Auth-Request-Type }
                              [ Destination-Host ]
                           *  [ QoS-Resources ]
                              [ Session-Timeout ]
                              [ Authz-Session-Lifetime ]
                              [ Authz-Grace-Period ]
                              [ Authz-Session-Volume ]
                           *  [ AVP ]

5.4.  QoS-Install Answer (QIA)

   The QoS-Install Answer message (QIA), indicated by the Command-Code
   field set to TBD 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: XXX, 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 Authorizing Entity to the Network Element in order to
   initiate the QoS re-authorization from DQA server side.

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

   The message format is defined as follows:

    <Re-Auth-Request> ::= < Diameter Header: 258, REQ, PXY >
                              < Session-Id >
                              { Auth-Application-Id }
                              { Origin-Host }
                              { Origin-Realm }
                              { Destination-Realm }
                              { Auth-Request-Type }
                              [ Destination-Host ]
                           *  [ QoS-Resources ]
                              [ Session-Timeout ]
                              [ Authz-Session-Lifetime ]
                              [ Authz-Grace-Period ]
                              [ Authz-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 Network Element to the Authorizing Entity in response to
   the RAR command..

   The message format is defined as follows:

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

5.7.  Accounting Request (ACR)

   The Accounting Request message (ACR), indicated by the Command-Code
   field set to 271 and 'R' bit set in the Command Flags field is used
   by Network Element to report parameters of the authorized and
   established re-authorized QoS reservation.

   The message state, the Network Element MUST carry accounting information authorized
   initiate a QoS
   resources and its usage, e.g., QoS-Resources, CC-Time, CC-Cost, Acc-
   Multi-Session-Id. re-authorization by sending a QoS-Authorization-
   Request (QAR) message towards the Authorizing entity.

   The message format is defined as follows:

     <Accounting-Request>

    <Re-Auth-Request> ::= < Diameter Header: XXX, 258, REQ, PXY >
                              < Session-Id >
                              { Acct-Application-Id Auth-Application-Id }
                              { Origin-Host }
                              { Origin-Realm }
                              { Destination-Realm }
                              { Auth-Request-Type }
                              [ Destination-Host ]
                              [ Accounting-Record-Type ]
                              [ Accounting-Record-Number ]
                           *  [ QoS-Resources ]
                              [ Cost-Information Session-Timeout ]
                              [ Authz-Session-Lifetime ]
                              [ CC-Time Authz-Grace-Period ]
                              [ Acc-Multi-Session-Id Authz-Session-Volume ]
                           *  [ AVP ]

5.8.  Accounting Answer (ACA)

5.6.  Re-Auth-Answer (RAA)

   The Accounting Answer Re-Auth-Answer message (ACA), (RAA), indicated by the Command-Code field
   set to 271 258 and the 'R' bit cleared in the Command Flags field field, is
   sent by the Network Element to the Authorizing Entity in response to
   the Accounting Request message (ACR) as an
   acknowledgment of the ACR message and MAY carry additional management
   information for the accounting session, e.g.  Acc-Interim-Interval
   AVP. RAR command.

   The message format is defined as follows:

      <Accounting-Answer>

     <Re-Auth-Answer> ::= < Diameter Header: XXX, 258, PXY >
                              < Session-Id >
                              { Acct-Application-Id Auth-Application-Id }
                              [
                              { Origin-Host }
                              { Origin-Realm }
                              { Result-Code ]
                              [ Accounting-Record-Type ]
                              [ Accounting-Record-Number ] }
                           *  [ Acc-Multi-Session-Id QoS-Resources ]
                           *  [ AVP ]

6.  Diameter  QoS Authorization Application State Machine

   The QoS application reuses the authorization state machine defined in
   Section 8.1 of the Base Protocol ([RFC3588]) with its own messages as
   defined in Section 5 and QoS AVPs as defined in Section 7.

6.1.  Supplemented states for push mode

   In addition to the reused state machines, the following states are
   supplemented to first 2 state machines in which the session state is
   maintained on the Server, and 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:

                                 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:

                                 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

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.

6.1.  Diameter

7.1.  Reused Base Protocol AVPs

   The Diameter 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
   Authz-Lifetime                291             Section 8.9
   Authz-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.

6.2.  Credit Control Application AVPs

   The Diameter QoS application provides accounting for usage of
   reserved QoS resources.  Diameter QoS accounting has built-in support
   for online, duration based accounting.  For this purpose it re-uses a
   number of AVPs defined in Diameter Credit Control application.
   [RFC4006].

   Attribute Name                AVP Code     Reference [RFC4006]
   Cost-Information AVP          423             Section 8.7
   Unit-Value AVP                445             Section 8.8
   Currency-Code AVP             425             Section 8.11
   Cost-Unit AVP                 424             Section 8.12
   CC-Time AVP                   420             Section 8.21
   Tariff-Time-Change AVP        451             Section 6.20

   Usage of the listed AVPs is described in Section 4
   Diameter QoS application is designed to independently provide credit
   control over the controlled QoS resources.  However, deployment
   scenarios, where Diameter QoS application is collocated with Diameter
   Credit Control application, are not excluded.  In such scenarios the
   credit control over the QoS resources might be managed by the Credit
   control application.  Possible interworking approach might be a usage
   of Credit-Control AVP (AVP Code 426) with a newly defined value.  It
   will indicate to the Diameter QoS entities that the credit control
   over the QoS resources would be handled in separate session by Credit
   Control application.  An active cooperation of both applications
   would be required but it is not elaborated further in this document.

6.3.  Accounting AVPs

   The Diameter QoS application uses Diameter Accounting and accounting
   AVPs as defined in Section 9 of [RFC3588].  Additional description of
   the usage of some of them in the QoS authorization context is
   provided:

   Attribute Name                AVP Code     Reference [RFC3588]
   Acct-Application-Id           259                   268             Section 6.9
   Accounting-Record-Type        480             Section 9.8.1
   Accounting-Interim-Interval    85             Section 9.8.2
   Accounting-Record-Number      485             Section 9.8.3
   Accounting-Realtime-Required  483 7.1
   Auth-Request-Type             274             Section 9.8.7
   Acc-Multi-Session-ID           50 8.7
   Session-Id                    263             Section 9.8.5

   The following AVPs need further explanation:

   Acct-Application-Id AVP 8.8
   Authz-Lifetime                291             Section 8.9
   Authz-Grace-Period            276             Section 8.10
   Session-Timeout                27             Section 8.13
   User-Name                       1             Section 8.14

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

   Acc-Multisession-ID

      Acc-Multi-Session-ID AVP (AVP Code 50) SHOULD be used to link
      multiple accounting sessions together, allowing the correlation of
      accounting information.  This AVP MAY be returned by the Diameter
      server in a QoS-Authorization-Answer message (QAA), and MUST be
      used in all accounting messages for the given session.

6.4.  Diameter 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
   Diameter
   QoS application.  The followig following new AVPs are defined: Bound-
   Auth-Session-Id Bound-Auth-
   Session-Id and the QoS-Authz-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.

                                                  +-------------------+
                                                  |    AVP Flag rules |
   +----------------------------------------------|----+---+----+-----+
   |                       AVP  Section           |    |   |SHLD| MUST|
   | Attribute Name        Code Defined Data Type |MUST|MAY| NOT|  NOT|
   +----------------------------------------------+----+---+----+-----+
   |QoS-Authz-Data         TBD    6.4  Grouped    | M  | P |    |  V  |
   |Bound-Auth-Session-Id  TBD    6.4  UTF8String | M  | P |    |  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.              |
   |P - Indicates the need for encryption for end-to-end security.    |
   |V - Vendor specific bit that indicates whether the AVP belongs to |
   |    a address space.                                              |
   +------------------------------------------------------------------+

   QoS-Authz-Data

      The QoS-Authz-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 Authorizing entity 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.

7.

8.  Accounting

   A Network Element may start an accounting session by sending an
   Accounting-Request message (ACR) after successful QoS reservation and
   activation of the data flow (see Figure 7 and Figure 9).  After every
   successful re-authorization procedure (see Figure 10 and Figure 11),
   the Network element may initiate an interim accounting message
   exchange.  After successful session termination (see Figure 12 and
   Figure 13), the Network element 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.

9.  Examples

7.1.

9.1.  Example call flow for pull mode

   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 Server  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-Authz-Data        ++------------+ |
         |      >===========>QoS-Resources,      >===========>QoS-Resources)        |Authorize    | |
         |                  |Cost-Info)                  |                      |QoS resources| |
         |                  |                      ++------------+ |
         |                  | QAA                   |              |
         |                  <- - - - -<<AAA>>- - - -+              |
         |                  |(Result-Code,          |              |
         |                  |QoS-Resources,         |              |
         |                  |CC-Time,               |              |
         |                  |Authz-Lifetime)        |              |
         |        +---------+--------+              |              |
         |        |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 23: 26: QoS Authorization Example - Pull Mode

   The communication starts with SIP signaling between the two end
   points and the SIP server for negotiation and authorization of the
   requested service and its parameters (see Figure 23). 26).  As a part of
   the process, the SIP server 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).  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
   authorizing entity (e.g., the SIP server) 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 Authorizing Entity (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-Authz-Data AVP and the description of the
   QoS resources is included into QoS-Resources AVP.  In addition, the
   NE rates the requested QoS resources and announces the charging rate
   into the Cost-Information AVP.  These AVPs are
   included into a QoS Authorization Request message, which is sent to
   the Authorizing entity.

   A Diameter QAR message will be routed through the AAA network to the
   Authorizing Entity.  The Authorizing Entity 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) and duration
   of the time (CC-Time) for which the end-user should be charged with
   the rate announced in the QAR message. 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.

7.2.  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 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 Server  Correspondent
  requesting QoS      (DQA Client)           (DQA Server)        Node
        |                  |                          |              |
      ..|....Application layer SIP signaling..........|..............|..
      . | Invite(SDP offer)|                          |              | .
      . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.>              | .
      . |  100 Trying      |                          |              | .
      . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+              | .
      . |.............................................|..............| .
        |                  |                +---------+-------------+|
        |                  |                |  Authorize request    ||
        |                  |                |  Keep session data    ||
        |                  |                |/Authz-time,Session-Id/||
        |                  |                +---------+-------------+|
        |                  |                          |              |
        |                  |<-- - -- - QIR - -- - -- -+              |
        |                  |(Initial Request,Decision |              |
        |                  |(QoS-Resources,Authz-time)|              |
        |          +-------+---------+                |              |
        |          |Install QoS state|                |              |
        |          |       +         |                |              |
        |          | Authz. session  |                |              |
        |          | /Authz-time,    |                |              |
        |          |  CC-Time,Cost/ /Authz-time/    |                |              |
        |          +-------+---------+                |              |
        |                  + - - -- - QIA - - - - - ->|              |
        |                  |     (Result-Code,        |              |
        |                  |      QoS-Resources)      |              |
        |                  |               +----------+------------+ |
        |                  |               | Report for successful | |
        |                  |               |   QoS reservation     | |
        |                  |               |Update of reserved QoS | |
        |                  |               |      resources        | |
        |                  |               +----------+------------+ |
      . |                  |                          | Invite (SDP) | .
      . |                  |                          +-.-.-.....-.-.> .
      . | 180 (Ringing)                               |              | .
      . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.<.-.-.-.-.-.-.-+ .
      . |                  |                          |  200 OK (SDP)| .
      . |                  |                          <-.-.-.....-.-.+ .
        |                  |                 +--------+-----------+  |
        |                  |                 |re-Authorize session|  |
        |                  |                 |   parameters       |  |
        |                  |                 +--------+-----------+  |
        |                  <- - - - - - RAR - - - - - +              |
        |        +---------+--------+                 |              |
        |        |Activate QoS state|                 |              |
        |        +---------+--------+                 |              |
        |                  +- - - - - - RAA - - - - - >              |
      . | 200 (SDP answer) |                          |              | .
      . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+              | .

        |                  |                                         |
        /------------------+-----Data Flow---------------------------\
        \------------------+-----------------------------------------/
        |                  |                                         |

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

             Figure 24: 27: QoS Authorization Example - Push Mode

   The communication starts with SIP signaling between the two end
   points two end
   points and the SIP server for negotiation and authorization of the
   requested service and its parameters (see Figure 27).  As a part of
   the process, the SIP server 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).  The DQA server is triggered to
   authorize the QoS request based on session parameters (i.e., SDP
   offer), initiate a Diameter QoS authorization session and install
   authorized QoS state to the Network Element via QIR message.

   The DQA server may obtain the info of peer DQA client from pre-
   configured information or query the DNS based on Host A's identity or
   IP address (In this case a DQA server is co-located with a SIP server
   and a DQA client is co-located with a Network element).  The identity
   of Network Element is put into the Destination-Host AVP, the
   description of the QoS resources is included into QoS-Resources AVP,
   as well as duration of the authorization session (Authorization-
   Lifetime AVP).  The NE interacts with the traffic control function
   and reserves the authorized QoS resources accordingly, for instance,
   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.

   With successful QoS authorization, the SDP offer in SIP Invite is
   forwarded to Host B. Host B sends back a 18x (ringing) message
   towards Host A and processes the SIP SDP.  Once Host B accepts the call,
   it sends back a 200 OK, in which it includes description of the
   accepted session parameters (i.e.  SDP answer).

   The DQA server may verifies the accepted QoS against the pre-
   authorized QoS resources, and sends a Diameter RAR message to the DQA
   client in the network element for negotiation activating the installed policies
   and authorization of commit the
   requested service resource allocation.  With successful QoS enforcement,
   the 200 OK is forwarded towards Host A.

   Note that the examples above show a sender-initiated reservation from
   the end host towards the corresponding node and its parameters (see Figure 24).  As a part of receiver-initiated
   reservation from the process, correspondent node towards the SIP server verifies whether end host.

10.  IANA Considerations

   This section contains the user at Host A 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
   authorized requested to allocate two AVP codes to use the following:

   Registry:
   AVP Code            Attribute Name             Reference
   -----------------------------------------------------------
   to be assigned   QoS-Authz-Data                Section 6.4
   to be assigned   Bound-Auth-Session-Id         Section 6.4

10.2.  AVP specific values

   IANA is requested service (and potentially to allocate the ability following sub-registry values.

   Sub-registry: Auth-Application-Id  AVP Values (code 258)
   Registry:
   AVP Values          Attribute Name             Reference
   -------------  -------------------------------------------
   to be charged assigned     DIAMETER-QOS-NOSUPPORT      Section 5
   to be assigned     DIAMETER-QOS-SUPPORT        Section 5

   Sub-registry: Acct-Application-Id   AVP Values (code 259)
   Registry:
   AVP Values          Attribute Name             Reference
   -------------  -------------------------------------------
   to be assigned     DIAMETER-QOS-NOSUPPORT      Section 5
   to be assigned     DIAMETER-QOS-SUPPORT        Section 5

10.3.  AVP flags

   There are no new AVP flags defined for either the service usage).  The DQA server QoS-Authz-Data AVP
   or the Bound-Ath-Session-ID AVP.

10.4.  Application IDs

   IANA is triggered requested to
   authorize allocate the QoS request based on session parameters (i.e.  SDP
   offer), initiate a following application ID using the
   next value from the 7-16777215 range.

   Registry:
   ID values            Name                        Reference
   -----------------------------------------------------------
   to be asigned      Diameter QoS authorization session and install
   authorized QoS state application      Section 5

10.5.  Command Codes

   IANA is requested to allocate command code values for the Network Element via QIR message.

   The DQA server may obtain the info of peer DQA client following
   from pre-
   configured information or query the DNS based on Host A's identity or
   IP address (In this case a DQA server is co-located with range 289-299.

   Registry:
   Code Value             Name                     Reference
   -----------------------------------------------------------
   to be assigned      QoS-Authz-Request (QAR)     Section 5.1
   to be assigned      QoS-Authz-Answer  (QAA)     Section 5.2
   to be assigned      QoS-Install-Request (QIR)   Section 5.3
   to be assigned      QoS-Install-Answer (QIA)    Section 5.4

11.  Security Considerations

   This document describes a SIP server
   and mechanism for performing authorization of a DQA client is co-located with
   QoS reservation at a Network element).  The identity
   of Network Element third party entity.  Therefore, it is put into the Destination-Host AVP, the
   description of necessary
   that the QoS resources signaling application to carry sufficient information
   that should be forwarded to the backend AAA server.  This
   functionality is included into QoS-Resources AVP,
   as well as duration of particularly useful in roaming environments where
   the authorization session (Authorization-
   Lifetime AVP) and duration of the time (CC-Time) for which decision is most likely provided at an entity where
   the end- user should can be charged with the rate announced authorized, such as in the QIR message.
   The NE interacts with the traffic control function and reserves the
   authorized QoS resources accordingly.

   With successful QoS authorization, the SDP offer in SIP Invite is
   forwared to Host B. Host B sends back a 18x (ringing) message towards
   Host A and processes home realm.

   QoS signaling application MAY re-use the SDP.  Once Host B accepts authenticated identities
   used for the call, it sends
   back a 200 OK, in which it includes description establishment of the accepted
   session parameters (i.e.  SDP answer).

   The DQA server may verifies secured transport channel for the accepted QoS against
   signaling messages, e.g., TLS or IPsec between the pre-
   authorized QoS resources, end host and sends a Diameter RAR message to the DQA
   client in
   policy aware QoS NE.  In addition, a collocation of the network element QoS NE with,
   for activating example, the installed policies
   and commit Diameter NASREQ application (see [RFC4005]) may
   allow the resource allocation.  With successful QoS enforcement, authorization to be based on the 200 OK authenticated identity
   used during the network access authentication protocol run.  If a co-
   located deployment is forwarded towards Host A.

   Note not desired then special security protection is
   required to ensure that the examples above show arbitrary nodes cannot reuse a sender-initiated reservation from previous
   authentication exchange to perform an authorization decision.

   Additionally, QoS authorization might be based on the End-Host towards usage of
   authorization tokens that are generated by the corresponding node Authorizing Entity and a receiver-initiated
   reservation from
   provided to the correspondent node towards end host via application layer signaling.

   The impact of the End-Host.

8.  IANA Considerations

   TBD

9.  Security Considerations

   TBD

10. existence of different authorization models is
   (with respect to this Diameter QoS application) the ability to carry
   different authentication and authorization information.

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

   [Editor's Note: Acknowledgements need to be updated.]

11.

13.  Contributors

   The authors would like to thank Tseno Tsenov (tseno.tsenov@gmail.com)
   and Frank Alfano (falfano@lucent.com) 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.

   [Editor's Note: A bit of history needs to be included here.]

12.  Open Issues

   Open issues related to this draft are listed at the issue tracker
   available at: http://www.tschofenig.com:8080/diameter-qos/

13.

14.  References

13.1.

14.1.  Normative References

   [I-D.ietf-dime-qos-attributes]
              Korhonen, J., Tschofenig, H., Arumaithurai, M., and M.
              Jones, "Quality of Service Attributes for Diameter",
              draft-ietf-dime-qos-attributes-03
              draft-ietf-dime-qos-attributes-04 (work in progress),
              November
              January 2008.

   [I-D.ietf-dime-qos-parameters]
              Korhonen, J. and H. Tschofenig, "Quality of Service
              Parameters for Usage with the AAA Framework",
              draft-ietf-dime-qos-parameters-01 (work in progress),
              September 2007.

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

   [RFC2234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", RFC 2234, November 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.

   [RFC4006]  Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J.
              Loughney, "Diameter Credit-Control Application", RFC 4006,
              August 2005.

13.2.

14.2.  Informative References

   [I-D.ietf-nsis-ntlp]
              Schulzrinne, H. and R. Hancock, "GIST: General Internet
              Signalling Transport", draft-ietf-nsis-ntlp-14 (work in
              progress), July 2007.

   [I-D.ietf-nsis-qos-nslp]
              Manner, J., "NSLP for Quality-of-Service Signaling",
              draft-ietf-nsis-qos-nslp-15 (work in progress), July 2007.

   [RFC2210]  Wroclawski, J., "The Use of RSVP with IETF Integrated
              Services", RFC 2210, September 1997.

   [RFC2486]  Aboba, B. and M. Beadles, "The Network Access Identifier",
              RFC 2486, January 1999.

   [RFC2749]  Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R.,
              and A. Sastry, "COPS usage for RSVP", RFC 2749,
              January 2000.

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

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

   [RFC4027]  Josefsson, S., "Domain Name System Media Types", RFC 4027,
              April 2005.

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

Authors' Addresses

   Glen Zorn

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

   Phone: +1 908 582 2617
   Email: glenzorn@comcast.net dongsun@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
   Otto-Hahn-Ring
   Linnoitustie 6
   Munich, Bavaria  81739
   Germany
   Espoo  02600
   Finland

   Phone: +358 (50) 4871445
   Email: Hannes.Tschofenig@nsn.com
   URI:   http://www.tschofenig.com

   Tina Tsou
   Huawei
   Shenzhen,
   P.R.C

   Email: tena@huawei.com
   Avri Doria
   Lulea University of Technology
   Arbetsvetenskap
   Lulea,   SE-97187
   Sweden

   Email: avri@ltu.se
   Dong Sun
   Bell Labs/Alcatel-Lucent
   101 Crawfords Corner Rd
   Holmdel, NJ  07733
   USA

   Glen Zorn

   Email: dongsun@alcatel-lucent.com glenzorn@comcast.net

Full Copyright Statement

   Copyright (C) The IETF Trust (2007). (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).