draft-ietf-dime-diameter-qos-02.txt   draft-ietf-dime-diameter-qos-03.txt 
Network Working Group G. Zorn, Ed. Network Working Group D. Sun, Ed.
Internet-Draft Internet-Draft Alcatel-Lucent
Intended status: Standards Track P. McCann Intended status: Standards Track P. McCann
Expires: May 22, 2008 Motorola Labs Expires: July 26, 2008 Motorola Labs
H. Tschofenig H. Tschofenig
Nokia Siemens Networks Nokia Siemens Networks
T. Tsou T. Tsou
Huawei Huawei
A. Doria A. Doria
Lulea University of Technology Lulea University of Technology
D. Sun G. Zorn
Bell Labs/Alcatel-Lucent January 23, 2008
November 19, 2007
Protocol for Diameter Quality of Service Application Diameter Quality of Service Application
draft-ietf-dime-diameter-qos-02.txt draft-ietf-dime-diameter-qos-03.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 43 skipping to change at page 1, line 42
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 May 22, 2008. This Internet-Draft will expire on July 26, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
Abstract Abstract
This document describes the messages and procedures for the Diameter This document describes framework, messages and procedures for the
QoS application. The QoS application allows network elements to Diameter QoS application. The Diameter QoS application allows
interact with Diameter servers when allocating QoS resources in the network elements to interact with Diameter servers when allocating
network. In particular, two modes of operation - Pull and Push are QoS resources in the network. In particular, two modes of operation
defined. - Pull and Push are defined.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Diameter QoS Authorization Session Establishment and 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Management . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. Network element functional model . . . . . . . . . . . . . 8
3.1. Parties involved . . . . . . . . . . . . . . . . . . . . . 6 3.2. Implications of Endpoint QoS Capabilities . . . . . . . . 10
3.2. Diameter QoS Authorization Session Establishment . . . . . 6 3.2.1. Category . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.1. QoS authorization session establishment for pull 3.2.2. Interaction modes between authorizing entity and
mode . . . . . . . . . . . . . . . . . . . . . . . . . 6 network element . . . . . . . . . . . . . . . . . . . 10
3.2.2. QoS authorization session establishment for push 3.3. Schemes . . . . . . . . . . . . . . . . . . . . . . . . . 12
mode . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.1. Schemes for pull mode . . . . . . . . . . . . . . . . 12
3.2.3. Discovery and selection of peer Diameter QoS 3.3.2. Schemes for push mode . . . . . . . . . . . . . . . . 15
application node . . . . . . . . . . . . . . . . . . . 13 3.4. QoS Application Requirements . . . . . . . . . . . . . . . 16
3.3. QoS authorization session re-authorization . . . . . . . . 13 4. QoS Application Session Establishment and Management . . . . . 21
3.3.1. Client-Side Initiated Re-Authorization . . . . . . . . 14 4.1. Parties involved . . . . . . . . . . . . . . . . . . . . . 21
3.3.2. Server-Side Initiated Re-Authorization . . . . . . . . 16 4.2. Session Establishment . . . . . . . . . . . . . . . . . . 21
3.4. Session Termination . . . . . . . . . . . . . . . . . . . 18 4.2.1. Session establishment for pull mode . . . . . . . . . 21
3.4.1. Client-Side Initiated Session Termination . . . . . . 18 4.2.2. Session establishment for push mode . . . . . . . . . 24
3.4.2. Server-Side Initiated Session Termination . . . . . . 19 4.2.3. Discovery and selection of peer Diameter QoS
4. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 21 application node . . . . . . . . . . . . . . . . . . . 27
5. Diameter QoS Authorization Application Messages . . . . . . . 22 4.3. Session re-authorization . . . . . . . . . . . . . . . . . 28
5.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . . 23 4.3.1. Client-Side Initiated Re-Authorization . . . . . . . . 28
5.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 23 4.3.2. Server-Side Initiated Re-Authorization . . . . . . . . 29
5.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . . 24 4.4. Session Termination . . . . . . . . . . . . . . . . . . . 31
5.4. QoS-Install Answer (QIA) . . . . . . . . . . . . . . . . . 25 4.4.1. Client-Side Initiated Session Termination . . . . . . 31
5.5. Re-Auth-Request (RAR) . . . . . . . . . . . . . . . . . . 25 4.4.2. Server-Side Initiated Session Termination . . . . . . 32
5.6. Re-Auth-Answer (RAA) . . . . . . . . . . . . . . . . . . . 26 5. QoS Application Messages . . . . . . . . . . . . . . . . . . . 34
5.7. Accounting Request (ACR) . . . . . . . . . . . . . . . . . 26 5.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . . 34
5.8. Accounting Answer (ACA) . . . . . . . . . . . . . . . . . 27 5.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 35
6. Diameter QoS Authorization Application AVPs . . . . . . . . . 28 5.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . . 36
6.1. Diameter Base Protocol AVPs . . . . . . . . . . . . . . . 28 5.4. QoS-Install Answer (QIA) . . . . . . . . . . . . . . . . . 36
6.2. Credit Control Application AVPs . . . . . . . . . . . . . 28 5.5. Re-Auth-Request (RAR) . . . . . . . . . . . . . . . . . . 37
6.3. Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 29 5.6. Re-Auth-Answer (RAA) . . . . . . . . . . . . . . . . . . . 37
6.4. Diameter QoS Application Defined AVPs . . . . . . . . . . 29 6. QoS Application State Machine . . . . . . . . . . . . . . . . 39
7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.1. Supplemented states for push mode . . . . . . . . . . . . 39
7.1. Example call flow for pull mode . . . . . . . . . . . . . 31 7. QoS Application AVPs . . . . . . . . . . . . . . . . . . . . . 41
7.2. Example call flow for push mode . . . . . . . . . . . . . 33 7.1. Reused Base Protocol AVPs . . . . . . . . . . . . . . . . 41
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 7.2. QoS Application Defined AVPs . . . . . . . . . . . . . . . 41
9. Security Considerations . . . . . . . . . . . . . . . . . . . 38 8. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 39 9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 40 9.1. Example call flow for pull mode . . . . . . . . . . . . . 44
12. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.2. Example call flow for push mode . . . . . . . . . . . . . 46
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 42 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 49
13.1. Normative References . . . . . . . . . . . . . . . . . . . 42 10.1. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 49
13.2. Informative References . . . . . . . . . . . . . . . . . . 42 10.2. AVP specific values . . . . . . . . . . . . . . . . . . . 49
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 44 10.3. AVP flags . . . . . . . . . . . . . . . . . . . . . . . . 49
Intellectual Property and Copyright Statements . . . . . . . . . . 46 10.4. Application IDs . . . . . . . . . . . . . . . . . . . . . 49
10.5. Command Codes . . . . . . . . . . . . . . . . . . . . . . 50
11. Security Considerations . . . . . . . . . . . . . . . . . . . 51
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 52
13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 53
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 54
14.1. Normative References . . . . . . . . . . . . . . . . . . . 54
14.2. Informative References . . . . . . . . . . . . . . . . . . 54
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 56
Intellectual Property and Copyright Statements . . . . . . . . . . 58
1. Introduction 1. Introduction
This document describes the messages and procedures for the Diameter This document describes framework, messages and procedures for the
QoS Application. The QoS Application allows network elements to Diameter QoS Application. The Diameter QoS Application allows
interact with Diameter servers when allocating QoS resources in the network elements (NEs) to interact with Diameter servers when
network. allocating QoS resources in the network.
In particular, two modes of operation are defined. In the first, In particular, two modes of operation are defined. In the first,
called "Pull Mode", the network element queries the Diameter called "Pull Mode", the network element pro-actively sends a command
infrastructure for authorization based on some trigger (such as a QoS to the Diameter server for QoS authorization based on some trigger
signaling protocol) that arrives along the data path to be used for (such as a QoS signaling protocol) that arrives along the data path.
the session. In the second, called "Push Mode", a Diameter server In the second, called "Push Mode", the Diameter server pro-actively
pro-actively sends a command to the network element(s) to install QoS sends a command to the network element(s) to install QoS
authorization state. This could be triggered, for instance, by off- authorization state. This could be triggered, for instance, by off-
path signaling such as SIP-based call control. path signaling such as SIP-based call control.
A set of command codes pertinent to this QoS application are A set of command codes pertinent to this QoS application are
specified that allows a single Diameter application to support both specified that allows a single Diameter application to support both
Pull and Push modes based on the requirements of network Pull and Push modes based on the requirements of network
technologies, deployment scenarios and end-host's capabilities. In technologies, deployment scenarios and end-host's capabilities. In
conjunction with parameters defined in other Diameter QoS documents, conjunction with parameters defined in [I-D.ietf-dime-qos-attributes]
this document depicts basic call flow procedures to establish, modify and in [I-D.ietf-dime-qos-parameters], this document depicts basic
and terminate a Diameter QoS application session. call flow procedures to establish, modify and terminate a Diameter
QoS application session.
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].
In addition to the terms defined in other relevant Diameter QoS The following terms are used in this document:
documents (e.g., diameter-qos-framework), the following terms are
used in this document:
Diameter QoS Application Server Diameter QoS Application Server
A Diameter QoS application server is a logical Diameter node that A Diameter QoS application server is a logical Diameter node that
supports the protocol interaction for QoS authorization. The supports the protocol interaction for QoS authorization. The
Diameter QoS server resides in the authorizing entity and is able Diameter QoS application server resides in the authorizing entity
to respond to a Diameter session received from a Diameter QoS (AE). In the Pull mode, it responds to a Diameter session
client, or initiate a Diameter session to a Diameter QoS client initiated by a Diameter QoS application client; in the Push mode,
triggered by application signaling or local events. it initiates a Diameter session to a Diameter QoS application
client triggered by application signaling or local events.
Diameter QoS Application Client Diameter QoS Application Client
A Diameter QoS application client is a logical Diameter node that A Diameter QoS application client is a logical Diameter node that
supports the protocol interaction for QoS enforcement. The supports the protocol interaction for QoS enforcement. The
Diameter QoS client resides in the network element and is able to Diameter QoS client resides in the network element. In the Pull
initiate a Diameter session triggered by a QoS signaling or other mode, it initiates a Diameter session to the Diameter QoS
events, or respond to a Diameter session initiated by a Diameter application server triggered by a QoS signaling or other events;
QoS server. in the Push mode, it responds to a Diameter session initiated by a
Diameter QoS server.
Resource Requesting Entity Resource Requesting Entity
A resource requesting entity is a logical entity that supports the A resource requesting entity is a logical entity that supports the
protocol interaction for QoS resources. The resource requesting protocol interaction for QoS resources. The resource requesting
entity resides in the end-host and is able to communicate with entity resides in the end-host and is able to communicate with
peer logicial entities in Authorizing Entity or Network element to peer logical entities in Authorizing Entity or Network element to
trigger the QoS authorization process. trigger the QoS authorization process.
3. Diameter QoS Authorization Session Establishment and Management Application Server
3.1. Parties involved An application server is a network entity that exchanges signaling
messages with an application endpoint. It may be a source of
authorization for QoS-enhanced application flows. For example, a
SIP server is one kind of application server.
Application Endpoint
An application endpoint is an entity in an end user device that
exchanges signaling messages with application servers or directly
with other application endpoints. Based on the result of this
signaling, the endpoint may make a request for QoS from the
network. For example, a SIP User Agent is one kind of application
endpoint.
Authorizing Entity
The authorizing entity acts as a Diameter server (and may
collocate with a subscriber database) responsible for authorizing
QoS requests for a particular application flow or aggregate. It
may be a standalone entity or integrated with an application
server. This entity corresponds to the Policy Decision Point
(PDP) (see [RFC2753]).
AAA Cloud
An infrastructure of AAA entities (clients, agents, servers) based
on a AAA protocol, which provides trusted secure connections
between them. It offers authentication, authorization and
accounting services to applications in flexible local and roaming
scenarios. Diameter [RFC3588] and RADIUS [RFC2865] are both
widely deployed AAA protocols.
Network Element (NE)
QoS aware router that acts as Diameter client that implements the
Diameter QoS application in the context of this document. For
almost all scenarios this entity triggers the protocol interaction
described in this document. This entity corresponds to the Policy
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 directly.
3. Framework
The Diameter QoS application runs between a network element (acting
as a Diameter client) and the resource authorizing entity (acting as
a Diameter server). A high-level picture of the resulting
architecture is shown in Figure 1.
+-------+---------+
| Authorizing |
| Entity |
|(Diameter Server)|
+-------+---------+
|
|
/\-----+-----/\
//// \\\\
|| AAA Cloud ||
| (Diameter application) |
|| ||
\\\\ ////
\-------+-----/
|
+---+--+ +-----+----+ +---+--+
| | | NE | | | Media
+ NE +===+(Diameter +===+ NE +=============>>
| | | Client) | | | Flow
+------+ +----------+ +------+
Figure 1: An Architecture supporting QoS-AAA
Figure 1 depicts network elements through which media flows need to
pass, a cloud of AAA servers, and an authorizing entity. Note that
there may be more than one router that needs to interact with the AAA
cloud along the path of a given application flow, although the figure
only depicts one for clarity.
In some deployment scenarios, QoS aware network elements may request
authorization through the AAA cloud based on an incoming QoS
reservation request. The network element will route the request to a
designated authorizing entity. The authorizing entity will return
the result of the authorization decision. In other deployment
scenarios, the authorization will be initiated upon dynamic
application state, so that the request must be authenticated and
authorized based on information from one or more application servers.
After receiving the authorization request from the application server
or the network element, the authorizing entity decides the
appropriate mode (i.e. Push or Pull). The Push or Pull mode can be
dynamically determined based on the information received from the
request of the application server and/or the information (e.g.
policy) in the authorizing entity, or statically configured according
to operator's demand, or the messages between AE and NE. The
Authorizing Entity may identify the access network through the use of
some out-of-band signaling, such as SIP, Diameter, which may be sent
from the application server to Authorizing Entity, and then select
appropriate resource admission and control policies.
If defined properly, the interface between the routers and AAA cloud
would be identical in both cases. Routers are therefore insulated
from the details of particular applications and need not know that
application servers are involved at all. Also, the AAA cloud would
naturally encompass business relationships such as those between
network operators and third-party application providers, enabling
flexible intra- or inter-domain authorization, accounting, and
settlement.
3.1. Network element functional model
Figure 2 depicts a logical operational model of resource management
in a router.
+--------------------------------------------------------------+
| DIAMETER Client |
| Functionality |
| +---------------+ +-----------------+ +---------------+ |
| | User | | QoS Application | | Accounting | |
| | Authentication| | Client | | Client (e.g. | |
| | Client | | (Authorization | |for QoS Traffic| |
| +---------------+ | of QoS Requests)| +---------------+ |
| +-----------------+ |
+--------------------------------------------------------------+
^
v
+--------------+ +----------+
|QoS Signaling | | Resource |
|Msg Processing|<<<<<>>>>>>>|Management|
+--------------+ +----------+
. ^ | * ^
| v . * ^
+-------------+ * ^
|Signaling msg| * ^
| Processing | * V
+-------------+ * V
| | * V
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
. . * V
| | * .............................
. . * . Traffic Control .
| | * . +---------+.
. . * . |Admission|.
| | * . | Control |.
+----------+ +------------+ . +---------+.
<-.-| Input | | Outgoing |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->
| Packet | | Interface | .+----------+ +---------+.
===>|Processing|====| Selection |===.| Packet |====| Packet |.=>
| | |(Forwarding)| .|Classifier| Scheduler|.
+----------+ +------------+ .+----------+ +---------+.
.............................
<.-.-> = signaling flow
=====> = data flow (sender --> receiver)
<<<>>> = control and configuration operations
****** = routing table manipulation
Figure 2: Network element functional model
Processing of incoming QoS reservation requests includes three
actions: admission control, authorization and resource reservation.
The admission control function provides information for available
resources and determines whether there are enough resources to
fulfill the request. Authorization is performed by the Diameter
client function which involves contacting an authorization entity
through the AAA cloud shown in Section 3. If both checks are
successful, the authorized QoS parameters are set in the packet
classifier and the packet scheduler. Note that the parameters passed
to the Traffic Control function may be different from requested QoS
(depending on the authorization decision). Once the requested
resource is granted, the Resource Management function provides
accounting information to the Authorizing entity using the Diameter
client function.
3.2. Implications of Endpoint QoS Capabilities
3.2.1. Category
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 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 authorizing entity to the network
element on its own initiative without explicit request. In order
to support the push mode, the authorizing entity (i.e., Diameter
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. Schemes
3.3.1. Schemes for pull mode
Three basic authorization schemes for pull mode exist: one two-party
and two three-party schemes. The notation adopted here is in respect
to the 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' (see Figure 3) and the 'Token-
based three party scheme' (see Figure 4). With the 'two party
scheme' the QoS resource requesting entity is authenticated by the
Network Element and the authorization decision is made either locally
at the Network Element itself or offloaded to a trusted entity (most
likely within the same administrative domain). In the former case no
Diameter QoS protocol interaction is required.
+--------------+
| Entity |
| 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. 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
server 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: Scheme for Push Mode
3.4. QoS Application Requirements
A QoS application must meet a number of requirements applicable to a
diverse set of networking environments and services. It should be
compliant with different deployment scenarios with specific QoS
signaling models and security issues. Satisfying the requirements
listed below while interworking with QoS signaling protocols, a
Diameter QoS application should accommodate the capabilities of the
QoS signaling protocols rather than introducing functional
requirements on them. A list of requirements for a QoS authorization
application is provided here:
Inter-domain support
In particular, users may roam outside their home network, leading
to a situation where the network element and authorizing entity
are in different administrative domains.
Identity-based Routing
The QoS AAA protocol MUST route AAA requests to the Authorizing
Entity, based on the provided identity of the QoS requesting
entity or the identity of the Authorizing entity encoded in the
provided authorization token.
Flexible Authentication Support
The QoS AAA protocol MUST support a variety of different
authentication protocols for verification of authentication
information present in QoS signaling messages. The support for
these protocols MAY be provided indirectly by tying the signaling
communication for QoS to a previous authentication protocol
exchange (e.g., using network access authentication).
Making an Authorization Decision
The QoS AAA protocol MUST exchange sufficient information between
the authorizing entity and the enforcing entity (and vice versa)
to compute an authorization decision and to execute this decision.
Triggering an Authorization Process
The QoS AAA protocol MUST allow periodic and event triggered
execution of the authorization process, originated at the
enforcing entity or even at the authorizing entity.
Associating QoS Reservations and Application State
The QoS AAA protocol MUST carry information sufficient for an
application server to identify the appropriate application session
and associate it with a particular QoS reservation.
Dynamic Authorization
It MUST be possible for the QoS AAA protocol to push updates
towards the network element(s) from authorizing entities.
Bearer Gating
The QoS AAA protocol MUST allow the authorizing entity to gate
(i.e., enable/disable) authorized application flows based on,
e.g., application state transitions.
Accounting Records
The QoS AAA protocol may define QoS accounting records containing
duration, volume (byte count) usage information and description of
the QoS attributes (e.g., bandwidth, delay, loss rate) that were
supported for the flow.
Sending Accounting Records
The network element SHOULD be able to send accounting records for
a particular QoS reservation state to an accounting entity.
Failure Notification
The QoS AAA protocol MUST allow the network element to report
failures, such as loss of connectivity due to movement of a mobile
node or other reasons for packet loss, to the authorizing entity.
Accounting Correlation
The QoS AAA protocol may support the exchange of sufficient
information to allow for correlation between accounting records
generated by the network elements and accounting records generated
by an application server.
Interaction with other AAA Applications
Interaction with other AAA applications such as Diameter Network
Access (NASREQ) application [RFC4005] is required for exchange of
authorization, authentication and accounting information.
In deployment scenarios, where authentication of the QoS reservation
requesting entity (e.g., the user) is done by means outside the
Diameter QoS application protocol interaction the Authorizing Entity
is contacted only with a request for QoS authorization.
Authentication might have taken place already via the interaction
with the Diameter NASREQ application or as part of the QoS signaling
protocol (e.g., Transport Layer Security (TLS) handshake in the
General Internet Signaling Transport (GIST) protocol, see
[I-D.ietf-nsis-ntlp]).
Authentication of the QoS reservation requesting entity to the
Authorizing Entity is necessary if a particular Diameter QoS
application protocol run cannot be related (or if there is no
intention to relate it) to a prior authentication. In this case the
Authorizing Entity MUST authenticate the QoS reservation requesting
entity in order to authorize the QoS request as part of the Diameter
QoS protocol interaction.
The document refers to three types of sessions that need to be
properly correlated.
QoS signaling session
The time period during which a QoS signaling protocol establishes,
maintains and deletes a QoS reservation state at the QoS network
element is referred as QoS signaling session. Different QoS
signaling protocols use different ways to identify QoS signaling
sessions. The same applies to different usage environments.
Currently, this document supports three types of QoS session
identifiers, namely a signaling session id (e.g., the Session
Identifier used by the NSIS protocol suite), a flow id (e.g.,
identifier assigned by an application to a certain flow as used in
the 3GPP) and a flow description based on the IP parameters of the
flow's end points.
Diameter authorization session
The time period, for which a Diameter server authorizes a
requested service (i.e., QoS resource reservation) is referred to
as a Diameter authorization session. It is identified by a
Session-Id included in all Diameter messages used for management
of the authorized service (initial authorization, re-
authorization, termination), see [RFC3588].
Application layer session
The application layer session identifies the duration of an
application layer service which requires provision of certain QoS.
An application layer session identifier is provided by the QoS
requesting entity in the QoS signaling messages, for example as
part of the authorization token. In general, the application
session identifier is opaque to the QoS aware network elements.
It is included in the authorization request message sent to the
Authorizing entity and helps it to correlate the QoS authorization
request to the application session state information.
Correlating these sessions is done at each of the three involved
entities: The QoS requesting entity correlates the application with
the QoS signaling sessions. The QoS network element correlates the
QoS signaling session with the Diameter authorization sessions. The
Authorizing entity SHOULD bind the information about the three
sessions together. Note that in certain scenarios not all of the
sessions are present. For example, the application session might not
be visible to QoS signaling protocol directly if there is no binding
between the application session and the QoS requesting entity using
the QoS signaling protocol.
4. QoS Application Session Establishment and Management
4.1. Parties involved
Authorization models supported by this application include three Authorization models supported by this application include three
parties: parties:
o Resource requesting entity o Resource requesting entity
o Network Elements (Diameter QoS application (DQA) client) o Network Elements (Diameter QoS application (DQA) client)
o Authorizing Entity (Diameter QoS application (DQA) server) o Authorizing Entity (Diameter QoS application (DQA) server)
Note that the QoS resource requesting entity is only indirectly Note that the QoS resource requesting entity is only indirectly
involved in the message exchange. This entity provides the trigger involved in the message exchange. This entity provides the trigger
to initiate the Diameter QoS protocol interaction by transmitting QoS to initiate the Diameter QoS protocol interaction by transmitting QoS
skipping to change at page 6, line 34 skipping to change at page 21, line 34
of service parameters. As part of this application layer protocol of service parameters. As part of this application layer protocol
interaction, for example using SIP, authentication and authorization interaction, for example using SIP, authentication and authorization
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 QoS scope of this document. The protocol communication between the QoS
resource requesting entity and the QoS Network Element might be 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.
3.2. Diameter QoS Authorization Session Establishment 4.2. Session Establishment
The Pull and Push modes use a different set of command codes for The Pull and Push modes use a different set of command codes for
session establishment. For other operations, such as session session establishment. For other operations, such as session
modification and termination, they use the same set of command codes. modification and termination, they use the same set of command codes.
The Pull mode or Push mode operation is invoked based on the trigger 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 of QoS Authorization session. When a QAR with a new session ID is
received, the Authorizing Entity operates in the pull mode; when received, the Authorizing Entity operates in the pull mode; when
other triggers are received, the Authorizing Entity operates in the other triggers are received, the Authorizing Entity operates in the
push mode. Similarly, when a QIR with new session ID is received, push mode. Similarly, when a QIR with new session ID is received,
the Network Element operates in the push mode; when other triggers the Network Element operates in the push mode; when other triggers
are recevied, the Network Element operation in the pull mode. are received, the Network Element operation in the pull mode.
3.2.1. QoS authorization session establishment for pull mode 4.2.1. Session establishment for pull mode
A request for a QoS reservation or local events received by a Network A request for a QoS reservation or local events received by a Network
Element can trigger the initiation of a Diameter QoS authorization Element can trigger the initiation of a Diameter QoS authorization
session. The Network Element generates a QoS-Authorization-Request session. The Network Element generates a QoS-Authorization-Request
(QAR) message in which it maps required objects from the QoS (QAR) message in which it maps required objects from the QoS
signaling message to Diameter payload objects. signaling message to Diameter payload objects.
Figure 2 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.
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 8, line 12 skipping to change at page 23, line 12
reflected in the response returned to the Diameter client with the reflected in the response returned to the Diameter client with the
QoS-Authorization-Answer message (QAA). QoS-Authorization-Answer message (QAA).
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)
| | | | | |
+---QoS-Reserve---->| | +---QoS-Reserve---->| |
| +- - - - - QAR - - - - - >| | +- - - - - QAR - - - - - >|
| |(QoS-Resources,Cost, | | |(QoS-Resources, |
| | QoS-Auth-Data,User-ID)| | | QoS-Auth-Data,User-ID)|
| | +--------+--------------+ | | +--------+--------------+
| | | Authorize request | | | | Authorize request |
| | | Keep session data | | | | Keep session data |
| | |/Authz-time,Session-Id/| | | |/Authz-time,Session-Id/|
| | +--------+--------------+ | | +--------+--------------+
| |< - - - - QAA - - - - - -+ | |< - - - - QAA - - - - - -+
| |(Result-Code,CC-Time,Cost| | |(Result-Code, |
| |QoS-Resources,Authz-time)| | |QoS-Resources,Authz-time)|
| +-------+---------+ | +-------+---------+
| |Install QoS state| | |Install QoS state|
| | + | | | + |
| | Authz. session | | | Authz. session |
| | /Authz-time, | QoS Responder | | /Authz-time/ | QoS Responder
| | CC-Time,Cost/ | Node | | | Node
| +-------+---------+ | | +-------+---------+ |
| +----------QoS-Reserve---....--->| | +----------QoS-Reserve---....--->|
| | | | | |
| |<---------QoS-Response--....----| | |<---------QoS-Response--....----|
|<--QoS-Response----+ | |<--QoS-Response----+ |
| | | | | |
|=====================Data Flow==============....===>| |=====================Data Flow==============....===>|
| | | |
| +- - - - - ACR - - - - - >| | +- - - - - QAR - - - - - >|
| |(START,QoS-Resources,Cost| | |(START,QoS-Resources) |
| |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 - - - - - -+ | |< - - - - QAA - - - - - -+
| | | | | |
Figure 2: Initial QoS Request Authorization for pull Figure 7: Initial QoS Request Authorization for pull
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.,
Multi-Session-Id, Signaling-Session-Id, authentication data) as part Signaling-Session-Id, authentication data) as part of the session
of the session state information. A Signaling-session-Id (if state information.
present) SHOULD be used together with the generated Acc-Multi-
Session-Id AVP (see Section 6.3) 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 The final result of the authorization request is provided in the
Result-Code AVP of the QAA message sent by the Authorizing Entity. Result-Code AVP of the QAA message sent by the Authorizing Entity.
In case of successful authorization (i.e., Result-Code = In case of successful authorization (i.e., Result-Code =
DIAMETER_LIMITED_SUCCESS, (see Section 6.1)), information about the DIAMETER_LIMITED_SUCCESS, (see Section 7.1)), information about the
authorized QoS resources and the status of the authorized flow authorized QoS resources and the status of the authorized flow
(enabled/disabled) is provided in the QoS-Resources AVP of the QAA (enabled/disabled) is provided in the QoS-Resources AVP of the QAA
message. The QoS information provided via the QAA is installed by message. The QoS information provided via the QAA is installed by
the QoS Traffic Control function of the Network Element. The value the QoS Traffic Control function of the Network Element. The value
DIAMETER_LIMITED_SUCCESS indicates that the Authorizing entity DIAMETER_LIMITED_SUCCESS indicates that the Authorizing entity
expects confirmation via an accounting message for successful QoS expects confirmation via another QAR message for successful QoS
resource reservation and for final reserved QoS resources (see resource reservation and for final reserved QoS resources (see
below). below).
One important piece of information returned from the Authorizing One important piece of information returned from the Authorizing
Entity is the authorization lifetime (carried inside the QAA). The Entity is the authorization lifetime (carried inside the QAA). The
authorization lifetime allows the Network Element to determine how authorization lifetime allows the Network Element to determine how
long the authorization decision is valid for this particular QoS long the authorization decision is valid for this particular QoS
reservation. A number of factors may influence the authorized reservation. A number of factors may influence the authorized
session duration, such as the user's subscription plan or currently session duration, such as the user's subscription plan or currently
available credits at the user's account (see Section 4). The available credits at the user's account (see Section 8). The
authorization duration is time-based as specified in [RFC3588]. For authorization duration is time-based as specified in [RFC3588]. For
an extension of the authorization period, a new QoS-Authorization- an extension of the authorization period, a new QoS-Authorization-
Request/Answer message exchange SHOULD be initiated. Further aspects Request/Answer message exchange SHOULD be initiated. Further aspects
of QoS authorization session maintenance is discussed in Section 3.3, of QoS authorization session maintenance is discussed in Section 4.3,
Section 3.4 and Section 4. Section 4.4 and Section 8.
The indication of a successful QoS reservation and activation of the The indication of a successful QoS reservation and activation of the
data flow is provided by the transmission of an Accounting Request data flow is provided by the transmission of an QAR message, which
(ACR) message, which reports the parameters of the established QoS reports the parameters of the established QoS state: reserved
state: reserved resources, duration of the reservation, resources, duration of the reservation, and identification of the QoS
identification of the QoS enabled flow/QoS signaling session and enabled flow/QoS signaling session. The Diameter QoS server
accounting parameters. The Diameter QoS server acknowledges the acknowledges the reserved QoS resources with the QA Answer (QAA)
reserved QoS resources with the Accounting Answer (ACA) message where message where the Result-Code is set to 'DIAMETER_SUCCESS'. Note
the Result-Code is set to 'DIAMETER_SUCCESS'. Note that the reserved that the reserved QoS resources reported in this QAR message MAY be
QoS resources reported in the ACR message MAY be different than those different than those authorized with the initial QAA message, due to
initially authorized with the QAA message, due to the QoS signaling the QoS signaling specific behavior (e.g., receiver-initiated
specific behavior (e.g., receiver-initiated reservations with One- reservations with One-Path-With-Advertisements) or specific process
Path-With-Advertisements) or specific process of QoS negotiation of QoS negotiation along the data path.
along the data path.
3.2.2. QoS authorization session establishment for push mode 4.2.2. Session establishment for push mode
The Diameter QoS server in the Authorizing Entity initiates a The Diameter QoS server in the Authorizing Entity initiates a
Diameter QoS authorization session upon the request for QoS Diameter QoS authorization session upon the request for QoS
reservation triggered by application layer signaling or by local reservation triggered by application layer signaling or by local
events, and generates a QoS-Install-Request (QIR) message to Diameter events, and generates a QoS-Install-Request (QIR) message to Diameter
QoS client in the NE in which it maps required objects to Diameter QoS client in the NE in which it maps required objects to Diameter
payload objects. payload objects.
Figure 4 shows the protocol interaction between the Authorizing Figure 9 shows the protocol interaction between the Authorizing
Entity, a Network Element and a resource requesting entity. Entity, a Network Element and a resource requesting entity.
The Network Element's identity, information about the application The Network Element'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 from a Diameter QoS server in the Authorizing Diameter message sent from a Diameter QoS server in the Authorizing
Entity to a Diameter QoS client in the NE. This requires that the Entity to a Diameter QoS client in the NE. This requires that the
Authorizing Entity has knowledge of specific information for Authorizing Entity has knowledge of specific information for
allocating and identifying the Network Element that should be allocating and identifying the Network Element that should be
contacted and the data flow for which the QoS reservation should be contacted and the data flow for which the QoS reservation should be
established. This information can be statically configured or established. This information can be statically configured or
dynamically discovered, see section 3.2.3 for details. dynamically discovered, see Section 3.2.3 for details.
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| QoS specific Input Data | Diameter QoS AVPs | | QoS specific Input Data | Diameter QoS AVPs |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| Network Element ID (e.g., from | Destination-Host | | Network Element ID (e.g., from | Destination-Host |
| static configuration | Destination-Realm | | static configuration | Destination-Realm |
| or dynamically discovered, see | | | or dynamically discovered, see | |
| section 3.2.3 for details) | | | Section 3.2.3 for details) | |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| 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 |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
Authorization processing starts at the Diameter QoS server when it Authorization processing starts at the Diameter QoS server when it
receives the request from a resource requesting entity through receives the request from a resource requesting entity through
application server (e.g. SIP Invite) or the trigger by local events application server (e.g., SIP Invite) or the trigger by local events
(e.g. pre-configured timer). Based on the received information the (e.g., pre-configured timer). Based on the received information the
server determines the authorized QoS resources and flow state server determines the authorized QoS resources and flow state
(enabled/disabled) from locally available information (e.g., policy (enabled/disabled) from locally available information (e.g., policy
information that may be previously established as part of an information that may be previously established as part of an
application layer signaling exchange, or the user's subscription application layer signaling exchange, or the user's subscription
profile). The authorization decision is then reflected in the QoS- profile). The authorization decision is then reflected in the QoS-
Install-Request message (QIR) to the Diameter QoS client. Install-Request message (QIR) to the Diameter QoS client.
Authorizing Authorizing
End-Host Network Element Entity End-Host Network Element Entity
requesting QoS ( Diameter ( Diameter requesting QoS ( Diameter ( Diameter
skipping to change at page 11, line 27 skipping to change at page 26, line 24
| | |/Authz-time,Session-Id/| | | |/Authz-time,Session-Id/|
| | +--------+--------------+ | | +--------+--------------+
| | | | | |
| |<-- - -- - QIR - - - - - -+ | |<-- - -- - QIR - - - - - -+
| |(Initial Request,Decision | | |(Initial Request,Decision |
| |(QoS-Resources,Authz-time)| | |(QoS-Resources,Authz-time)|
| +-------+---------+ | +-------+---------+
| |Install QoS state| | |Install QoS state|
| | + | | | + |
| | Authz. session | | | Authz. session |
| | /Authz-time, | | | /Authz-time/ |
| | CC-Time,Cost/ | | | |
| +-------+---------+ | +-------+---------+
| + - - - - QIA - - - - - ->| | + - - - - QIA - - - - - ->|
| | (Result-Code, | | | (Result-Code, |
| | QoS-Resources) | | | QoS-Resources) |
| | +--------+--------------+ | | +--------+--------------+
| | | Report for successful | | | | Report for successful |
| | | QoS reservation | | | | QoS reservation |
| | |Update of reserved QoS | | | |Update of reserved QoS |
| | | resources | | | | resources |
| | +--------+--------------+ | | +--------+--------------+
| | QoS Responder | | QoS Responder
| | Node | | Node
| | | | | |
|=====================Data Flow==============....===>| |=====================Data Flow==============....===>|
| | | |
| +- - - - - ACR - - - - - >| | (+- - - - - QAR - - - - - >|)
| |(START,QoS-Resources,Cost| | (|(START,QoS-Resources) |)
| |CC-Time,Acc-Multisess-id)| | (|< - - - - QAA - - - - - -+)
| |< - - - - ACA - - - - - -+
| | | | | |
Figure 4: Initial QoS Request Authorization for push Figure 9: Initial QoS Request Authorization for push
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.,
Multi-Session-Id, Signaling-Session-Id, authentication data) as part Signaling-Session-Id, authentication data) as part of the session
of the session state information. A Signaling-session-Id (if state information.
present) SHOULD be used together with the generated Acc-Multi-
Session-Id AVP (see Section 6.3) 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 The final result of the authorization decision is provided in the
QoS-Resources AVP of the QIR message sent by the Authorizing Entity. QoS-Resources AVP of the QIR message sent by the Authorizing Entity.
The QoS information provided via the QIR is installed by the QoS The QoS information provided via the QIR is installed by the QoS
Traffic Control function of the Network Element. In the case of Traffic Control function of the Network Element.
successful enforcement, the Result-Code (= DIAMETER_SUCCESS, (see
Section 6.1)) information is provided in the QIA message.
One important piece of information from the Authorizing Entity is the One important piece of information from the Authorizing Entity is the
authorization lifetime (carried inside the QIR). The authorization authorization lifetime (carried inside the QIR). The authorization
lifetime allows the Network Element to determine how long the lifetime allows the Network Element to determine how long the
authorization decision is valid for this particular QoS reservation. authorization decision is valid for this particular QoS reservation.
A number of factors may influence the authorized session duration, A number of factors may influence the authorized session duration,
such as the user's subscription plan or currently available credits such as the user's subscription plan or currently available credits
at the user's account (see Section 4). The authorization duration is at the user's account (see Section 8). The authorization duration is
time-based as specified in [RFC3588]. For an extension of the time-based as specified in [RFC3588]. For an extension of the
authorization period, a new QoS-Install-Request/Answer message or authorization period, a new QoS-Install-Request/Answer message or
QoS-Authorization-Request/Answer message exchange SHOULD be QoS-Authorization-Request/Answer message exchange SHOULD be
initiated. Further aspects of QoS authorization session maintenance initiated. Further aspects of QoS authorization session maintenance
is discussed in Section 3.3, Section 3.4 and Section 4. is discussed in Section 4.3, Section 4.4 and Section 8.
The indication of a successful QoS reservation and activation of the
data flow, is provided by the 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 The indication of QoS reservation and activation of the data flow,
confirmation to an accounting server for successful QoS resource can be provided by the QoS-Install-Answer message immediately. In
reservation and for final reserved QoS resources (see below). An ACR the case of successful enforcement, the Result-Code (=
message reports the parameters of the established QoS state: reserved DIAMETER_SUCCESS, (see Section 7.1)) information is provided in the
resources, duration of the reservation, identification of the QoS QIA message. Note that the reserved QoS resources reported in the
enabled flow/QoS signaling session and accounting parameters to QIA message MAY be different than those initially authorized with the
accounting server. The accounting server acknowledges the reserved QIR message, due to the QoS signaling specific behavior (e.g.,
QoS resources with the Accounting Answer (ACA) message where the receiver-initiated reservations with One-Path-With-Advertisements) or
Result-Code is set to 'DIAMETER_SUCCESS'. specific process of QoS negotiation along the data path. When path
coupled signaling is used for QoS reservation along the data path,
QAR/QAA may be used to update the results of QoS reservation and
enforcement following the establishment of data flows.
3.2.3. Discovery and selection of peer Diameter QoS application node 4.2.3. Discovery and selection of peer Diameter QoS application node
The Diameter QoS application node may obtain the location information The Diameter QoS application node may obtain information of its peer
of its peer nodes (i.e. FQDN or IP address) through static nodes (e.g., FQDN, IP address) through static configuration or
configuration or dynamic discovery as described in [RFC3588]. In dynamic discovery as described in [RFC3588]. In particular, the
particular, the Network Element shall perform the relevant operation Network Element shall perform the relevant operation for Pull mode;
for Pull mode; the Authorizing Entity shall perform the relevant the Authorizing Entity shall perform the relevant operations for Push
operations for Push mode. mode.
Upon receipt of a trigger to initiate a new Diameter QoS Upon receipt of a trigger to initiate a new Diameter QoS
authorization session, the Diameter QoS application node selects and authorization session, the Diameter QoS application node selects and
retrieves the location information of the peer node and based on some retrieves the location information of the peer node and based on some
index information provided by the resource requesting entity. For index information provided by the resource requesting entity. For
instance, it can be the Authorization Entity's ID stored in the instance, it can be the Authorization Entity's ID stored in the
authorization token, the end-host's identity (e.g. NAI [RFC2486]) or authorization token, the end-host's identity (e.g., NAI [RFC2486]) or
globally routable IP address. globally routable IP address.
3.3. QoS authorization session re-authorization 4.3. Session re-authorization
Client and server-side initiated re-authorizations are considered in Client and server-side initiated re-authorizations are considered in
the design of the Diameter QoS application. Whether the re- the design of the Diameter QoS application. Whether the re-
authorization events are transparent for the resource requesting authorization events are transparent for the resource requesting
entity or result in specific actions in the QoS signaling protocol is entity or result in specific actions in the QoS signaling protocol is
outside the scope of the Diameter QoS application. It is directly outside the scope of the Diameter QoS application. It is directly
dependent on the capabilities of the QoS signaling protocol. dependent on the capabilities of the QoS signaling protocol.
There are a number of options for policy rules according to which the There are a number of options for policy rules according to which the
NE (AAA client) contacts the Authorizing Entity for re-authorization. NE (AAA client) contacts the Authorizing Entity for re-authorization.
skipping to change at page 14, line 19 skipping to change at page 28, line 49
Provided options are not exhaustive. Elaborating on any of the Provided options are not exhaustive. Elaborating on any of the
listed approaches is deployment /solution specific and is not listed approaches is deployment /solution specific and is not
considered in the current document. considered in the current document.
In addition, the Authorizing Entity may use RAR to perform re- In addition, the Authorizing Entity may use RAR to perform re-
authorization with the authorized parameters directly when the re- authorization with the authorized parameters directly when the re-
authorization is triggered by service request or local events/policy authorization is triggered by service request or local events/policy
rules. rules.
3.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, such as, when the Network
receives a QoS signaling message that requires modification of the Element receives a QoS signaling message that requires modification
authorized parameters of an ongoing QoS session, when authorization of the authorized parameters of an ongoing QoS session, or
lifetime expires or by an accounting event, see Section 4 and authorization lifetime expires.
Figure 5).
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| |
| | expires | | | | expires | |
| +-------+----------+ | | +-------+----------+ |
| +- - - - - QAR - - - - - >| | +- - - - - QAR - - - - - >|
| |(QoS-Resources,Cost, | | |(QoS-Resources, |
| | QoS-Authz-Data,User-ID)| | | QoS-Authz-Data,User-ID)|
| +--------+--------------+ | +--------+--------------+
NOTE: | | Authorize request | NOTE: | | Authorize request |
Re-authorization | | Update session data | Re-authorization | | Update session data |
is transparent to | |/Authz-time,Session-Id/| is transparent to | |/Authz-time,Session-Id/|
the End-Host | +--------+--------------+ the End-Host | +--------+--------------+
|< - - - - QAA - - - - - -+ |< - - - - QAA - - - - - -+
| |(Result-Code,CC-Time,Cost| | |(Result-Code, |
| |QoS-Resources,Authz-time)| | |QoS-Resources,Authz-time)|
| +-------+---------+ | | +-------+---------+ |
| |Update QoS state | | | |Update QoS state | |
| | + | | | | + | |
| | Authz. session | | | | Authz. session | |
| | /Authz-time, | | | | /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==========================> |=====================Data Flow==========================>
| | | |
Figure 5: Client-side initiated QoS re-authorization Figure 10: Client-side initiated QoS re-authorization
3.3.2. Server-Side Initiated Re-Authorization 4.3.2. Server-Side Initiated Re-Authorization
The Authorizing Entity MAY initiate a QoS re-authorization by issuing The Authorizing Entity MAY initiate a QoS re-authorization by issuing
a Re-Auth-Request message (RAR) as defined in the Diameter base a Re-Auth-Request message (RAR) as defined in the Diameter base
protocol [RFC3588], which may include the parameters of the re- protocol [RFC3588], which may include the parameters of the re-
authorized QoS state: reserved resources, duration of the authorized QoS state: reserved resources, duration of the
reservation, identification of the QoS enabled flow/QoS signaling reservation, identification of the QoS enabled flow/QoS signaling
session for re-installation of the resource state by the QoS Traffic session for re-installation of the resource state by the QoS Traffic
Control function of the Network Element. Control function of the Network Element.
A Network Element that receives such a RAR message with Session-Id A Network Element that receives such a RAR message with Session-Id
skipping to change at page 17, line 24 skipping to change at page 31, line 24
| | |/Authz-time,Session-Id/| | | |/Authz-time,Session-Id/|
| | +--------+--------------+ | | +--------+--------------+
| | | | | |
| |<-- - -- - RAR - - - - - -+ | |<-- - -- - RAR - - - - - -+
| |(Request,Decision | | |(Request,Decision |
| |(QoS-Resources,Authz-time)| | |(QoS-Resources,Authz-time)|
| +-------+---------+ | +-------+---------+
| |Install QoS state| | |Install QoS state|
| | + | | | + |
| | Authz. session | | | Authz. session |
| | /Authz-time, | | | /Authz-time/ |
| | CC-Time,Cost/ | | | |
| +-------+---------+ | +-------+---------+
| + - - - - RAA - - - - - ->| | + - - - - RAA - - - - - ->|
| | (Result-Code, | | | (Result-Code, |
| | QoS-Resources) | | | QoS-Resources) |
| | +--------+--------------+ | | +--------+--------------+
| | | Report for successful | | | | Report for successful |
| | | QoS reservation | | | | QoS reservation |
| | |Update of reserved QoS | | | |Update of reserved QoS |
| | | resources | | | | resources |
| | +--------+--------------+ | | +--------+--------------+
| | | | | |
| +- - - - - ACR - - - - - >|
| |(INTRM,QoS-Resources,Cost|
| |CC-Time,Acc-Multisess-id)|
| | +--------+--------------+
| | |Update of QoS resources|
| | |/CC-Time,Cost/ used |
| | +--------+--------------+
| |< - - - - ACA - - - - - -+
| | |
Figure 6: Server-side Initiated QoS re-authorization Figure 11: Server-side Initiated QoS re-authorization
3.4. Session Termination 4.4. Session Termination
3.4.1. Client-Side Initiated Session Termination 4.4.1. Client-Side Initiated Session Termination
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.
authorization session, final accounting messages MUST be exchanged
(see Figure 7). It should be noted that the two sessions
(authorization and accounting) have independent management by the
Diameter base protocol, which allows for finalizing the accounting
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/ |
| | | | | |
+---QoS-Reserve---->| | +---QoS-Reserve---->| |
| (Delete QoS +- - - - - STR - - - - - >| | (Delete QoS +- - - - - STR - - - - - >|
| reservation) | +--------+--------------+ | reservation) | +--------+--------------+
| | | Remove authorization | | | | Remove authorization |
|<--QoS-Response----+ | session state | |<--QoS-Response----+ | session state |
| | +--------+--------------+ | | +--------+--------------+
|< - - - - STA - - - - - -+ |< - - - - STA - - - - - -+
+-------+--------+ | +-------+--------+ |
|Delete QoS state| |Delete QoS state|
| Report final | +-------+--------+ QoS Responder
| accounting data| QoS Responder | Node
+-------+--------+ Node
+----------QoS-Reserve-----....--->| +----------QoS-Reserve-----....--->|
| (Delete QoS | | (Delete QoS |
| reservation) | reservation) |
|
+- - - - - ACR - - - - - >|
|(FINAL,QoS-Resources,Cost|
|CC-Time,Acc-Multisess-id)|
| +--------+--------------+
| | Report for successful |
| | end of QoS session |
| +--------+--------------+
|< - - - - ACA - - - - - -+
|
| QoS Responder
| Node
|<---------QoS-Response----....----+ |<---------QoS-Response----....----+
| | | |
Figure 7: Client-Side Initiated Session Termination Figure 12: Client-Side Initiated Session Termination
3.4.2. Server-Side Initiated Session Termination 4.4.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.
triggered as a result of this ASR message exchange (see 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==========================>
| | | |
| |< - - - - ASR - - - - - -+ | |< - - - - ASR - - - - - -+
| | | | | |
|====Data Flow=====>X | QoS Responder |====Data Flow=====>X | QoS Responder
| | | Node | | | Node
|<--QoS-Notify------+----------QoS-Reserve-----....--->| |<--QoS-Notify------+----------QoS-Reserve-----....--->|
| | (Delete QoS | | | | (Delete QoS | |
| reservation) | | reservation) |
+-------+--------+ | +-------+--------+ |
|Delete QoS state| | |Delete QoS state| |
| Report final | |
| accounting data| |
+-------+--------+ | +-------+--------+ |
+- - - - - ASA - - - - - >| +- - - - - ASA - - - - - >|
| +--------+--------------+ | +--------+--------------+
| | Remove authorization | | | Remove authorization |
| | session state | | | session state |
| +--------+--------------+ | +--------+--------------+
+- - - - - ACR - - - - - >|
|(FINAL,QoS-Resources,Cost|
|CC-Time,Acc-Multisess-id)|
| +--------+--------------+
| | Report for successful |
| | end of QoS session |
| +--------+--------------+
|< - - - - ACA - - - - - -+
| QoS Responder | QoS Responder
| Node | Node
|<---------QoS-Response----....----+ |<---------QoS-Response----....----+
| | | |
Figure 8: Server-Side Initiated Session Termination Figure 13: Server-Side Initiated Session Termination
4. Accounting
The Diameter QoS application provides accounting for usage of
reserved QoS resources. Diameter QoS accounting has built-in support
for online, duration based accounting. This accounting is based on
the notion that the Diameter QoS clients are in the best position to
determine the cost of those resources.
In the Diameter QoS application, the router MAY send a Cost-
Information AVP (see [RFC4006]) in the QAR. If the Cost-Information
AVP includes a Cost-Unit AVP (see [RFC4006]) then the Cost-Unit
SHOULD be "minute". The Cost-Information AVPs represent the cost to
allocate the resources requested in the QoS-Resources AVP included in
the same QAR message. The QAR MAY optionally contain a Tariff-Time-
Change AVP (see [RFC4006]) which is the time at which the cost will
change, a second Cost-Information AVP, which is the cost of the
reserved resources after the tariff time change, and a second Tariff-
Time-Change, which is the time at which the tariff would change
again. Either all three or none of these AVPs MUST be present in the
QAR.
The Resource Authorizing Entity returns a CC-Time AVP (see [RFC4006])
in the QAA message which is the total authorized gate-on time for the
service. If the QAR included two Tariff-Time-Change AVPs, the
current time plus the CC-Time AVP returned in the QAA MUST NOT exceed
the second Tariff-Time-Change AVP from the QAR. Based on information
in the Cost-Information AVPs, 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 5).
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 2). After every successful
re-authorization procedure the Network element MUST initiate an
interim accounting message exchange (see Figure 5). 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 7).
5. Diameter QoS Authorization Application Messages 5. QoS 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
QoS-Authz-Request QAR [TBD] Section 5.1 QoS-Authz-Request QAR [TBD] Section 5.1
QoS-Authz-Answer QAA [TBD] Section 5.2 QoS-Authz-Answer QAA [TBD] Section 5.2
QoS-Install-Request QIR [TBD] Section 5.3 QoS-Install-Request QIR [TBD] Section 5.3
QoS-Install-Answer QIA [TBD] Section 5.4 QoS-Install-Answer QIA [TBD] Section 5.4
In addition, the following Diameter Base protocol messages are used In addition, the following Diameter Base protocol messages are used
in the Diameter QoS application: in the Diameter QoS application:
Command-Name Abbrev. Code Reference 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-Request RAR 258 RFC 3588
Re-Auth-Answer RAA 258 RFC 3588 Re-Auth-Answer RAA 258 RFC 3588
Abort-Session-Request ASR 274 RFC 3588 Abort-Session-Request ASR 274 RFC 3588
Abort-Session-Answer ASA 274 RFC 3588 Abort-Session-Answer ASA 274 RFC 3588
Session-Term-Request STR 275 RFC 3588 Session-Term-Request STR 275 RFC 3588
Session-Term-Answer STA 275 RFC 3588 Session-Term-Answer STA 275 RFC 3588
Diameter nodes conforming to this specification MAY advertise support Diameter nodes conforming to this specification MAY advertise support
by including the value of TBD in the Auth-Application-Id or the Acct- by including the value of TBD in the Auth-Application-Id or the Acct-
Application-Id AVP of the Capabilities-Exchange-Request and Application-Id AVP of the Capabilities-Exchange-Request and
Capabilities-Exchange-Answer commands, see [RFC3588]. Capabilities-Exchange-Answer commands, see [RFC3588].
The value of TBD MUST be used as the Application-Id in all QAR/QAA The value of TBD MUST be used as the Application-Id in all QAR/QAA
and QIR/QIA commands. 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 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 STR/STA, ASR/ASA, and RAR/RAA commands, because these commands are
defined in the Diameter base protocol and no additional mandatory defined in the Diameter base protocol and no additional mandatory
AVPs for those commands are defined in this document. AVPs for those commands are defined in this document.
5.1. QoS-Authorization Request (QAR) 5.1. QoS-Authorization Request (QAR)
The QoS-Authorization-Request message (QAR) indicated by the Command- The QoS-Authorization-Request message (QAR) indicated by the Command-
Code field (see Section 3 of [RFC3588]) set to TBD and 'R' bit set in Code field (see Section 3 of [RFC3588]) set to TBD and 'R' bit set in
the Command Flags field is used by Network elements to request the Command Flags field is used by Network elements to request
skipping to change at page 23, line 33 skipping to change at page 35, line 24
< Session-Id > < Session-Id >
{ Auth-Application-Id } { Auth-Application-Id }
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
{ Destination-Realm } { Destination-Realm }
{ Auth-Request-Type } { Auth-Request-Type }
[ Destination-Host ] [ Destination-Host ]
[ User-Name ] [ User-Name ]
* [ QoS-Resources ] * [ QoS-Resources ]
[ QoS-Authz-Data ] [ QoS-Authz-Data ]
[ Cost-Information ]
[ Acc-Multisession-Id ]
[ Bound-Auth-Session-Id ] [ Bound-Auth-Session-Id ]
* [ AVP ] * [ AVP ]
5.2. QoS-Authorization Answer (QAA) 5.2. QoS-Authorization Answer (QAA)
The QoS-Authorization-Answer message (QAA), indicated by the Command- The QoS-Authorization-Answer message (QAA), indicated by the Command-
Code field set to TBD and 'R' bit cleared in the Command Flags field 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). is sent in response to the QoS-Authorization-Request message (QAR).
If the QoS authorization request is successfully authorized, the If the QoS authorization request is successfully authorized, the
response will include the AVPs to allow authorization of the QoS response will include the AVPs to allow authorization of the QoS
resources as well as accounting and transport plane gating resources and transport plane gating information.
information.
The message format is defined as follows: The message format is defined as follows:
<QoS-Answer> ::= < Diameter Header: XXX, PXY > <QoS-Answer> ::= < Diameter Header: XXX, PXY >
< Session-Id > < Session-Id >
{ Auth-Application-Id } { Auth-Application-Id }
{ Auth-Request-Type } { Auth-Request-Type }
{ Result-Code } { Result-Code }
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
* [ QoS-Resources ] * [ QoS-Resources ]
[ CC-Time ]
[ Acc-Multisession-Id ] [ Acc-Multisession-Id ]
[ Session-Timeout ] [ Session-Timeout ]
[ Authz-Session-Lifetime ] [ Authz-Session-Lifetime ]
[ Authz-Grace-Period ] [ Authz-Grace-Period ]
* [ AVP ] * [ AVP ]
5.3. QoS-Install Request (QIR) 5.3. QoS-Install Request (QIR)
The QoS-Install Request message (QIR), indicated by the Command-Code 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 field set to TDB and 'R' bit set in the Command Flags field is used
skipping to change at page 26, line 11 skipping to change at page 37, line 48
[ Authz-Session-Lifetime ] [ Authz-Session-Lifetime ]
[ Authz-Grace-Period ] [ Authz-Grace-Period ]
[ Authz-Session-Volume ] [ Authz-Session-Volume ]
* [ AVP ] * [ AVP ]
5.6. Re-Auth-Answer (RAA) 5.6. Re-Auth-Answer (RAA)
The Re-Auth-Answer message (RAA), indicated by the Command-Code field 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 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 sent by the Network Element to the Authorizing Entity in response to
the RAR command.. the RAR command.
The message format is defined as follows: The message format is defined as follows:
<Re-Auth-Answer> ::= < Diameter Header: 258, PXY > <Re-Auth-Answer> ::= < Diameter Header: 258, PXY >
< Session-Id > < Session-Id >
{ Auth-Application-Id } { Auth-Application-Id }
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
{ Result-Code } { Result-Code }
* [ QoS-Resources ] * [ QoS-Resources ]
* [ AVP ] * [ AVP ]
5.7. Accounting Request (ACR) 6. QoS Application State Machine
The Accounting Request message (ACR), indicated by the Command-Code The QoS application reuses the authorization state machine defined in
field set to 271 and 'R' bit set in the Command Flags field is used Section 8.1 of the Base Protocol ([RFC3588]) with its own messages as
by Network Element to report parameters of the authorized and defined in Section 5 and QoS AVPs as defined in Section 7.
established QoS reservation.
The message MUST carry accounting information authorized QoS 6.1. Supplemented states for push mode
resources and its usage, e.g., QoS-Resources, CC-Time, CC-Cost, Acc-
Multi-Session-Id.
The message format is defined as follows: In addition to the reused state machines, the following states are
supplemented to first 2 state machines in which the session state is
maintained on the Server, and MUST be supported in any QoS
application implementations in support of server initiated push mode
(see (Section 4.2.2)).
<Accounting-Request> ::= < Diameter Header: XXX, REQ, PXY > The following states are supplemented to the state machine on the
< Session-Id > server:
{ Acct-Application-Id }
{ Destination-Realm }
[ Destination-Host ]
[ Accounting-Record-Type ]
[ Accounting-Record-Number ]
* [ QoS-Resources ]
[ Cost-Information ]
[ CC-Time ]
[ Acc-Multi-Session-Id ]
* [ AVP ]
5.8. Accounting Answer (ACA) SERVER, STATEFUL
State Event Action New State
-------------------------------------------------------------
Idle An application or local Send Pending
event triggers an initial QIR initial
QoS request to the server request
The Accounting Answer message (ACA), indicated by the Command-Code Pending Received QIA with a failed Cleanup Idle
field set to 271 and 'R' bit cleared in the Command Flags field is Result-Code
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: Pending Received QIA with Result-Code Update Open
= SUCCESS session
Pending Error in processing received Send Discon
QIA with Result-Code = SUCCESS ASR
<Accounting-Answer> ::= < Diameter Header: XXX, PXY > The following states are supplemented to the state machine on the
< Session-Id > client:
{ Acct-Application-Id }
[ Result-Code ]
[ Accounting-Record-Type ]
[ Accounting-Record-Number ]
[ Acc-Multi-Session-Id ]
* [ AVP ]
6. Diameter QoS Authorization Application AVPs CLIENT, STATEFUL
State Event Action New State
-------------------------------------------------------------
Idle QIR initial request Send Open
received and successfully QIA initial
processed answer,
reserve resources
Idle QIR initial request Send Idle
received but not QIA initial
successfully processed answer with
Result-Code
!= SUCCESS
7. QoS Application AVPs
Each of the AVPs identified in the QoS-Authorization-Request/Answer Each of the AVPs identified in the QoS-Authorization-Request/Answer
and QoS-Install-Request/Answer messages and the assignment of their and QoS-Install-Request/Answer messages and the assignment of their
value(s) is given in this section. value(s) is given in this section.
6.1. Diameter Base Protocol AVPs 7.1. Reused Base Protocol AVPs
The Diameter QoS application uses a number of session management The QoS application uses a number of session management AVPs, defined
AVPs, defined in the Base Protocol ([RFC3588]). in the Base Protocol ([RFC3588]).
Attribute Name AVP Code Reference [RFC3588] Attribute Name AVP Code Reference [RFC3588]
Origin-Host 264 Section 6.3 Origin-Host 264 Section 6.3
Origin-Realm 296 Section 6.4 Origin-Realm 296 Section 6.4
Destination-Host 293 Section 6.5 Destination-Host 293 Section 6.5
Destination-Realm 283 Section 6.6 Destination-Realm 283 Section 6.6
Auth-Application-Id 258 Section 6.8 Auth-Application-Id 258 Section 6.8
Result-Code 268 Section 7.1 Result-Code 268 Section 7.1
Auth-Request-Type 274 Section 8.7 Auth-Request-Type 274 Section 8.7
Session-Id 263 Section 8.8 Session-Id 263 Section 8.8
Authz-Lifetime 291 Section 8.9 Authz-Lifetime 291 Section 8.9
Authz-Grace-Period 276 Section 8.10 Authz-Grace-Period 276 Section 8.10
Session-Timeout 27 Section 8.13 Session-Timeout 27 Section 8.13
User-Name 1 Section 8.14 User-Name 1 Section 8.14
The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to 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 applications. The value of the Auth-Application-Id for the
Diameter QoS application is TBD. Diameter QoS application is TBD.
6.2. Credit Control Application AVPs 7.2. QoS Application Defined AVPs
The Diameter QoS application provides accounting for usage of
reserved QoS resources. Diameter QoS accounting has built-in support
for online, duration based accounting. For this purpose it re-uses a
number of AVPs defined in Diameter Credit Control application.
[RFC4006].
Attribute Name AVP Code Reference [RFC4006]
Cost-Information AVP 423 Section 8.7
Unit-Value AVP 445 Section 8.8
Currency-Code AVP 425 Section 8.11
Cost-Unit AVP 424 Section 8.12
CC-Time AVP 420 Section 8.21
Tariff-Time-Change AVP 451 Section 6.20
Usage of the listed AVPs is described in Section 4
Diameter QoS application is designed to independently provide credit
control over the controlled QoS resources. However, deployment
scenarios, where Diameter QoS application is collocated with Diameter
Credit Control application, are not excluded. In such scenarios the
credit control over the QoS resources might be managed by the Credit
control application. Possible interworking approach might be a usage
of Credit-Control AVP (AVP Code 426) with a newly defined value. It
will indicate to the Diameter QoS entities that the credit control
over the QoS resources would be handled in separate session by Credit
Control application. An active cooperation of both applications
would be required but it is not elaborated further in this document.
6.3. Accounting AVPs
The Diameter QoS application uses Diameter Accounting and accounting
AVPs as defined in Section 9 of [RFC3588]. Additional description of
the usage of some of them in the QoS authorization context is
provided:
Attribute Name AVP Code Reference [RFC3588]
Acct-Application-Id 259 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.
6.4. Diameter QoS Application Defined AVPs
This document reuses the AVPs defined in Section 4 of This document reuses the AVPs defined in Section 4 of
[I-D.ietf-dime-qos-attributes]. [I-D.ietf-dime-qos-attributes].
This section lists the AVPs that are introduced specifically for the This section lists the AVPs that are introduced specifically for the
Diameter QoS application. The followig new AVPs are defined: Bound- QoS application. The following new AVPs are defined: Bound-Auth-
Auth-Session-Id and the QoS-Authz-Data AVP. Session-Id and the QoS-Authz-Data AVP.
The following table describes the Diameter AVPs newly defined in this The following table describes the Diameter AVPs newly defined in this
document for usage with the QoS Application, their AVP code values, document for usage with the QoS Application, their AVP code values,
types, possible flag values, and whether the AVP may be encrypted. 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|
skipping to change at page 31, line 5 skipping to change at page 43, line 5
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.
7. Examples 8. Accounting
7.1. Example call flow for pull mode A Network Element may start an accounting session by sending an
Accounting-Request message (ACR) after successful QoS reservation and
activation of the data flow (see Figure 7 and Figure 9). After every
successful re-authorization procedure (see Figure 10 and Figure 11),
the Network element may initiate an interim accounting message
exchange. After successful session termination (see Figure 12 and
Figure 13), the Network element may initiate a final exchange of
accounting messages for terminating of the accounting session and
reporting final records for the usage of the QoS resources reserved.
It should be noted that the two sessions (authorization and
accounting) have independent management by the Diameter base
protocol, which allows for finalizing the accounting session after
the end of the authorization session.
The detailed QoS accounting procedures are out of scope in this
document.
9. Examples
9.1. Example call flow for pull mode
This section presents an example of the interaction between the end This section presents an example of the interaction between the end
host and Diameter QoS application entities using Pull mode. The host and Diameter QoS application entities using Pull mode. The
application layer signaling is, in this example, provided using SIP. application layer signaling is, in this example, provided using SIP.
Signaling for a QoS resource reservation is done using the QoS NSLP. Signaling for a QoS resource reservation is done using the QoS NSLP.
The authorization of the QoS reservation request is done by the The authorization of the QoS reservation request is done by the
Diameter QoS application (DQA). Diameter QoS application (DQA).
End-Host SIP Server Correspondent End-Host SIP Server Correspondent
requesting QoS (DQA Server) Node requesting QoS (DQA Server) Node
skipping to change at page 31, line 45 skipping to change at page 44, line 45
| +------------+ | | | +------------+ | |
| | NE | | | | | NE | | |
| |(DQA Client)| | | | |(DQA Client)| | |
| +------+-----+ | | | +------+-----+ | |
| | | | | | | |
|QoS NSLP Reserve | | | |QoS NSLP Reserve | | |
+------------------> QAR | | +------------------> QAR | |
| (POLICY_DATA>v +- - - - -<<AAA>>- - - -> | | (POLICY_DATA>v +- - - - -<<AAA>>- - - -> |
| QSPEC) v >===>(Destination-Host, | | | QSPEC) v >===>(Destination-Host, | |
| v >=======>QoS-Authz-Data ++------------+ | | v >=======>QoS-Authz-Data ++------------+ |
| >===========>QoS-Resources, |Authorize | | | >===========>QoS-Resources) |Authorize | |
| |Cost-Info) |QoS resources| | | | |QoS resources| |
| | ++------------+ | | | ++------------+ |
| | QAA | | | | QAA | |
| <- - - - -<<AAA>>- - - -+ | | <- - - - -<<AAA>>- - - -+ |
| |(Result-Code, | | | |(Result-Code, | |
| |QoS-Resources, | | | |QoS-Resources, | |
| |CC-Time, | |
| |Authz-Lifetime) | | | |Authz-Lifetime) | |
| +---------+--------+ | | | +---------+--------+ | |
| |Install QoS state1| | | | |Install QoS state1| | |
| |+ Authz. session | | | | |+ Authz. session | | |
| +---------+--------+ | | | +---------+--------+ | |
| |QoS NSLP Reserve | | |QoS NSLP Reserve |
| +---------------..............---------> | +---------------..............--------->
| | | | | |
| | QoS NSLP Response| | | QoS NSLP Response|
|QoS NSLP Response <---------------..............---------+ |QoS NSLP Response <---------------..............---------+
skipping to change at page 32, line 45 skipping to change at page 45, 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 23: QoS Authorization Example - Pull Mode Figure 26: QoS Authorization Example - Pull Mode
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 23). As a part of requested service and its parameters (see Figure 26). 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
authorizing entity (e.g., the SIP server) and an identifier of the authorizing entity (e.g., the SIP server) and an identifier of the
application service session for which QoS resources are requested. application service session for which QoS resources are requested.
A QoS NSLP Reserve message is intercepted and processed by the first A QoS NSLP Reserve message is intercepted and processed by the first
QoS aware Network Element. The NE uses the Diameter QoS application QoS aware Network Element. The NE uses the Diameter QoS application
to request authorization for the received QoS reservation request. to request authorization for the received QoS reservation request.
The identity of the Authorizing Entity (in this case the SIP server The identity of the Authorizing Entity (in this case the SIP server
that is co-located with a Diameter server) is put into the that is co-located with a Diameter server) is put into the
Destination-Host AVP, any additional session authorization data is Destination-Host AVP, any additional session authorization data is
encapsulated into the QoS-Authz-Data AVP and the description of the encapsulated into the QoS-Authz-Data AVP and the description of the
QoS resources is included into QoS-Resources AVP. In addition, the QoS resources is included into QoS-Resources AVP. These AVPs are
NE rates the requested QoS resources and announces the charging rate included into a QoS Authorization Request message, which is sent to
into the Cost-Information AVP. These AVPs are included into a QoS the Authorizing entity.
Authorization Request message, which is sent to the Authorizing
entity.
A Diameter QAR message will be routed through the AAA network to the A QAR message will be routed through the AAA network to the
Authorizing Entity. The Authorizing Entity verifies the requested Authorizing Entity. The Authorizing Entity verifies the requested
QoS against the QoS resources negotiated for the service session and QoS against the QoS resources negotiated for the service session and
replies with QoS-Authorization answer (QAA) message. It carries the replies with QoS-Authorization answer (QAA) message. It carries the
authorization result (Result-Code AVP) and the description of the authorization result (Result-Code AVP) and the description of the
authorized QoS parameters (QoS-Resources AVP), as well as duration of authorized QoS parameters (QoS-Resources AVP), as well as duration of
the authorization session (Authorization-Lifetime AVP) and duration the authorization session (Authorization-Lifetime AVP).
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.
7.2. Example call flow for push mode The NE interacts with the traffic control function and installs the
authorized QoS resources and forwards the QoS NSLP Reserve message
further along the data path. Moreover, the NE may serve as a
signaling proxy and process the QoS signaling (e.g. initiation or
termination of QoS signaling) based on the QoS decision received from
the authorizing entity.
9.2. Example call flow for push mode
This section presents an example of the interaction between the end- This section presents an example of the interaction between the end-
host and Diameter QoS application entities using Push Mode. The host and Diameter QoS application entities using Push Mode. The
application layer signaling is, in this example, provided using SIP. application layer signaling is, in this example, provided using SIP.
Signaling for a QoS resource reservation is done using the QoS NSLP. Signaling for a QoS resource reservation is done using the QoS NSLP.
The authorization of the QoS reservation request is done by the The authorization of the QoS reservation request is done by the
Diameter QoS application (DQA). Diameter QoS application (DQA).
End-Host NE SIP Server Correspondent End-Host NE SIP Server Correspondent
requesting QoS (DQA Client) (DQA Server) Node requesting QoS (DQA Client) (DQA Server) Node
skipping to change at page 34, line 26 skipping to change at page 47, line 24
| | |/Authz-time,Session-Id/|| | | |/Authz-time,Session-Id/||
| | +---------+-------------+| | | +---------+-------------+|
| | | | | | | |
| |<-- - -- - QIR - -- - -- -+ | | |<-- - -- - QIR - -- - -- -+ |
| |(Initial Request,Decision | | | |(Initial Request,Decision | |
| |(QoS-Resources,Authz-time)| | | |(QoS-Resources,Authz-time)| |
| +-------+---------+ | | | +-------+---------+ | |
| |Install QoS state| | | | |Install QoS state| | |
| | + | | | | | + | | |
| | Authz. session | | | | | Authz. session | | |
| | /Authz-time, | | | | | /Authz-time/ | | |
| | CC-Time,Cost/ | | |
| +-------+---------+ | | | +-------+---------+ | |
| + - - -- - QIA - - - - - ->| | | + - - -- - QIA - - - - - ->| |
| | (Result-Code, | | | | (Result-Code, | |
| | QoS-Resources) | | | | QoS-Resources) | |
| | +----------+------------+ | | | +----------+------------+ |
| | | Report for successful | | | | | Report for successful | |
| | | QoS reservation | | | | | QoS reservation | |
| | |Update of reserved QoS | | | | |Update of reserved QoS | |
| | | resources | | | | | resources | |
| | +----------+------------+ | | | +----------+------------+ |
skipping to change at page 35, line 7 skipping to change at page 48, line 4
| | |re-Authorize session| | | | |re-Authorize session| |
| | | parameters | | | | | parameters | |
| | +--------+-----------+ | | | +--------+-----------+ |
| <- - - - - - RAR - - - - - + | | <- - - - - - RAR - - - - - + |
| +---------+--------+ | | | +---------+--------+ | |
| |Activate QoS state| | | | |Activate QoS state| | |
| +---------+--------+ | | | +---------+--------+ | |
| +- - - - - - RAA - - - - - > | | +- - - - - - RAA - - - - - > |
. | 200 (SDP answer) | | | . . | 200 (SDP answer) | | | .
. <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+ | . . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+ | .
| | | | | |
/------------------+-----Data Flow---------------------------\ /------------------+-----Data Flow---------------------------\
\------------------+-----------------------------------------/ \------------------+-----------------------------------------/
| | | | | |
.-.-.-.-. SIP signaling .-.-.-.-. SIP signaling
- - - - - Diameter QoS Application messages - - - - - Diameter QoS Application messages
Figure 24: QoS Authorization Example - Push Mode Figure 27: QoS Authorization Example - Push Mode
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 24). As a part of requested service and its parameters (see Figure 27). As a part of
the process, the SIP server verifies whether the user at Host A is 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). The DQA server is triggered to to be charged for the service usage). The DQA server is triggered to
authorize the QoS request based on session parameters (i.e. SDP authorize the QoS request based on session parameters (i.e., SDP
offer), initiate a Diameter QoS authorization session and install offer), initiate a Diameter QoS authorization session and install
authorized QoS state to the Network Element via QIR message. authorized QoS state to the Network Element via QIR message.
The DQA server may obtain the info of peer DQA client from pre- 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 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 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 and a DQA client is co-located with a Network element). The identity
of Network Element is put into the Destination-Host AVP, the of Network Element is put into the Destination-Host AVP, the
description of the QoS resources is included into QoS-Resources AVP, description of the QoS resources is included into QoS-Resources AVP,
as well as duration of the authorization session (Authorization- as well as duration of the authorization session (Authorization-
Lifetime AVP) and duration of the time (CC-Time) for which the end- Lifetime AVP). The NE interacts with the traffic control function
user should be charged with the rate announced in the QIR message. and reserves the authorized QoS resources accordingly, for instance,
The NE interacts with the traffic control function and reserves the the NE may serve as a signaling proxy and process the QoS signaling
authorized QoS resources accordingly. (e.g. initiation or termination of QoS signaling) based on the QoS
decision received from the authorizing entity.
With successful QoS authorization, the SDP offer in SIP Invite is With successful QoS authorization, the SDP offer in SIP Invite is
forwared to Host B. Host B sends back a 18x (ringing) message towards forwarded to Host B. Host B sends back a 18x (ringing) message
Host A and processes the SDP. Once Host B accepts the call, it sends towards Host A and processes the SDP. Once Host B accepts the call,
back a 200 OK, in which it includes description of the accepted it sends back a 200 OK, in which it includes description of the
session parameters (i.e. SDP answer). accepted session parameters (i.e. SDP answer).
The DQA server may verifies the accepted QoS against the pre- The DQA server may verifies the accepted QoS against the pre-
authorized QoS resources, and sends a Diameter RAR message to the DQA authorized QoS resources, and sends a Diameter RAR message to the DQA
client in the network element for activating the installed policies client in the network element for activating the installed policies
and commit the resource allocation. With successful QoS enforcement, and commit the resource allocation. With successful QoS enforcement,
the 200 OK is forwarded towards Host A. the 200 OK is forwarded towards Host A.
Note that the examples above show a sender-initiated reservation from Note that the examples above show a sender-initiated reservation from
the End-Host towards the corresponding node and a receiver-initiated the end host towards the corresponding node and a receiver-initiated
reservation from the correspondent node towards the End-Host. reservation from the correspondent node towards the end host.
8. IANA Considerations 10. IANA Considerations
TBD This section contains the namespaces that have either been created in
this specification or had their values assigned to existing
namespaces managed by IANA.
9. Security Considerations 10.1. AVP Codes
TBD IANA is requested to allocate two AVP codes to the following:
10. Acknowledgements Registry:
AVP Code Attribute Name Reference
-----------------------------------------------------------
to be assigned QoS-Authz-Data Section 6.4
to be assigned Bound-Auth-Session-Id Section 6.4
10.2. AVP specific values
IANA is requested to allocate the following sub-registry values.
Sub-registry: Auth-Application-Id AVP Values (code 258)
Registry:
AVP Values Attribute Name Reference
------------- -------------------------------------------
to be assigned DIAMETER-QOS-NOSUPPORT Section 5
to be assigned DIAMETER-QOS-SUPPORT Section 5
Sub-registry: Acct-Application-Id AVP Values (code 259)
Registry:
AVP Values Attribute Name Reference
------------- -------------------------------------------
to be assigned DIAMETER-QOS-NOSUPPORT Section 5
to be assigned DIAMETER-QOS-SUPPORT Section 5
10.3. AVP flags
There are no new AVP flags defined for either the QoS-Authz-Data AVP
or the Bound-Ath-Session-ID AVP.
10.4. Application IDs
IANA is requested to allocate the following application ID using the
next value from the 7-16777215 range.
Registry:
ID values Name Reference
-----------------------------------------------------------
to be asigned Diameter QoS application Section 5
10.5. Command Codes
IANA is requested to allocate command code values for the following
from the range 289-299.
Registry:
Code Value Name Reference
-----------------------------------------------------------
to be assigned QoS-Authz-Request (QAR) Section 5.1
to be assigned QoS-Authz-Answer (QAA) Section 5.2
to be assigned QoS-Install-Request (QIR) Section 5.3
to be assigned QoS-Install-Answer (QIA) Section 5.4
11. Security Considerations
This document describes a mechanism for performing authorization of a
QoS reservation at a third party entity. Therefore, it is necessary
that the QoS signaling application to carry sufficient information
that should be forwarded to the backend AAA server. This
functionality is particularly useful in roaming environments where
the authorization decision is most likely provided at an entity where
the user can be authorized, such as in the home realm.
QoS signaling application MAY re-use the authenticated identities
used for the establishment of the secured transport channel for the
signaling messages, e.g., TLS or IPsec between the end host and the
policy aware QoS NE. In addition, a collocation of the QoS NE with,
for example, the Diameter NASREQ application (see [RFC4005]) may
allow the QoS authorization to be based on the authenticated identity
used during the network access authentication protocol run. If a co-
located deployment is not desired then special security protection is
required to ensure that arbitrary nodes cannot reuse a previous
authentication exchange to perform an authorization decision.
Additionally, QoS authorization might be based on the usage of
authorization tokens that are generated by the Authorizing Entity and
provided to the end host via application layer signaling.
The impact of the existence of different authorization models is
(with respect to this Diameter QoS application) the ability to carry
different authentication and authorization information.
12. Acknowledgements
The authors would like to thank John Loughney and Allison Mankin for 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. Rajith R provided some inputs to the comments late 2005/early 2006. Rajith R provided some inputs to the
document early 2007 document early 2007
[Editor's Note: Acknowledgements need to be updated.] 13. Contributors
11. 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.
[Editor's Note: A bit of history needs to be included here.] [Editor's Note: A bit of history needs to be included here.]
12. Open Issues 14. References
Open issues related to this draft are listed at the issue tracker
available at: http://www.tschofenig.com:8080/diameter-qos/
13. References
13.1. Normative References 14.1. Normative References
[I-D.ietf-dime-qos-attributes] [I-D.ietf-dime-qos-attributes]
Korhonen, J., Tschofenig, H., Arumaithurai, M., and M. Korhonen, J., Tschofenig, H., Arumaithurai, M., and M.
Jones, "Quality of Service Attributes for Diameter", Jones, "Quality of Service Attributes for Diameter",
draft-ietf-dime-qos-attributes-03 (work in progress), draft-ietf-dime-qos-attributes-04 (work in progress),
November 2007. January 2008.
[I-D.ietf-dime-qos-parameters]
Korhonen, J. and H. Tschofenig, "Quality of Service
Parameters for Usage with the AAA Framework",
draft-ietf-dime-qos-parameters-01 (work in progress),
September 2007.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [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.
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton,
"Diameter Network Access Server Application", RFC 4005, "Diameter Network Access Server Application", RFC 4005,
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.
13.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
Signalling Transport", draft-ietf-nsis-ntlp-14 (work in Signalling Transport", draft-ietf-nsis-ntlp-14 (work in
progress), July 2007. progress), July 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-15 (work in progress), July 2007. draft-ietf-nsis-qos-nslp-15 (work in progress), July 2007.
skipping to change at page 44, line 7 skipping to change at page 56, line 7
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 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
Authors' Addresses Authors' Addresses
Glen Zorn (editor) Dong Sun (editor)
Alcatel-Lucent
600-700 Mountain Ave
Murray Hill, NJ 07974
USA
Phone: Phone: +1 908 582 2617
Email: glenzorn@comcast.net Email: dongsun@alcatel-lucent.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
Nokia Siemens Networks Nokia Siemens Networks
Otto-Hahn-Ring 6 Linnoitustie 6
Munich, Bavaria 81739 Espoo 02600
Germany Finland
Phone: +358 (50) 4871445
Email: Hannes.Tschofenig@nsn.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 Glen Zorn
Email: glenzorn@comcast.net
Full Copyright Statement Full Copyright Statement
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
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
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
 End of changes. 129 change blocks. 
480 lines changed or deleted 1028 lines changed or added

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