draft-ietf-dime-diameter-qos-00.txt   draft-ietf-dime-diameter-qos-01.txt 
Diameter Maintanence and G. Zorn, Ed. Network Working Group G. Zorn, Ed.
Extensions (DIME) Cisco Internet-Draft Cisco Systems
Internet-Draft P. McCann Intended status: Standards Track P. McCann
Intended status: Standards Track Motorola Labs Expires: January 10, 2008 Motorola Labs
Expires: August 30, 2007 H. Tschofenig H. Tschofenig
Siemens Networks GmbH & Co KG Nokia Siemens Networks
T. Tsou T. Tsou
Huawei Huawei
A. Doria A. Doria
Lulea University of Technology Lulea University of Technology
February 26, 2007 D. Sun
Bell Labs/Alcatel-Lucent
July 9, 2007
Diameter Quality of Service Application Diameter Quality of Service Application
draft-ietf-dime-diameter-qos-00.txt draft-ietf-dime-diameter-qos-01.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 41 skipping to change at page 1, line 43
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 30, 2007. This Internet-Draft will expire on January 10, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document describes a Diameter application that performs This document describes a Diameter application that performs
Authentication, Authorization, and Accounting for Quality of Service Authentication, Authorization, and Accounting for Quality of Service
(QoS) reservations. This protocol is used by elements along the path (QoS) reservations. This protocol is used by elements along the path
of a given application flow to authenticate a reservation request, of a given application flow to authenticate a reservation request,
ensure that the reservation is authorized, and to account for ensure that the reservation is authorized, and to account for
resources consumed during the lifetime of the application flow. resources consumed during the lifetime of the application flow.
Clients that implement the Diameter QoS application contact an Clients that implement the Diameter QoS application contact an
authorizing entity/application server that is located somewhere in authorizing entity/application server that is located somewhere in
the network, allowing for a wide variety of flexible deployment the network, allowing for a wide variety of flexible deployment
models. models.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1. Network element functional model . . . . . . . . . . . . . 7 3.1. Network element functional model . . . . . . . . . . . . . 9
3.2. QoS Authorization Requirements . . . . . . . . . . . . . . 9 3.2. Implications of endpoint QoS capabilities . . . . . . . . 11
3.2.1. Category of endpoint QoS capabilities . . . . . . . . 11
3.2.2. Interaction modes between authorizing entity and
network element . . . . . . . . . . . . . . . . . . . 11
3.3. Authorization schemes . . . . . . . . . . . . . . . . . . 13
3.3.1. Authorization schemes for pull mode . . . . . . . . . 13
3.3.2. Authorization schemes for push mode . . . . . . . . . 16
3.4. QoS Authorization Requirements . . . . . . . . . . . . . . 17
4. Diameter QoS Authorization Session Establishment and 4. Diameter QoS Authorization Session Establishment and
Management . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Management . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1. Parties involved . . . . . . . . . . . . . . . . . . . . . 13 4.1. Parties involved . . . . . . . . . . . . . . . . . . . . . 22
4.2. Diameter QoS Authorization Session Establishment . . . . . 13 4.2. Diameter QoS Authorization Session Establishment . . . . . 22
4.3. QoS authorization session re-authorization . . . . . . . . 17 4.3. QoS authorization session re-authorization . . . . . . . . 26
4.3.1. Client-Side Initiated Re-Authorization . . . . . . . . 17 4.3.1. Client-Side Initiated Re-Authorization . . . . . . . . 26
4.3.2. Server-Side Initiated Re-Authorization . . . . . . . . 19 4.3.2. Server-Side Initiated Re-Authorization . . . . . . . . 28
4.4. Server-Side Initiated QoS Parameter Provisioning . . . . . 19 4.4. Server-Side Initiated QoS Parameter Provisioning . . . . . 28
4.5. Session Termination . . . . . . . . . . . . . . . . . . . 20 4.5. Session Termination . . . . . . . . . . . . . . . . . . . 29
4.5.1. Client-Side Initiated Session Termination . . . . . . 20 4.5.1. Client-Side Initiated Session Termination . . . . . . 29
4.5.2. Server-Side Initiated Session Termination . . . . . . 21 4.5.2. Server-Side Initiated Session Termination . . . . . . 30
5. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6. Diameter QoS Authorization Application Messages . . . . . . . 24 6. Diameter QoS Authorization Application Messages . . . . . . . 33
6.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . . 25 6.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . . 34
6.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 25 6.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 34
6.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . . 26 6.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . . 35
6.4. QoS-Install Answer (QIA) . . . . . . . . . . . . . . . . . 27 6.4. QoS-Install Answer (QIA) . . . . . . . . . . . . . . . . . 36
6.5. Accounting Request (ACR) . . . . . . . . . . . . . . . . . 27 6.5. Accounting Request (ACR) . . . . . . . . . . . . . . . . . 36
6.6. Accounting Answer (ACA) . . . . . . . . . . . . . . . . . 28 6.6. Accounting Answer (ACA) . . . . . . . . . . . . . . . . . 37
7. Diameter QoS Authorization Application AVPs . . . . . . . . . 29 7. Diameter QoS Authorization Application AVPs . . . . . . . . . 38
7.1. Diameter Base Protocol AVPs . . . . . . . . . . . . . . . 29 7.1. Diameter Base Protocol AVPs . . . . . . . . . . . . . . . 38
7.2. Credit Control Application AVPs . . . . . . . . . . . . . 29 7.2. Credit Control Application AVPs . . . . . . . . . . . . . 38
7.3. Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 30 7.3. Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 39
7.4. Diameter QoS Application Defined AVPs . . . . . . . . . . 30 7.4. Diameter QoS Application Defined AVPs . . . . . . . . . . 39
8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 44
10. Security Considerations . . . . . . . . . . . . . . . . . . . 39 10. Security Considerations . . . . . . . . . . . . . . . . . . . 45
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 40 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 46
12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 41 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 47
13. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 42 13. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 48
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 43 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 49
14.1. Normative References . . . . . . . . . . . . . . . . . . . 43 14.1. Normative References . . . . . . . . . . . . . . . . . . . 49
14.2. Informative References . . . . . . . . . . . . . . . . . . 43 14.2. Informative References . . . . . . . . . . . . . . . . . . 49
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 45 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 51
Intellectual Property and Copyright Statements . . . . . . . . . . 46 Intellectual Property and Copyright Statements . . . . . . . . . . 53
1. Introduction 1. Introduction
To meet the Quality of Service needs of applications such as Voice- To meet the Quality of Service needs of applications such as Voice-
over-IP in a heavily loaded network, packets belonging to real-time over-IP in a heavily loaded network, packets belonging to real-time
application flows must be identified and segregated from other application flows must be identified and segregated from other
traffic to ensure that bandwidth, delay, and loss rate requirements traffic to ensure that bandwidth, delay, and loss rate requirements
are met. In addition, new flows should not be added to the network are met. In addition, new flows should not be added to the network
when it is at or near capacity, which would result in degradation of when it is at or near capacity, which would result in degradation of
quality for all flows carried by the network. quality for all flows carried by the network.
skipping to change at page 4, line 34 skipping to change at page 5, line 34
reservation request must also authenticate and authorize the request, reservation request must also authenticate and authorize the request,
especially in an environment where the endpoints are not trusted. In especially in an environment where the endpoints are not trusted. In
addition, these nodes will generate accounting information about the addition, these nodes will generate accounting information about the
resources used and attribute usage to the requesting endpoints. This resources used and attribute usage to the requesting endpoints. This
will enable the owner of the network element to generate usage- will enable the owner of the network element to generate usage-
sensitive billing records and to understand how to allocate new sensitive billing records and to understand how to allocate new
network capacity. network capacity.
A variety of protocols could be used to make a QoS request, including A variety of protocols could be used to make a QoS request, including
RSVP [RFC2210], NSIS [I-D.ietf-nsis-qos-nslp], link-specific RSVP [RFC2210], NSIS [I-D.ietf-nsis-qos-nslp], link-specific
signaling or even SIP/SDP [RFC2327]. This document aims to be signaling or even SIP/SDP [RFC4566]. This document aims to be
agnostic to the QoS signaling protocol used and to the QoS model to agnostic to the QoS signaling protocol used and to the QoS model to
which the signaling is directed. which the signaling is directed.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
The following terms are used in this document: The following terms are used in this document:
skipping to change at page 5, line 25 skipping to change at page 6, line 25
An application server is a network entity that exchanges signaling An application server is a network entity that exchanges signaling
messages with an application endpoint. It may be a source of messages with an application endpoint. It may be a source of
authorization for QoS-enhanced application flows. For example, a authorization for QoS-enhanced application flows. For example, a
SIP server is one kind of application server. SIP server is one kind of application server.
Application Endpoint Application Endpoint
An application endpoint is an entity in an end user device that An application endpoint is an entity in an end user device that
exchanges signaling messages with application servers or directly exchanges signaling messages with application servers or directly
with other application endpoints. Based on the result of this with other application endpoints. Based on the result of this
signaling, the endpoint will make a request for QoS from the signaling, the endpoint may make a request for QoS from the
network. For example, a SIP User Agent is one kind of application network. For example, a SIP User Agent is one kind of application
endpoint. endpoint.
Authorizing Entity Authorizing Entity
The authorizing entity is that entity responsible for authorizing The authorizing entity acts as a Diameter server (and may
QoS requests for a particular application flow or aggregate. This collocate with a subscriber database) responsible for authorizing
may be a Diameter server (with a subscriber database) or an QoS requests for a particular application flow or aggregate. It
application server acting as a Diameter server. may be a standalone entity or integrated with an application
server. This entity corresponds to the Policy Decision Point
(PDP) (see [RFC2753]).
AAA Cloud AAA Cloud
An infrastructure of AAA entities (clients, agents, servers) based An infrastructure of AAA entities (clients, agents, servers) based
on a AAA protocol, which provides trusted secure connections on a AAA protocol, which provides trusted secure connections
between them. It offers authentication, authorization and between them. It offers authentication, authorization and
accounting services to applications in flexible local and roaming accounting services to applications in flexible local and roaming
scenarios. Diameter [RFC3588] and RADIUS [RFC2865] are both scenarios. Diameter [RFC3588] and RADIUS [RFC2865] are both
widely deployed AAA protocols. widely deployed AAA protocols.
Network Element (NE) Network Element (NE)
QoS aware router that acts as Diameter client that implements the QoS aware router that acts as Diameter client that implements the
Diameter QoS application in the context of this document. For Diameter QoS application in the context of this document. For
almost all scenarios this entity triggers the protocol interaction almost all scenarios this entity triggers the protocol interaction
described in this document. This entity corresponds to the Policy described in this document. This entity corresponds to the Policy
Enforcement Point (PEP) (see [RFC2753]). Enforcement Point (PEP) (see [RFC2753]).
Pull Mode
In this mode, the QoS authorization process is invoked by the QoS
reservation request received from the endpoint. The Network
Element then requests the QoS authorization decision from the
Authorizing entity.
Push Mode
In this mode, the QoS authorization process is invoked by the
request from Application Server or local policies in the
Authorizing Entity. The Authorizing Entity then installs the QoS
authorization decision to the Network Element initiatively.
3. Framework 3. Framework
The Diameter QoS application runs between a network element receiving The Diameter QoS application runs between a network element (acting
QoS reservation requests (acting as a AAA client) and the resource as a Diameter client) and the resource authorizing entity (acting as
authorizing entity (acting as a AAA server). A high-level picture of a Diameter server). A high-level picture of the resulting
the resulting architecture is shown in Figure 1. architecture is shown in Figure 1.
+-----------------+ +-------+---------+
| Authorizing | | Authorizing |
| Entity | | Entity |
|(Diameter Server)| |(Diameter Server)|
+-------+---------+ +-------+---------+
| |
| |
/\-----+-----/\ /\-----+-----/\
//// \\\\ //// \\\\
|| AAA Cloud || || AAA Cloud ||
| (Diameter application) | | (Diameter application) |
|| || || ||
\\\\ //// \\\\ ////
\-------+-----/ \-------+-----/
| |
+---+--+ +-----+----+ +---+--+ +---+--+ +-----+----+ +---+--+
| | | NE | | | Application | | | NE | | | Media
+ NE +===+(Diameter +===+ NE +=============>> + NE +===+(Diameter +===+ NE +=============>>
| | | Client) | | | Flow | | | Client) | | | Flow
+------+ +----------+ +------+ +------+ +----------+ +------+
Figure 1: An Architecture supporting QoS-AAA Figure 1: An Architecture supporting QoS-AAA
Figure 1 depicts network elements through which application flows Figure 1 depicts network elements through which media flows need to
need to pass, a cloud of AAA servers, and an authorizing entity. pass, a cloud of AAA servers, and an authorizing entity. Note that
Note that there may be more than one router that needs to interact there may be more than one router that needs to interact with the AAA
with the AAA cloud along the path of a given application flow, cloud along the path of a given application flow, although the figure
although the figure only depicts one for clarity. QoS aware network only depicts one for clarity.
elements will request authorization from the AAA cloud based on an
incoming QoS reservation request. The AAA entities will route the
request to a designated AAA authorizing entity, for example in the
home domain. The home authorizing entity will return the result of
the authorization decision.
In more complex deployment models, the authorization will be based on In some deployment scenarios, QoS aware network elements may request
dynamic application state, so that the request must be authenticated authorization through the AAA cloud based on an incoming QoS
and authorized based on information from one or more application reservation request. The network element will route the request to a
servers. If defined properly, the interface between the routers and designated authorizing entity. The authorizing entity will return
AAA cloud would be identical in both cases. Routers are therefore the result of the authorization decision. In other deployment
insulated from the details of particular applications and need not scenarios, the authorization will be initiated upon dynamic
know that application servers are involved at all. Also, the AAA application state, so that the request must be authenticated and
cloud would naturally encompass business relationships such as those authorized based on information from one or more application servers.
between network operators and third-party application providers,
enabling flexible intra- or inter-domain authorization, accounting, If defined properly, the interface between the routers and AAA cloud
and settlement. 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 3.1. Network element functional model
Figure 2 depicts a logical operational model of resource management Figure 2 depicts a logical operational model of resource management
in a router. in a router.
+-----------------------------------------------------+ +-----------------------------------------------------+
| DIAMETER Client | | DIAMETER Client |
| Functionality | | Functionality |
| +---------------++---------------++---------------+ | | +---------------++---------------++---------------+ |
skipping to change at page 9, line 15 skipping to change at page 11, line 15
client function which involves contacting an authorization entity client function which involves contacting an authorization entity
through the AAA cloud shown in Section 3. If both checks are through the AAA cloud shown in Section 3. If both checks are
successful, the authorized QoS parameters are set in the packet successful, the authorized QoS parameters are set in the packet
classifier and the packet scheduler. Note that the parameters passed classifier and the packet scheduler. Note that the parameters passed
to the Traffic Control function may be different from requested QoS to the Traffic Control function may be different from requested QoS
(depending on the authorization decision). Once the requested (depending on the authorization decision). Once the requested
resource is granted, the Resource Management function provides resource is granted, the Resource Management function provides
accounting information to the Authorizing entity using the Diameter accounting information to the Authorizing entity using the Diameter
client function. client function.
3.2. QoS Authorization Requirements 3.2. Implications of endpoint QoS capabilities
3.2.1. Category of endpoint QoS capabilities
The QoS capabilities of endpoints are varied, which can be
categorized as follows:
o Category 1 endpoint: Has no QoS capability at both application and
network levels. This type of endpoint may set up a connection
through application signaling, but it is unable to specify any
resource/QoS requirements either through application signaling
e.g. SIP or through network signaling e.g. RSVP or NSIS (or does
not support network signaling at all).
o Category 2 endpoint: Only has QoS capability at the application
level. This type of endpoint is 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 class) through network signaling e.g., RSVP or NSIS (or does
not support network layer signaling at all).
o Category 3: endpoint: Has QoS capability at the network level.
This type of endpoint may set up a connection through application
signaling and translate service characteristics into network
resource/QoS requirements (e.g. network QoS class) locally, and
request the resources through network signaling e.g. RSVP or
NSIS.
3.2.2. Interaction modes between authorizing entity and network element
Different QoS mechanisms are employed in packet networks. Those QoS
mechanisms can be categorized into two schemes: IntServ and DiffServ.
In the 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 media flow. In the DiffServ
scheme, the QoS resources are provisioned based on some predefined
QoS service classes instead of endpoint initiated per flow based QoS
request.
It is obvious that the eligible QoS scheme is correlated to the
endpoint's capability in the context of QoS authorization. Since
category 1 and 2 endpoints cannot initiate the QoS resource requests
through the network signaling, the IntServ model is not applicable to
them in general. Depending on network technology and operator's
demand, a category 3 endpoint may either make use of the network
signaling for requesting the resource or not perform the request.
The diversity of QoS capabilities of endpoints and QoS schemes of
network technology leads to the distinction on the interaction mode
between QoS authorization system and underlying network elements.
When the IntServ scheme is employed by category 3 endpoint, the
authorization process is typically initiated by network element when
a 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 on its own initiative,
the authorization process is typically triggered upon either the
request of application servers or policies defined by the operator.
As a consequence, two interaction modes are needed in support of
different combinations of QoS schemes and endpoint's QoS
capabilities. Push mode and Pull mode.
o Push mode: The QoS authorization process is triggered by
application servers or local network conditions (e.g. time of day
on resource usage and QoS classes), and the authorization
decisions are installed by the authorzing 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
server) should be able to initiate a Diameter authorization
session to communicate with the network element (i.e. Diameter
client) without any pre-established connection from the network
element.
o Pull mode: The QoS authorization process is triggered by the
network signaling received from end user equipments or by the
local event in the network element according to pre-configured
policies, and authorization decisions are produced upon the
request of the network element. In order to support the pull
mode, the network element (i.e. Diameter client) will initiate a
Diameter authorization session to communicate with authorizing
entity (i.e. Diameter server).
For category 1 and 2 endpoints, the 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 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 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. Authorization schemes
3.3.1. Authorization 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 entity that performs the QoS authorization. The
authentication of the QoS requesting entity might be done at the
network element as part of the QoS signaling protocol, or by an off-
path protocol run (on the application layer or for network access
authentication) or the authorizing entity might be contacted with
request for authentication and authorization of the QoS requesting
entity. From the Diameter QoS application's point of view these
schemes differ in type of information that need to be carried. Here
we focus on the 'Three party scheme' (Figure 3) and the Token-based
three party scheme' (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 |
| authorizing | <......+
| resource | .
| request | .
+------------+-+ .
--^----------|-- . .
///// | | \\\\\ .
// | | \\ .
| QoS | QoS AAA | QoS |.
| authz| protocol |authz |.
| req.| | res. |.
\\ | | // .
\\\\\ | | ///// .
QoS --|----------v-- . .
+-------------+ request +-+------------+ .
| Entity |----------------->| NE | .
| requesting | | performing | .
| resource |granted / rejected| QoS | <.....+
| |<-----------------| reservation | financial
+-------------+ +--------------+ settlement
Figure 3: Three Party Scheme
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 \ .
| | Authorizing +--------------+ \ .
| | Entity | | | | .
| +------+ |<--+----+ | | .
| | +--------------+ |QoS | |QoS |.
| | |authz| |authz|.
| |Authorization |req.+| |res. |.
| |Token |Token| | |.
| | | | | . | .
| | \ | | . / .
| | \ | | / .
| | QoS request |-----V . .
+-------------+ + Authz. Token +--------+-----+ .
| Entity |----------------->| NE | .
| requesting | | performing | .
| resource |granted / rejected| QoS | <....+
| |<-----------------| reservation |
+-------------+ +--------------+
Figure 4: Token-based Three Party Scheme
The 'Token-based Three Party scheme' is applicable to environments
where a previous protocol interaction is used to request
authorization tokens to assist the authorization process at the
Network Element or the Authorizing Entity.
The QoS resource requesting entity may be involved in an application
layer protocol interaction, for example using SIP, with the
Authorizing Entity. As part of this interaction, authentication and
authorization at the application layer might take place. As a result
of a successful authorization decision, which might involve the
user's home AAA server, an authorization token is generated by the
Authorizing Entity (e.g., the SIP proxy and an entity trusted by the
SIP proxy) and returned to the end host for inclusion into the QoS
signaling protocol. The authorization token will be used by a
Network Element that receives the QoS signaling message to authorize
the QoS request. Alternatively, the Diameter QoS application will be
used to forward the authorization token to the user's home network.
The authorization token allows the authorization decision performed
at the application layer protocol run to be associated with a
corresponding QoS signaling session. Note that the authorization
token might either refer to established state concerning the
authorization decision or the token might itself carry the authorized
parameters (protected by a digital signature or a keyed message
digest to prevent tampering). In the latter case the authorization
token may contain several pieces of information pertaining to the
authorized application session, but at minimum it should contain:
o An identifier of the Authorizing Entity (for example, of an
application server) that issued the authorization token,
o An identifier referring to a specific application protocol session
for which the token was issued and
o A keyed message digest or digital signature protecting the content
of the authorization token.
A possible structure for the authorization token and the policy
element carrying it are proposed in context of RSVP [RFC3520].
In the scenario mentioned above, where the QoS resource requesting
entity is involved in an application layer protocol interaction with
the Authorizing entity, it may be worthwhile to consider a token less
binding mechanism also. The application layer protocol interaction
may have indicated the transport port numbers at the QoS resource
requesting entity where it might receive media streams, for 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 NE performing QoS reservation so that it
may properly tunnel the inbound packets. The NE performing QoS
reservation will forward the QoS resource requesting entity's IP
address and the IP filter indications to the Authorizing entity in
the QoS authz. request. The Authorizing entity will use the QoS
resource requesting entity's IP address and the port numbers in the
IP filter indication, which will match the port numbers advertised in
the earlier application layer protocol interaction, to identify the
right piece of policy information to be sent to the NE performing the
QoS reservation in the QoS authz. response.
3.3.2. Authorization schemes for push mode
The push mode can be further divided into two types: endpoint
initiated and network initiated. In the former case, the
authorization process is triggered by application server upon
explicit QoS request from endpoints through application signaling,
e.g. SIP; in the latter case, the authorization process is triggered
by application server without explicit QoS request from endpoint.
In the endpoint initiated scheme, the QoS resource requesting entity
(i.e. endpoint) determines the required application level QoS and
sends the QoS request through application signaling message, the
Application Server will extract application level QoS information and
trigger the authorization process to Authorizing entity. In the
network initiated scheme, the Authorizing entity and/or Application
sever should derive and determine the QoS requirement according to
application attribute, subscription and endpoint's capability when
the endpoint does not explicitly indicate the QoS attributes. The
authorizing entity makes authorization decision based on application
level QoS information, network policies, end user subscription and
network resource availability etc., and installs the decision to
network element directly.
financial settlement
...........................+
Application V ------- .
signaling msg +--------------+ / QoS AAA \ .
+-------------->| | / protocol \ .
| | Authorizing +--------------+ \ .
| | Entity | | | | .
| + |<--+----+ | | .
| +--------------+ |QoS | |QoS |.
| install| |install
| |rsp. | |req. |.
| | | | |.
| | | | . | .
| \ | | . / .
| \ | | / .
V |-----V . .
+-------------+ +--------+-----+ .
| Entity | | NE | .
| requesting | | performing | .
| resource |QoS rsrc granted | QoS | <....+
| |<-----------------| reservation |
+-------------+ +--------------+
Figure 5: Authorization Scheme for Push Mode
3.4. QoS Authorization Requirements
A QoS authorization application must meet a number of requirements A QoS authorization application must meet a number of requirements
applicable to a diverse set of networking environments and services. applicable to a diverse set of networking environments and services.
It should be compliant with different deployment scenarios with It should be compliant with different deployment scenarios with
specific QoS signaling models and security issues. Satisfying the specific QoS signaling models and security issues. Satisfying the
requirements listed below while interworking with QoS signaling requirements listed below while interworking with QoS signaling
protocols, a Diameter QoS application should accommodate the protocols, a Diameter QoS application should accommodate the
capabilities of the QoS signaling protocols rather than introducing capabilities of the QoS signaling protocols rather than introducing
functional requirements on them. A list of requirements for a QoS functional requirements on them. A list of requirements for a QoS
authorization application is provided here: authorization application is provided here:
skipping to change at page 13, line 35 skipping to change at page 22, line 35
might take place. This message exchange is, however, outside the might take place. This message exchange is, however, outside the
scope of this document. The protocol communication between the the scope of this document. The protocol communication between the the
QoS resource requesting entity and the QoS Network Element might be QoS resource requesting entity and the QoS Network Element might be
accomplished using the NSIS protocol suite, RSVP or a link layer accomplished using the NSIS protocol suite, RSVP or a link layer
signaling protocol. A description of these protocols is also outside signaling protocol. A description of these protocols is also outside
the scope of this document and a tight coupling with these protocols the scope of this document and a tight coupling with these protocols
is not desirable since this applications aims to be generic. is not desirable since this applications aims to be generic.
4.2. Diameter QoS Authorization Session Establishment 4.2. Diameter QoS Authorization Session Establishment
Figure 4 shows the protocol interaction between a resource requesting Figure 7 shows the protocol interaction between a resource requesting
entity, a Network Element and the Authorizing Entity. entity, a Network Element and the Authorizing Entity.
A request for a QoS reservation received by a Network Element A request for a QoS reservation received by a Network Element
initiates a Diameter QoS authorization session. The Network Element initiates a Diameter QoS authorization session. The Network Element
generates a QoS-Authorization-Request (QAR) message in which it maps generates a QoS-Authorization-Request (QAR) message in which it maps
required objects from the QoS signaling message to Diameter payload required objects from the QoS signaling message to Diameter payload
objects. objects.
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| QoS specific Input Data | Diameter QoS AVPs | | QoS specific Input Data | Diameter QoS AVPs |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| Authorizing entity ID (e.g., | Destination-Host | | Authorizing entity ID (e.g., | Destination-Host |
|taken from authorization token or | Destination-Realm | | taken from authorization token | Destination-Realm |
|from Network Access ID (NAI), | | | or from Network Access ID (NAI) | |
|[RFC2486] of the QoS requesting | | |[RFC2486] of the QoS requesting | |
|entity) | | |entity) | |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| Authorization Token | QoS-Authz-Data | | Authorization Token | QoS-Authz-Data |
| Credentials of | User-Name | | Credentials of | User-Name |
| the QoS requesting entity | | | the QoS requesting entity | |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| QoS parameters | QoS-Resources | | QoS parameters | QoS-Resources |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| Flow Identifiers | ExtendedQoSFilterRule |
+----------------------------------+-------------------------------+
The Authorizing Entity's identity, information about the application The Authorizing Entity's identity, information about the application
session and/or identity and credentials of the QoS resource session and/or identity and credentials of the QoS resource
requesting entity, requested QoS parameters, signaling session requesting entity, requested QoS parameters, signaling session
identifier and/or QoS enabled data flows identifiers MAY be identifier and/or QoS enabled data flows identifiers MAY be
encapsulated into respective Diameter AVPs and included into the encapsulated into respective Diameter AVPs and included into the
Diameter message sent to the Authorizing Entity. The QAR is sent to 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 a Diameter server that can either be the home server of the QoS
requesting entity or an application server. requesting entity or an application server.
skipping to change at page 15, line 48 skipping to change at page 24, line 48
| |CC-Time,Acc-Multisess-id)| | |CC-Time,Acc-Multisess-id)|
| | +--------+--------------+ | | +--------+--------------+
| | | Report for successful | | | | Report for successful |
| | | QoS reservation | | | | QoS reservation |
| | |Update of reserved QoS | | | |Update of reserved QoS |
| | | resources | | | | resources |
| | +--------+--------------+ | | +--------+--------------+
| |< - - - - ACA - - - - - -+ | |< - - - - ACA - - - - - -+
| | | | | |
Figure 4: Initial QoS Request Authorization Figure 7: Initial QoS Request Authorization
The Authorizing Entity keeps authorization session state and SHOULD The Authorizing Entity keeps authorization session state and SHOULD
save additional information for management of the session (e.g., Acc- save additional information for management of the session (e.g., Acc-
Multi-Session-Id, Signaling-Session-Id, authentication data) as part Multi-Session-Id, Signaling-Session-Id, authentication data) as part
of the session state information. A Signaling-session-Id (if of the session state information. A Signaling-session-Id (if
present) SHOULD be used together with the generated Acc-Multi- present) SHOULD be used together with the generated Acc-Multi-
Session-Id AVP (see Section 7.3) for binding the authorization and Session-Id AVP (see Section 7.3) for binding the authorization and
the accounting session information in case of end host mobility the accounting session information in case of end host mobility
(i.e., to correlate the Diameter sessions that are initiated for the (i.e., to correlate the Diameter sessions that are initiated for the
same signaling session from different QoS NE). same signaling session from different QoS NE).
skipping to change at page 18, line 5 skipping to change at page 27, line 5
4.3.1. Client-Side Initiated Re-Authorization 4.3.1. Client-Side Initiated Re-Authorization
The Authorizing Entity provides the duration of the authorization The Authorizing Entity provides the duration of the authorization
session as part of the QoS-Authorization-Answer message (QAA). At session as part of the QoS-Authorization-Answer message (QAA). At
any time before expiration of this period, a new QoS-Authorization- any time before expiration of this period, a new QoS-Authorization-
Request message (QAR) MAY be sent to the Authorizing Entity. The Request message (QAR) MAY be sent to the Authorizing Entity. The
transmission of the QAR MAY be triggered when the Network Element transmission of the QAR MAY be triggered when the Network Element
receives a QoS signaling message that requires modification of the receives a QoS signaling message that requires modification of the
authorized parameters of an ongoing QoS session, when authorization authorized parameters of an ongoing QoS session, when authorization
lifetime expires or by an accounting event, see Section 5 and lifetime expires or by an accounting event, see Section 5 and
Figure 5). Figure 8).
Authorizing Authorizing
End-Host Network Element Entity End-Host Network Element Entity
requesting QoS ( Diameter ( Diameter requesting QoS ( Diameter ( Diameter
QoS Client) QoS Server) QoS Client) QoS Server)
| | | | | |
|=====================Data Flow==========================> |=====================Data Flow==========================>
| | | | | |
| +-------+----------+ | | +-------+----------+ |
| |Authz-time/CC-Time| | | |Authz-time/CC-Time| |
skipping to change at page 18, line 49 skipping to change at page 27, line 49
| |CC-Time,Acc-Multisess-id)| | |CC-Time,Acc-Multisess-id)|
| | +--------+--------------+ | | +--------+--------------+
| | |Update of QoS resources| | | |Update of QoS resources|
| | |/CC-Time,Cost/ used | | | |/CC-Time,Cost/ used |
| | +--------+--------------+ | | +--------+--------------+
| |< - - - - ACA - - - - - -+ | |< - - - - ACA - - - - - -+
| | | | | |
|=====================Data Flow==========================> |=====================Data Flow==========================>
| | | |
Figure 5: QoS request re-authorization Figure 8: QoS request re-authorization
4.3.2. Server-Side Initiated Re-Authorization 4.3.2. Server-Side Initiated Re-Authorization
The Authorizing Entity MAY optionally initiate a QoS re-authorization The Authorizing Entity MAY optionally initiate a QoS re-authorization
by issuing a Re-Auth-Request message (RAR) as defined in the Diameter by issuing a Re-Auth-Request message (RAR) as defined in the Diameter
base protocol [RFC3588]. A Network Element client that receives such base protocol [RFC3588]. A Network Element client that receives such
a RAR message with Session-Id matching a currently active QoS session a RAR message with Session-Id matching a currently active QoS session
acknowledges the request by sending the Re-Auth-Answer (RAA) message acknowledges the request by sending the Re-Auth-Answer (RAA) message
and MUST initiate a QoS reservation re-authorization by sending a and MUST initiate a QoS reservation re-authorization by sending a
QoS-Authorization-Request (QAR) message towards the Authorizing QoS-Authorization-Request (QAR) message towards the Authorizing
skipping to change at page 19, line 27 skipping to change at page 28, line 27
In certain deployment scenarios (mostly applicable for local QoS In certain deployment scenarios (mostly applicable for local QoS
provision) an active control over the QoS resource and QoS enabled provision) an active control over the QoS resource and QoS enabled
data flows from the network side is required. Therefore, the data flows from the network side is required. Therefore, the
Authorizing Entity is enabled to update installed QoS parameters and Authorizing Entity is enabled to update installed QoS parameters and
flow state at the Network Element by sending a QoS-Install Request flow state at the Network Element by sending a QoS-Install Request
message (QIR). Network Elements MUST apply the updates and respond message (QIR). Network Elements MUST apply the updates and respond
with an QoS-Install Answer message (QIA). This functionality, for with an QoS-Install Answer message (QIA). This functionality, for
example, allows the update of already authorized flow status of an example, allows the update of already authorized flow status of an
established QoS reservation due to a change at the application layer established QoS reservation due to a change at the application layer
session (see Figure 6). session (see Figure 9).
Authorizing Authorizing
End-Host Network Element Entity End-Host Network Element Entity
requesting QoS ( Diameter ( Diameter requesting QoS ( Diameter ( Diameter
QoS Client) QoS Server) QoS Client) QoS Server)
| | | | | |
+===================+=Data Flow==========================> +===================+=Data Flow==========================>
| | +--------+--------------+ | | +--------+--------------+
| | |Data flow preemption | | | |Data flow preemption |
| | +--------+--------------+ | | +--------+--------------+
skipping to change at page 20, line 4 skipping to change at page 29, line 4
| +-------+---------+ | | +-------+---------+ |
| |Update QoS state | | | |Update QoS state | |
| | + | | | | + | |
| | Authz. session | | | | Authz. session | |
| |/QoS-Flow-State= | | | |/QoS-Flow-State= | |
| | CLOSE/ | | | | CLOSE/ | |
| +-------+---------+ | | +-------+---------+ |
+====Data Flow=====>X | +====Data Flow=====>X |
| +- - - - - QIA - - - - - >| | +- - - - - QIA - - - - - >|
| | (Result-Code) | | | (Result-Code) |
Figure 6: Server-Side Initiated QoS Parameter Provisioning Figure 9: Server-Side Initiated QoS Parameter Provisioning
The Authorizing Entity MAY initiate a QoS authorization session The Authorizing Entity MAY initiate a QoS authorization session
establishment and QoS reservation state installation (prior to a establishment and QoS reservation state installation (prior to a
request from a Network Element). This function requires that the request from a Network Element). This function requires that the
Authorizing Entity has knowledge of specific information identifying Authorizing Entity has knowledge of specific information identifying
the Network Element that should be contacted and the data flow for the Network Element that should be contacted and the data flow for
which the QoS reservation should be established.(mostly applicable which the QoS reservation should be established.(mostly applicable
for local scenarios) for local scenarios)
4.5. Session Termination 4.5. Session Termination
skipping to change at page 20, line 27 skipping to change at page 29, line 27
The authorization session for an installed QoS reservation state MAY The authorization session for an installed QoS reservation state MAY
be terminated by the Diameter client by sending a Session- be terminated by the Diameter client by sending a Session-
Termination-Request message (STR) to the Diameter server. This is a Termination-Request message (STR) to the Diameter server. This is a
Diameter base protocol function and it is defined in [RFC3588]. Diameter base protocol function and it is defined in [RFC3588].
Session termination can be caused by a QoS signaling messaging Session termination can be caused by a QoS signaling messaging
requesting deletion of the existing QoS reservation state or it can requesting deletion of the existing QoS reservation state or it can
be caused as a result of a soft-state expiration of the QoS be caused as a result of a soft-state expiration of the QoS
reservation state. After a successful termination of the reservation state. After a successful termination of the
authorization session, final accounting messages MUST be exchanged authorization session, final accounting messages MUST be exchanged
(see Figure 7). It should be noted that the two sessions (see Figure 10). It should be noted that the two sessions
(authorization and accounting) have independent management by the (authorization and accounting) have independent management by the
Diameter base protocol, which allows for finalizing the accounting Diameter base protocol, which allows for finalizing the accounting
session after the end of the authorization session. session after the end of the authorization session.
Authorizing Authorizing
End-Host Network Element Entity End-Host Network Element Entity
requesting QoS ( Diameter ( Diameter requesting QoS ( Diameter ( Diameter
QoS Client) QoS Server) QoS Client) QoS Server)
| | | | | |
|==Data Flow==>X /Stop of the data flow/ | |==Data Flow==>X /Stop of the data flow/ |
skipping to change at page 21, line 42 skipping to change at page 30, line 42
| | Report for successful | | | Report for successful |
| | end of QoS session | | | end of QoS session |
| +--------+--------------+ | +--------+--------------+
|< - - - - ACA - - - - - -+ |< - - - - ACA - - - - - -+
| |
| QoS Responder | QoS Responder
| Node | Node
|<---------QoS-Response----....----+ |<---------QoS-Response----....----+
| | | |
Figure 7: Client-Side Initiated Session Termination Figure 10: Client-Side Initiated Session Termination
4.5.2. Server-Side Initiated Session Termination 4.5.2. Server-Side Initiated Session Termination
At anytime during a session the Authorizing Entity MAY send an Abort- At anytime during a session the Authorizing Entity MAY send an Abort-
Session-Request message (ASR) to the Network Element. This is a Session-Request message (ASR) to the Network Element. This is a
Diameter base protocol function and it is defined in [RFC3588]. Diameter base protocol function and it is defined in [RFC3588].
Possible reasons for initiating the ASR message to the Network Possible reasons for initiating the ASR message to the Network
Element are insufficient credits or session termination at the Element are insufficient credits or session termination at the
application layer. The ASR message results in termination of the application layer. The ASR message results in termination of the
authorized session, release of the reserved resources at the Network authorized session, release of the reserved resources at the Network
Element and transmission of an appropriate QoS signaling message Element and transmission of an appropriate QoS signaling message
indicating a notification to other Network Elements aware of the indicating a notification to other Network Elements aware of the
signaling session. A final accounting message exchange MUST be signaling session. A final accounting message exchange MUST be
triggered as a result of this ASR message exchange (see Figure 8). triggered as a result of this ASR message exchange (see Figure 11).
Authorizing Authorizing
End-Host Network Element Entity End-Host Network Element Entity
requesting QoS ( Diameter ( Diameter requesting QoS ( Diameter ( Diameter
QoS Client) QoS Server) QoS Client) QoS Server)
| | | | | |
|=====================Data Flow==========================> |=====================Data Flow==========================>
| | | |
| |< - - - - ASR - - - - - -+ | |< - - - - ASR - - - - - -+
| | | | | |
skipping to change at page 22, line 46 skipping to change at page 31, line 46
| +--------+--------------+ | +--------+--------------+
| | Report for successful | | | Report for successful |
| | end of QoS session | | | end of QoS session |
| +--------+--------------+ | +--------+--------------+
|< - - - - ACA - - - - - -+ |< - - - - ACA - - - - - -+
| QoS Responder | QoS Responder
| Node | Node
|<---------QoS-Response----....----+ |<---------QoS-Response----....----+
| | | |
Figure 8: Server-Side Initiated Session Termination Figure 11: Server-Side Initiated Session Termination
5. Accounting 5. Accounting
The Diameter QoS application provides accounting for usage of The Diameter QoS application provides accounting for usage of
reserved QoS resources. Diameter QoS accounting has built-in support reserved QoS resources. Diameter QoS accounting has built-in support
for online, duration based accounting. This accounting is based on for online, duration based accounting. This accounting is based on
the notion that the Diameter QoS clients are in the best position to the notion that the Diameter QoS clients are in the best position to
determine the cost of those resources. determine the cost of those resources.
In the Diameter QoS application, the router MAY send a Cost- In the Diameter QoS application, the router MAY send a Cost-
skipping to change at page 23, line 41 skipping to change at page 32, line 41
in the Cost-Information AVPs, the Resource Authorizing Entity can use 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 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 not exceed a certain threshold, which allows, for example, support of
prepaid users. prepaid users.
Each ACR message contains a triplet of QoS-Resources AVP, Cost- Each ACR message contains a triplet of QoS-Resources AVP, Cost-
Information AVP, and CC-Time AVP. This represents the total time Information AVP, and CC-Time AVP. This represents the total time
consumed at the given cost for the given resources. Note that an ACR consumed at the given cost for the given resources. Note that an ACR
message MUST be sent separately for each interval defined by the message MUST be sent separately for each interval defined by the
Tariff-Time-Change AVPs and the expiration of the CC-Time returned in Tariff-Time-Change AVPs and the expiration of the CC-Time returned in
the QAA (see Figure 5). the QAA (see Figure 8).
The Network Element starts an accounting session by sending an The Network Element starts an accounting session by sending an
Accounting-Request message (ACR) after successful QoS reservation and Accounting-Request message (ACR) after successful QoS reservation and
activation of the data flow (see Figure 4). After every successful activation of the data flow (see Figure 7). After every successful
re-authorization procedure the Network element MUST initiate an re-authorization procedure the Network element MUST initiate an
interim accounting message exchange (see Figure 5). After successful interim accounting message exchange (see Figure 8). After successful
session termination the Network element MUST initiate a final session termination the Network element MUST initiate a final
exchange of accounting messages for terminating of the accounting exchange of accounting messages for terminating of the accounting
session and reporting final records for the usage of the QoS session and reporting final records for the usage of the QoS
resources reserved (see Figure 7). resources reserved (see Figure 10).
6. Diameter QoS Authorization Application Messages 6. Diameter QoS Authorization Application Messages
The Diameter QoS Application requires the definition of new mandatory The Diameter QoS Application requires the definition of new mandatory
AVPs and Command-codes (see Section 3 of [RFC3588]). Four new AVPs and Command-codes (see Section 3 of [RFC3588]). Four new
Diameter messages are defined along with Command-Codes whose values Diameter messages are defined along with Command-Codes whose values
MUST be supported by all Diameter implementations that conform to MUST be supported by all Diameter implementations that conform to
this specification. this specification.
Command-Name Abbrev. Code Reference Command-Name Abbrev. Code Reference
skipping to change at page 30, line 31 skipping to change at page 39, line 31
provided: provided:
Attribute Name AVP Code Reference [RFC3588] Attribute Name AVP Code Reference [RFC3588]
Acct-Application-Id 259 Section 6.9 Acct-Application-Id 259 Section 6.9
Accounting-Record-Type 480 Section 9.8.1 Accounting-Record-Type 480 Section 9.8.1
Accounting-Interim-Interval 85 Section 9.8.2 Accounting-Interim-Interval 85 Section 9.8.2
Accounting-Record-Number 485 Section 9.8.3 Accounting-Record-Number 485 Section 9.8.3
Accounting-Realtime-Required 483 Section 9.8.7 Accounting-Realtime-Required 483 Section 9.8.7
Acc-Multi-Session-ID 50 Section 9.8.5 Acc-Multi-Session-ID 50 Section 9.8.5
The following AVP needs further explanation: The following AVPs need further explanation:
Acct-Application-Id AVP Acct-Application-Id AVP
The Acct-Application-Id AVP (AVP Code 259)is assigned by IANA to The Acct-Application-Id AVP (AVP Code 259)is assigned by IANA to
Diameter applications. The value of the Acct-Application-Id for Diameter applications. The value of the Acct-Application-Id for
the Diameter QoS application is TBD (TBD). the Diameter QoS application is TBD (TBD).
Acc-Multisession-ID Acc-Multisession-ID
Acc-Multi-Session-ID AVP (AVP Code 50) SHOULD be used to link Acc-Multi-Session-ID AVP (AVP Code 50) SHOULD be used to link
multiple accounting sessions together, allowing the correlation of multiple accounting sessions together, allowing the correlation of
accounting information. This AVP MAY be returned by the Diameter accounting information. This AVP MAY be returned by the Diameter
server in a QoS-Authorization-Answer message (QAA), and MUST be server in a QoS-Authorization-Answer message (QAA), and MUST be
used in all accounting messages for the given session. used in all accounting messages for the given session.
7.4. Diameter QoS Application Defined AVPs 7.4. Diameter QoS Application Defined AVPs
This section defines the Quality of Service AVPs that are specific to This document reuses the AVPs defined in Section 4 of
[I-D.ietf-dime-qos-attributes].
This section lists the AVPs that are used by this specifispecific to
the Diameter QoS application. the Diameter QoS application.
The following table describes the Diameter AVPs used in the QoS Additionally, the followig new AVPs are defined:
Application, their AVP code values, types, possible flag values, and Bound-Auth-Session-Id and the QoS-Authz-Data AVP
whether the AVP may be encrypted.
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 Flag rules |
+----------------------------------------------|----+---+----+-----+ +----------------------------------------------|----+---+----+-----+
| AVP Section | | |SHLD| MUST| | AVP Section | | |SHLD| MUST|
| Attribute Name Code Defined Data Type |MUST|MAY| NOT| NOT| | Attribute Name Code Defined Data Type |MUST|MAY| NOT| NOT|
+----------------------------------------------+----+---+----+-----+ +----------------------------------------------+----+---+----+-----+
|QoS-Flow-State TBD 7.4 Enumerated | M | P | | V |
|QSPEC TBD 7.4 OctetSTring| M | P | | V |
|ExtendedQoSFilterRule TBD 7.4 OctetString| M | P | | V |
|QoS-Authz-Data TBD 7.4 Grouped | M | P | | V | |QoS-Authz-Data TBD 7.4 Grouped | M | P | | V |
|QoS-Resources TBD 7.4 Grouped | M | P | | V |
|Bound-Auth-Session-Id TBD 7.4 UTF8String | M | P | | V | |Bound-Auth-Session-Id TBD 7.4 UTF8String | M | P | | V |
+----------------------------------------------+----+---+----+-----+ +----------------------------------------------+----+---+----+-----+
|M - Mandatory bit. An AVP with "M" bit set and its value MUST be | |M - Mandatory bit. An AVP with "M" bit set and its value MUST be |
| supported and recognized by a Diameter entity in order the | | supported and recognized by a Diameter entity in order the |
| message, which carries this AVP, to be accepted. | | message, which carries this AVP, to be accepted. |
|P - Indicates the need for encryption for end-to-end security. | |P - Indicates the need for encryption for end-to-end security. |
|V - Vendor specific bit that indicates whether the AVP belongs to | |V - Vendor specific bit that indicates whether the AVP belongs to |
| a address space. | | a address space. |
+------------------------------------------------------------------+ +------------------------------------------------------------------+
ExtendedQoSFilterRule
The ExtendedQoSFilterRule format is derived from the OctetString
AVP Base Format. It uses the ASCII charset.
The ExtendedQoSFilterRule MUST follow the format:
action dir proto from src to dst [options]
Labels Description
action Action associated with the packet treatment.
Basic actions are described in the IPFilterRule
and extended for usage with QoS treatment.
dir Direction of the packet follow the filter applies to.
A basic description can be found with the
IPFilterRule. Examples are in, out and both.
proto Protocol
A description can be found with the IPFilterRule.
src and dst <address/mask> [ports]
A description can be found with the IPFilterRule.
flow-label IPv6 Flow Label
A description can be found in TBD.
dscp Diffserv Codepoints
A description can be found in TBD.
ipsec-spi IPsec Security Parameter Index (SPI)
A description can be found in TBD.
qos-id A unique id referencing the applicable QoS parameters
that need to be applied to the specified packets.
Rules for the appropriate direction are evaluated in order, with
the first matched rule terminating the evaluation. Each packet is
evaluated once. If no rule matches, the packet is treated as best
effort. An access device that is unable to interpret or apply a
QoS rule SHOULD NOT terminate the session.
QoS-ID
The QoS-ID AVP (AVP Code TBD) is of type Unsigned32 and references
the QSPEC.
QoS-Flow-State
The QoS-Flow-State AVP (AVP Code TBD) is of type Enumerated. It
gives an indication by the Authorizing entity as to how the flow
MUST be treated. When included in a QAA message, it contains an
action to be performed on the state of the flow to which the
message applies. The values supported are:
0 Open - Enable the transport plane service, for which
the signaling has been performed.
1 Close - Disable the transport plane service
2 Maintain - Do not alter the current state (enabled/disabled)
of the transport plane service.
The QoS-Flow-State is an optional AVP. When not included in a QAA
response, the default behavior is to immediately allow the flow of
packets (Open).
The behavior of Close (0) for the QoS-Flow-State refers to the
case where a QoS reservation exists but it is not activated and
therefore not charged. For time-based charging the time interval
where the gate is closed will not be included of the chargeable
time interval. The QoS model might give some indication whether
an established QoS reservation needs to be freed or needs to be
removed only if not enough resources are available.
QSPEC
The QSPEC AVP (AVP Code TBD) is of type OctetString and contains
QoS parameter information. The Quality of Service parameters are
defined in [I-D.korhonen-dime-qos-parameters].
QoS-Resources
The QoS-Resources AVP (AVP Code TBD) is of type Grouped and
includes description of the resources that have been requested by
the user or authorized for a particular QoS request. More than
one MAY be included into a message.
QoS-Resources ::= < AVP Header: XXX >
* [ ExtendedQoSFilterRule ]
* [ QoS-Parameter ]
[ QoS-Flow-State ]
* [ AVP ]
QoS-Authz-Data QoS-Authz-Data
The QoS-Authz-Data AVP (AVP Code TBD) is of type OctetString. It The QoS-Authz-Data AVP (AVP Code TBD) is of type OctetString. It
is a container that carries application session or user specific is a container that carries application session or user specific
data that has to be supplied to the Authorizing entity as input to data that has to be supplied to the Authorizing entity as input to
the computation of the authorization decision. the computation of the authorization decision.
Bound-Authentication-Session-Id Bound-Authentication-Session-Id
The Bound-Authentication-Session AVP (AVP Code TBD) is of type The Bound-Authentication-Session AVP (AVP Code TBD) is of type
UTF8String. It carries the id of the Diameter authentication UTF8String. It carries the id of the Diameter authentication
session that is used for the network access authentication (NASREQ session that is used for the network access authentication (NASREQ
authentication session). It is used to tie the QoS authorization authentication session). It is used to tie the QoS authorization
request to a prior authentication of the end host done by a co- request to a prior authentication of the end host done by a co-
located application for network access authentication (Diameter located application for network access authentication (Diameter
NASREQ) at the QoS NE. NASREQ) at the QoS NE.
QoS-Parameter
The QoS-Parameter AVP (AVP Code TBD) is of type Grouped and ties
the QoS-ID AVP together to the QSPEC AVP.
QoS-Parameter ::= < AVP Header: XXX >
* [ QoS-ID ]
* [ QSPEC ]
* [ AVP ]
8. Examples 8. Examples
This section presents an example of the interaction between the This section presents an example of the interaction between the
application layer signaling and the QoS signaling along the data application layer signaling and the QoS signaling along the data
path. The application layer signaling is, in this example, provided path. The application layer signaling is, in this example, provided
using SIP. Signaling for a QoS resource reservation is done using using SIP. Signaling for a QoS resource reservation is done using
the QoS NSLP. The authorization of the QoS reservation request is the QoS NSLP. The authorization of the QoS reservation request is
done by the Diameter QoS application (DQA). done by the Diameter QoS application (DQA).
End-Host SIP Server Correspondent End-Host SIP Server Correspondent
skipping to change at page 36, line 44 skipping to change at page 42, line 44
| | | | | |
/------------------+--Data Flow---------------------------\ /------------------+--Data Flow---------------------------\
\------------------+--------------------------------------/ \------------------+--------------------------------------/
| | | | | |
.-.-.-.-. SIP signaling .-.-.-.-. SIP signaling
--------- QoS NSLP signaling --------- QoS NSLP signaling
- - - - - Diameter QoS Application messages - - - - - Diameter QoS Application messages
========= Mapping of objects between QoS and AAA protocol ========= Mapping of objects between QoS and AAA protocol
Figure 25: Token-based QoS Authorization Example Figure 24: Token-based QoS Authorization Example
The communication starts with SIP signaling between the two end The communication starts with SIP signaling between the two end
points and the SIP server for negotiation and authorization of the points and the SIP server for negotiation and authorization of the
requested service and its parameters (see Figure 25). As a part of requested service and its parameters (see Figure 24). As a part of
the process, the SIP server verifies whether the user at Host A is the process, the SIP server verifies whether the user at Host A is
authorized to use the requested service (and potentially the ability authorized to use the requested service (and potentially the ability
to be charged for the service usage). Negotiated session parameters to be charged for the service usage). Negotiated session parameters
are provided to the end host. are provided to the end host.
Subsequently, Host A initiates a QoS signaling message towards Host Subsequently, Host A initiates a QoS signaling message towards Host
B. It sends a QoS NSLP Reserve message, in which it includes B. It sends a QoS NSLP Reserve message, in which it includes
description of the required QoS (QSPEC object) and authorization data description of the required QoS (QSPEC object) and authorization data
for negotiated service session (part of the POLICY_DATA object). for negotiated service session (part of the POLICY_DATA object).
Authorization data includes, as a minimum, the identity of the Authorization data includes, as a minimum, the identity of the
skipping to change at page 40, line 12 skipping to change at page 46, line 12
(with respect to this Diameter QoS application) the ability to carry (with respect to this Diameter QoS application) the ability to carry
different authentication and authorization information. different authentication and authorization information.
11. Acknowledgements 11. Acknowledgements
The authors would like to thank John Loughney and Allison Mankin for The authors would like to thank John Loughney and Allison Mankin for
their input to this document. In September 2005 Robert Hancock, their input to this document. In September 2005 Robert Hancock,
Jukka Manner, Cornelia Kappler, Xiaoming Fu, Georgios Karagiannis and Jukka Manner, Cornelia Kappler, Xiaoming Fu, Georgios Karagiannis and
Elwyn Davies provided a detailed review. Robert also provided us Elwyn Davies provided a detailed review. Robert also provided us
with good feedback earlier in 2005. Jerry Ash provided us review with good feedback earlier in 2005. Jerry Ash provided us review
comments late 2005/early 2006. comments late 2005/early 2006. Rajith R provided some inputs to the
document early 2007
[Editor's Note: Acknowledgements need to be updated.] [Editor's Note: Acknowledgements need to be updated.]
12. Contributors 12. Contributors
The authors would like to thank Tseno Tsenov (tseno.tsenov@gmail.com) The authors would like to thank Tseno Tsenov (tseno.tsenov@gmail.com)
and Frank Alfano (falfano@lucent.com) for starting the Diameter and Frank Alfano (falfano@lucent.com) for starting the Diameter
Quality of Service work within the IETF, for your significant draft Quality of Service work within the IETF, for your significant draft
contributions and for being the driving force for the first few draft contributions and for being the driving force for the first few draft
versions. versions.
skipping to change at page 43, line 9 skipping to change at page 49, line 9
13. Open Issues 13. Open Issues
Open issues related to this draft are listed at the issue tracker Open issues related to this draft are listed at the issue tracker
available at: http://www.tschofenig.com:8080/diameter-qos/ available at: http://www.tschofenig.com:8080/diameter-qos/
14. References 14. References
14.1. Normative References 14.1. Normative References
[I-D.korhonen-dime-qos-parameters] [I-D.ietf-dime-qos-attributes]
Korhonen, J. and H. Tschofenig, "Quality of Service Korhonen, J., "Quality of Service Attributes for Diameter
Parameters for RADIUS and Diameter", and RADIUS", draft-ietf-dime-qos-attributes-00 (work in
draft-korhonen-dime-qos-parameters-00.txt (work in progress), July 2007.
progress), February 2006.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax [RFC2234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997. Specifications: ABNF", RFC 2234, November 1997.
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J.
Arkko, "Diameter Base Protocol", RFC 3588, September 2003. Arkko, "Diameter Base Protocol", RFC 3588, September 2003.
skipping to change at page 43, line 36 skipping to change at page 49, line 35
August 2005. August 2005.
[RFC4006] Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. [RFC4006] Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J.
Loughney, "Diameter Credit-Control Application", RFC 4006, Loughney, "Diameter Credit-Control Application", RFC 4006,
August 2005. August 2005.
14.2. Informative References 14.2. Informative References
[I-D.ietf-nsis-ntlp] [I-D.ietf-nsis-ntlp]
Schulzrinne, H. and R. Hancock, "GIST: General Internet Schulzrinne, H. and R. Hancock, "GIST: General Internet
Signaling Transport", draft-ietf-nsis-ntlp-11 (work in Signalling Transport", draft-ietf-nsis-ntlp-13 (work in
progress), August 2006. progress), April 2007.
[I-D.ietf-nsis-qos-nslp] [I-D.ietf-nsis-qos-nslp]
Manner, J., "NSLP for Quality-of-Service Signaling", Manner, J., "NSLP for Quality-of-Service Signaling",
draft-ietf-nsis-qos-nslp-12 (work in progress), draft-ietf-nsis-qos-nslp-14 (work in progress), June 2007.
October 2006.
[RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated
Services", RFC 2210, September 1997. Services", RFC 2210, September 1997.
[RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998.
[RFC2486] Aboba, B. and M. Beadles, "The Network Access Identifier", [RFC2486] Aboba, B. and M. Beadles, "The Network Access Identifier",
RFC 2486, January 1999. RFC 2486, January 1999.
[RFC2749] Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R., [RFC2749] Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R.,
and A. Sastry, "COPS usage for RSVP", RFC 2749, and A. Sastry, "COPS usage for RSVP", RFC 2749,
January 2000. January 2000.
[RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework [RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework
for Policy-based Admission Control", RFC 2753, for Policy-based Admission Control", RFC 2753,
January 2000. January 2000.
skipping to change at page 45, line 5 skipping to change at page 50, line 26
"Session Authorization Policy Element", RFC 3520, "Session Authorization Policy Element", RFC 3520,
April 2003. April 2003.
[RFC3521] Hamer, L-N., Gage, B., and H. Shieh, "Framework for [RFC3521] Hamer, L-N., Gage, B., and H. Shieh, "Framework for
Session Set-up with Media Authorization", RFC 3521, Session Set-up with Media Authorization", RFC 3521,
April 2003. April 2003.
[RFC4027] Josefsson, S., "Domain Name System Media Types", RFC 4027, [RFC4027] Josefsson, S., "Domain Name System Media Types", RFC 4027,
April 2005. April 2005.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
Authors' Addresses Authors' Addresses
Glen Zorn (editor) Glen Zorn (editor)
Cisco Cisco Systems
2901 Third Avenue, Suite 600
SEA1/5/
Seattle, WA 98121
USA
Phone: +1 (425) 344 8113
Email: gwz@cisco.com Email: gwz@cisco.com
Peter J. McCann Peter J. McCann
Motorola Labs Motorola Labs
1301 E. Algonquin Rd 1301 E. Algonquin Rd
Schaumburg, IL 60196 Schaumburg, IL 60196
USA USA
Phone: +1 847 576 3440 Phone: +1 847 576 3440
Email: pete.mccann@motorola.com Email: pete.mccann@motorola.com
Hannes Tschofenig Hannes Tschofenig
Siemens Networks GmbH & Co KG Nokia Siemens Networks
Otto-Hahn-Ring 6 Otto-Hahn-Ring 6
Munich, Bavaria 81739 Munich, Bavaria 81739
Germany Germany
Email: Hannes.Tschofenig@siemens.com Email: Hannes.Tschofenig@nsn.com
URI: http://www.tschofenig.com URI: http://www.tschofenig.com
Tina Tsou Tina Tsou
Huawei Huawei
Shenzhen, Shenzhen,
P.R.C P.R.C
Email: tena@huawei.com Email: tena@huawei.com
Avri Doria Avri Doria
Lulea University of Technology Lulea University of Technology
Arbetsvetenskap Arbetsvetenskap
Lulea, SE-97187 Lulea, SE-97187
Sweden Sweden
Email: avri@ltu.se Email: avri@ltu.se
Dong Sun
Bell Labs/Alcatel-Lucent
101 Crawfords Corner Rd
Holmdel, NJ 07733
USA
Email: dongsun@alcatel-lucent.com
Full Copyright Statement Full Copyright Statement
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
 End of changes. 54 change blocks. 
230 lines changed or deleted 438 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/