TOC 
Network Working GroupG. Zorn, Ed.
Internet-Draft 
Intended status: Standards TrackP. McCann
Expires: May 22, 2008Motorola 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 Diameter Quality of Service Application
draft-ietf-dime-diameter-qos-02.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, 2008.

Abstract

This document describes the messages and procedures for the Diameter QoS application. The 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
2.  Terminology
3.  Diameter QoS Authorization Session Establishment and Management
    3.1.  Parties involved
    3.2.  Diameter QoS Authorization Session Establishment
        3.2.1.  QoS authorization session establishment for pull mode
        3.2.2.  QoS authorization session establishment for push mode
        3.2.3.  Discovery and selection of peer Diameter QoS application node
    3.3.  QoS authorization session re-authorization
        3.3.1.  Client-Side Initiated Re-Authorization
        3.3.2.  Server-Side Initiated Re-Authorization
    3.4.  Session Termination
        3.4.1.  Client-Side Initiated Session Termination
        3.4.2.  Server-Side Initiated Session Termination
4.  Accounting
5.  Diameter QoS Authorization Application Messages
    5.1.  QoS-Authorization Request (QAR)
    5.2.  QoS-Authorization Answer (QAA)
    5.3.  QoS-Install Request (QIR)
    5.4.  QoS-Install Answer (QIA)
    5.5.  Re-Auth-Request (RAR)
    5.6.  Re-Auth-Answer (RAA)
    5.7.  Accounting Request (ACR)
    5.8.  Accounting Answer (ACA)
6.  Diameter QoS Authorization Application AVPs
    6.1.  Diameter Base Protocol AVPs
    6.2.  Credit Control Application AVPs
    6.3.  Accounting AVPs
    6.4.  Diameter QoS Application Defined AVPs
7.  Examples
    7.1.  Example call flow for pull mode
    7.2.  Example call flow for push mode
8.  IANA Considerations
9.  Security Considerations
10.  Acknowledgements
11.  Contributors
12.  Open Issues
13.  References
    13.1.  Normative References
    13.2.  Informative References
§  Authors' Addresses
§  Intellectual Property and Copyright Statements




 TOC 

1.  Introduction

This document describes the messages and procedures for the Diameter QoS Application. The QoS Application allows network elements 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 the Diameter infrastructure for authorization based on some trigger (such as a QoS signaling protocol) that arrives along the data path to be used for the session. In the second, called "Push Mode", a 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, this document depicts basic call flow procedures to establish, modify and terminate a Diameter QoS application session.



 TOC 

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] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).

In addition to the terms defined in other relevant Diameter QoS documents (e.g., diameter-qos-framework), 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 server resides in the authorizing entity and is able to respond to a Diameter session received from a Diameter QoS client, or initiate a Diameter session to a Diameter QoS 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 a Diameter session triggered by a QoS signaling or other events, or respond 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 entities in Authorizing Entity or Network element to trigger the QoS authorization process.



 TOC 

3.  Diameter QoS Authorization Session Establishment and Management



 TOC 

3.1.  Parties involved

Authorization models supported by this application include three parties:

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.



 TOC 

3.2.  Diameter 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 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 recevied, the Network Element operation in the pull mode.



 TOC 

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 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 1 (Initial QoS Request Authorization for pull) 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] (Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., and A. Lior, “Traffic Classification and Quality of Service Attributes for Diameter,” December 2009.). 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,Cost,     |
    |                   |   QoS-Auth-Data,User-ID)|
    |                   |                +--------+--------------+
    |                   |                |  Authorize request    |
    |                   |                |  Keep session data    |
    |                   |                |/Authz-time,Session-Id/|
    |                   |                +--------+--------------+
    |                   |< - - - - QAA - - - - - -+
    |                   |(Result-Code,CC-Time,Cost|
    |                   |QoS-Resources,Authz-time)|
    |           +-------+---------+
    |           |Install QoS state|
    |           |       +         |
    |           | Authz. session  |
    |           | /Authz-time,    |                QoS Responder
    |           |  CC-Time,Cost/  |                    Node
    |           +-------+---------+                      |
    |                   +----------QoS-Reserve---....--->|
    |                   |                                |
    |                   |<---------QoS-Response--....----|
    |<--QoS-Response----+                                |
    |                   |                                |
    |=====================Data Flow==============....===>|
    |                   |
    |                   +- - - - - ACR - - - - - >|
    |                   |(START,QoS-Resources,Cost|
    |                   |CC-Time,Acc-Multisess-id)|
    |                   |                +--------+--------------+
    |                   |                | Report for successful |
    |                   |                |   QoS reservation     |
    |                   |                |Update of reserved QoS |
    |                   |                |      resources        |
    |                   |                +--------+--------------+
    |                   |< - - - - ACA - - - - - -+
    |                   |                         |

 Figure 1: 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., 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 the generated Acc-Multi-Session-Id AVP (see Section 6.3 (Accounting AVPs)) for binding the authorization and the accounting session information in case of end host mobility (i.e., to correlate the Diameter sessions that are initiated for the same signaling session from different QoS NE).

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 6.1 (Diameter Base Protocol AVPs))), 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 an accounting 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 4 (Accounting)). The authorization duration is time-based as specified in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). 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 3.3 (QoS authorization session re-authorization), Section 3.4 (Session Termination) and Section 4 (Accounting).

The indication of a successful QoS reservation and activation of the data flow is provided by the transmission of an Accounting Request (ACR) message, which reports the parameters of the established QoS state: reserved resources, duration of the reservation, identification of the QoS enabled flow/QoS signaling session and accounting parameters. The Diameter QoS server acknowledges the reserved QoS resources with the Accounting Answer (ACA) message where the Result-Code is set to 'DIAMETER_SUCCESS'. Note that the reserved QoS resources reported in the ACR message MAY be different than those initially authorized with the 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.



 TOC 

3.2.2.  QoS authorization 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 2 (Initial QoS Request Authorization for push) 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,    |
    |           |  CC-Time,Cost/  |
    |           +-------+---------+
    |                   + - - - - QIA - - - - - ->|
    |                   |    (Result-Code,        |
    |                   |     QoS-Resources)      |
    |                   |                +--------+--------------+
    |                   |                | Report for successful |
    |                   |                |   QoS reservation     |
    |                   |                |Update of reserved QoS |
    |                   |                |      resources        |
    |                   |                +--------+--------------+
    |                   |                         QoS Responder
    |                   |                               Node
    |                   |                                |
    |=====================Data Flow==============....===>|
    |                   |
    |                   +- - - - - ACR - - - - - >|
    |                   |(START,QoS-Resources,Cost|
    |                   |CC-Time,Acc-Multisess-id)|
    |                   |< - - - - ACA - - - - - -+
    |                   |                         |

 Figure 2: 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 used together with the generated Acc-Multi-Session-Id AVP (see Section 6.3 (Accounting AVPs)) for binding the authorization and the accounting session information in case of end host mobility (i.e., to correlate the Diameter sessions that are initiated for the same signaling session from different QoS NE).

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. In the case of successful enforcement, the Result-Code (= DIAMETER_SUCCESS, (see Section 6.1 (Diameter Base Protocol AVPs))) information is provided in the QIA message.

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 4 (Accounting)). The authorization duration is time-based as specified in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). 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 3.3 (QoS authorization session re-authorization), Section 3.4 (Session Termination) and Section 4 (Accounting).

The indication of a successful QoS reservation and activation of the data flow, is provided by the QoS-Install-Answer message. Note that the reserved QoS resources reported in the QIA message MAY be different than those initially authorized with the QIR message, due to the QoS signaling specific behavior (e.g., receiver-initiated reservations with One-Path-With-Advertisements) or specific process of QoS negotiation along the data path.

In case of xxx = Acounting_Info in the QIR, it indicates the confirmation to an accounting server for successful QoS resource reservation and for final reserved QoS resources (see below). An ACR message reports the parameters of the established QoS state: reserved resources, duration of the reservation, identification of the QoS enabled flow/QoS signaling session and accounting parameters to accounting server. The accounting server acknowledges the reserved QoS resources with the Accounting Answer (ACA) message where the Result-Code is set to 'DIAMETER_SUCCESS'.



 TOC 

3.2.3.  Discovery and selection of peer Diameter QoS application node

The Diameter QoS application node 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] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). 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] (Aboba, B. and M. Beadles, “The Network Access Identifier,” January 1999.)) or globally routable IP address.



 TOC 

3.3.  QoS authorization 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 and sets their limits (presumably upper). With these parameters the Authorizing Entity 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 are agreed out of band, based on a Service Level Agreement (SLA) between the 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 parameters of the flow and its QoS, the QAA message contains policy rules that determine the NEs actions in case of change or request for change in authorized parameters.

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

In addition, the 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.



 TOC 

3.3.1.  Client-Side Initiated Re-Authorization

The Authorizing Entity provides the duration of the authorization session as part of the QoS-Authorization-Answer message (QAA). At any time before expiration of this period, a new QoS-Authorization-Request message (QAR) MAY be sent to the Authorizing Entity. The transmission of the QAR MAY be triggered when the Network Element receives a QoS signaling message that requires modification of the authorized parameters of an ongoing QoS session, when authorization lifetime expires or by an accounting event, see Section 4 (Accounting) and Figure 3 (Client-side initiated QoS re-authorization)).



                                            Authorizing
  End-Host         Network Element             Entity
requesting QoS      ( Diameter              ( Diameter
                     QoS Client)             QoS Server)
    |                   |                         |
    |=====================Data Flow==========================>
    |                   |                         |
    |           +-------+----------+              |
    |           |Authz-time/CC-Time|              |
    |           |    expires       |              |
    |           +-------+----------+              |
    |                   +- - - - - 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/  |               |
    |           +-------+---------+               |
    |                   |                         |
    |                   +- - - - - ACR - - - - - >|
    |                   |(INTRM,QoS-Resources,Cost|
    |                   |CC-Time,Acc-Multisess-id)|
    |                   |                +--------+--------------+
    |                   |                |Update of QoS resources|
    |                   |                |/CC-Time,Cost/ used    |
    |                   |                +--------+--------------+
    |                   |< - - - - ACA - - - - - -+
    |                   |                         |
    |=====================Data Flow==========================>
    |                   |

 Figure 3: Client-side initiated QoS re-authorization 



 TOC 

3.3.2.  Server-Side Initiated Re-Authorization

The Authorizing Entity MAY initiate a QoS re-authorization by issuing a Re-Auth-Request message (RAR) as defined in the Diameter base protocol [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.), which may include the parameters of the re-authorized QoS state: reserved resources, duration of the reservation, identification of the QoS enabled flow/QoS signaling session for re-installation of the resource state by the QoS Traffic Control function of the Network Element.

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

If RAR does not include 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.



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

 Figure 4: Server-side Initiated QoS re-authorization 



 TOC 

3.4.  Session Termination



 TOC 

3.4.1.  Client-Side Initiated Session Termination

The authorization session for an installed QoS reservation state MAY be terminated by the Diameter client by sending a Session-Termination-Request message (STR) to the Diameter server. This is a Diameter base protocol function and it is defined in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Session termination can be caused by a QoS signaling messaging requesting deletion of the existing QoS reservation state or it can be caused as a result of a soft-state expiration of the QoS reservation state. After a successful termination of the authorization session, final accounting messages MUST be exchanged (see Figure 5 (Client-Side Initiated Session Termination)). 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.



                                            Authorizing
  End-Host         Network Element             Entity
requesting QoS      ( Diameter              ( Diameter
                     QoS Client)             QoS Server)
    |                   |                         |
    |==Data Flow==>X /Stop of the data flow/      |
    |                   |                         |
    +---QoS-Reserve---->|                         |
    |  (Delete QoS      +- - - - - STR - - - - - >|
    |   reservation)    |                +--------+--------------+
    |                   |                | Remove authorization  |
    |<--QoS-Response----+                | session state         |
    |                   |                +--------+--------------+
                        |< - - - - STA - - - - - -+
                +-------+--------+                |
                |Delete QoS state|
                |  Report final  |
                | accounting data|                   QoS Responder
                +-------+--------+                       Node
                        +----------QoS-Reserve-----....--->|
                        |         (Delete QoS              |
                        |          reservation)
                        |
                        +- - - - - ACR - - - - - >|
                        |(FINAL,QoS-Resources,Cost|
                        |CC-Time,Acc-Multisess-id)|
                        |                +--------+--------------+
                        |                | Report for successful |
                        |                |  end of QoS session   |
                        |                +--------+--------------+
                        |< - - - - ACA - - - - - -+
                        |
                        |                            QoS Responder
                        |                                Node
                        |<---------QoS-Response----....----+
                        |                                  |

 Figure 5: Client-Side Initiated Session Termination 



 TOC 

3.4.2.  Server-Side Initiated Session Termination

At anytime during a session the Authorizing Entity MAY send an Abort- Session-Request message (ASR) to the Network Element. This is a Diameter base protocol function and it is defined in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). 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 termination of the authorized session, release of the reserved resources at the Network Element and transmission of an appropriate QoS signaling message indicating a notification to other Network Elements aware of the signaling session. A final accounting message exchange MUST be triggered as a result of this ASR message exchange (see Figure 6 (Server-Side Initiated Session Termination)).



                                            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|                |
                +-------+--------+                |
                        +- - - - - ASA - - - - - >|
                        |                +--------+--------------+
                        |                | Remove authorization  |
                        |                |     session state     |
                        |                +--------+--------------+
                        +- - - - - ACR - - - - - >|
                        |(FINAL,QoS-Resources,Cost|
                        |CC-Time,Acc-Multisess-id)|
                        |                +--------+--------------+
                        |                | Report for successful |
                        |                |  end of QoS session   |
                        |                +--------+--------------+
                        |< - - - - ACA - - - - - -+
                        |                            QoS Responder
                        |                                Node
                        |<---------QoS-Response----....----+
                        |                                  |

 Figure 6: Server-Side Initiated Session Termination 



 TOC 

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] (Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, “Diameter Credit-Control Application,” August 2005.)) in the QAR. If the Cost-Information AVP includes a Cost-Unit AVP (see [RFC4006] (Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, “Diameter Credit-Control Application,” August 2005.)) 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] (Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, “Diameter Credit-Control Application,” August 2005.)) 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 a CC-Time AVP (see [RFC4006] (Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, “Diameter Credit-Control Application,” August 2005.)) 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, the Resource Authorizing Entity can use the CC-Time AVP to guarantee that the total cost of the session will not exceed a certain threshold, which allows, for example, support of prepaid users.

Each ACR message contains a triplet of QoS-Resources AVP, Cost-Information AVP, and CC-Time AVP. This represents the total time consumed at the given cost for the given resources. Note that an ACR message MUST be sent separately for each interval defined by the Tariff-Time-Change AVPs and the expiration of the CC-Time returned in the QAA (see Figure 3 (Client-side initiated QoS re-authorization)).

The Network Element starts an accounting session by sending an Accounting-Request message (ACR) after successful QoS reservation and activation of the data flow (see Figure 1 (Initial QoS Request Authorization for pull)). After every successful re-authorization procedure the Network element MUST initiate an interim accounting message exchange (see Figure 3 (Client-side initiated QoS re-authorization)). After successful session termination the Network element MUST 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 (see Figure 5 (Client-Side Initiated Session Termination)).



 TOC 

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] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)). 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] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.).

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.



 TOC 

5.1.  QoS-Authorization Request (QAR)

The QoS-Authorization-Request message (QAR) indicated by the Command- Code field (see Section 3 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)) 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] (Crocker, D., Ed. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” November 1997.), 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 ]



 TOC 

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 ]



 TOC 

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 ]



 TOC 

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 ]



 TOC 

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 ]



 TOC 

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 ]



 TOC 

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 QoS reservation.

The message MUST carry accounting information authorized QoS resources and its usage, e.g., QoS-Resources, CC-Time, CC-Cost, Acc-Multi-Session-Id.

The message format is defined as follows:

  <Accounting-Request> ::= < Diameter Header: XXX, REQ, PXY >
                           < Session-Id >
                           { Acct-Application-Id }
                           { Destination-Realm }
                           [ Destination-Host ]
                           [ Accounting-Record-Type ]
                           [ Accounting-Record-Number ]
                         * [ QoS-Resources ]
                           [ Cost-Information ]
                           [ CC-Time ]
                           [ Acc-Multi-Session-Id ]
                         * [ AVP ]



 TOC 

5.8.  Accounting Answer (ACA)

The Accounting Answer message (ACA), indicated by the Command-Code field set to 271 and 'R' bit cleared in the Command Flags field is sent 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.

The message format is defined as follows:

   <Accounting-Answer> ::= < Diameter Header: XXX, PXY >
                           < Session-Id >
                           { Acct-Application-Id }
                           [ Result-Code ]
                           [ Accounting-Record-Type ]
                           [ Accounting-Record-Number ]
                           [ Acc-Multi-Session-Id ]
                         * [ AVP ]



 TOC 

6.  Diameter QoS Authorization 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.



 TOC 

6.1.  Diameter Base Protocol AVPs

The Diameter QoS application uses a number of session management AVPs, defined in the Base Protocol ([RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)).

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.



 TOC 

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] (Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, “Diameter Credit-Control Application,” August 2005.).

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 (Accounting)

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.



 TOC 

6.3.  Accounting AVPs

The Diameter QoS application uses Diameter Accounting and accounting AVPs as defined in Section 9 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). 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             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             Section 9.8.7
Acc-Multi-Session-ID           50             Section 9.8.5

The following AVPs need further explanation:

Acct-Application-Id AVP

The Acct-Application-Id AVP (AVP Code 259)is assigned by IANA to Diameter applications. The value of the Acct-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.


 TOC 

6.4.  Diameter QoS Application Defined AVPs

This document reuses the AVPs defined in Section 4 of [I‑D.ietf‑dime‑qos‑attributes] (Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., and A. Lior, “Traffic Classification and Quality of Service Attributes for Diameter,” December 2009.).

This section lists the AVPs that are introduced specifically for the Diameter QoS application. The followig new AVPs are defined: 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.



 TOC 

7.  Examples



 TOC 

7.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,        |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 7: 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 7 (QoS Authorization Example - Pull Mode)). 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. 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.



 TOC 

7.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/  |                |              |
      |          +-------+---------+                |              |
      |                  + - - -- - 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 8: QoS Authorization Example - Push 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 8 (QoS Authorization Example - Push Mode)). 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) and duration of the time (CC-Time) for which the end-user should be charged with the rate announced 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 the 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 activating the installed policies and commit the 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 a receiver-initiated reservation from the correspondent node towards the End-Host.



 TOC 

8.  IANA Considerations

TBD



 TOC 

9.  Security Considerations

TBD



 TOC 

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



 TOC 

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



 TOC 

12.  Open Issues

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



 TOC 

13.  References



 TOC 

13.1. Normative References

[I-D.ietf-dime-qos-attributes] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., and A. Lior, “Traffic Classification and Quality of Service Attributes for Diameter,” draft-ietf-dime-qos-attributes-15 (work in progress), December 2009 (TXT).
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC2234] Crocker, D., Ed. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” RFC 2234, November 1997 (TXT, HTML, XML).
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” RFC 3588, September 2003 (TXT).
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, “Diameter Network Access Server Application,” RFC 4005, August 2005 (TXT).
[RFC4006] Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, “Diameter Credit-Control Application,” RFC 4006, August 2005 (TXT).


 TOC 

13.2. Informative References

[I-D.ietf-nsis-ntlp] Schulzrinne, H. and M. Stiemerling, “GIST: General Internet Signalling Transport,” draft-ietf-nsis-ntlp-20 (work in progress), June 2009 (TXT).
[I-D.ietf-nsis-qos-nslp] Manner, J., Karagiannis, G., and A. McDonald, “NSLP for Quality-of-Service Signaling,” draft-ietf-nsis-qos-nslp-18 (work in progress), January 2010 (TXT).
[RFC2210] Wroclawski, J., “The Use of RSVP with IETF Integrated Services,” RFC 2210, September 1997 (TXT, HTML, XML).
[RFC2486] Aboba, B. and M. Beadles, “The Network Access Identifier,” RFC 2486, January 1999 (TXT, HTML, XML).
[RFC2749] Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R., and A. Sastry, “COPS usage for RSVP,” RFC 2749, January 2000 (TXT).
[RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, “A Framework for Policy-based Admission Control,” RFC 2753, January 2000 (TXT).
[RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, “Remote Authentication Dial In User Service (RADIUS),” RFC 2865, June 2000 (TXT).
[RFC3313] Marshall, W., “Private Session Initiation Protocol (SIP) Extensions for Media Authorization,” RFC 3313, January 2003 (TXT).
[RFC3520] Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh, “Session Authorization Policy Element,” RFC 3520, April 2003 (TXT).
[RFC3521] Hamer, L-N., Gage, B., and H. Shieh, “Framework for Session Set-up with Media Authorization,” RFC 3521, April 2003 (TXT).
[RFC4027] Josefsson, S., “Domain Name System Media Types,” RFC 4027, April 2005 (TXT).
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, “SDP: Session Description Protocol,” RFC 4566, July 2006 (TXT).


 TOC 

Authors' Addresses

  Glen Zorn (editor)
 
Phone: 
Email:  glenzorn@comcast.net
  
  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 6
  Munich, Bavaria 81739
  Germany
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
Email:  dongsun@alcatel-lucent.com


 TOC 

Full Copyright Statement

Intellectual Property