One document matched: draft-ietf-dime-qos-attributes-02.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='./rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="no"?>
<?rfc compact="no" ?>
<?rfc sortrefs="yes" ?>
<?rfc strict="yes" ?>
<?rfc linkmailto="yes" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
<!ENTITY RFC3588 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3588.xml'>
<!ENTITY RFC4006 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4006.xml'>
<!ENTITY RFC4005 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4005.xml'>
<!ENTITY RFC4072 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4072.xml'>
<!ENTITY I-D.ietf-dime-qos-parameters SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-dime-qos-parameters.xml">
<!ENTITY I-D.ietf-radext-filter-rules PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-radext-filter-rules.xml'>
<!ENTITY RFC2234 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2234.xml'>
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="yes" ?>
<rfc ipr="full3978" category="std" docName="draft-ietf-dime-qos-attributes-02.txt">
<front>
<title abbrev="QoS Attributes for Diameter">Quality of Service Attributes for Diameter</title>
<author role="editor" initials="J" surname="Korhonen" fullname="Jouni Korhonen">
<organization>TeliaSonera</organization>
<address>
<postal>
<street>Teollisuuskatu 13</street>
<city>Sonera</city>
<code>FIN-00051</code>
<country>Finland</country>
</postal>
<email>jouni.korhonen@teliasonera.com</email>
</address>
</author>
<author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
<organization>Nokia Siemens Networks</organization>
<address>
<postal>
<street>Otto-Hahn-Ring 6</street>
<city>Munich</city>
<region>Bavaria</region>
<code>81739</code>
<country>Germany</country>
</postal>
<email>Hannes.Tschofenig@nsn.com</email>
<uri>http://www.tschofenig.com</uri>
</address>
</author>
<author initials="M." surname="Arumaithurai" fullname="Mayutan Arumaithurai">
<organization abbrev="University of Goettingen">University of Goettingen</organization>
<address>
<postal>
<street/>
<city> </city>
<region> </region>
<code> </code>
<country> </country>
</postal>
<email>mayutan.arumaithurai@gmail.com</email>
</address>
</author>
<date year="2007"/>
<area>Operations and Management</area>
<workgroup>Diameter Maintenance and Extensions (DIME)</workgroup>
<keyword>Internet-Draft</keyword>
<keyword>Diameter</keyword>
<keyword>QoS Attributes</keyword>
<abstract>
<t>This document extends the QoSFilterRule AVP functionality of the Diameter Base protocol
and the functionality of the QoS-Filter-Rule AVP defined in RFC 4005. The ability to
convey Quality of Service information is made available to the Diameter Network Access
Server Application, the Diameter Credit Control Application and the Diameter Extensible
Authentication Protocol (EAP) Application. Future Diameter applications can easily
integrate Quality of Service support in addition to packet filtering.</t>
</abstract>
</front>
<!-- ====================================================================== -->
<middle>
<!-- ====================================================================== -->
<section anchor="introduction" title="Introduction">
<t>This document defines a number of Diameter Quality of Service (QoS) related AVPs that
can be used with the Diameter Base protocol, and the Diameter Credit Control
Application, the Diameter Extensible Authentication Protocol (EAP) Application and the
Diameter Network Access Server Application to convey Quality of Service information. The
Extended-QoS-Filter-Rule AVP thereby replaces the QoSFilterRule, defined in RFC 3588
<xref target="RFC3588"/>, and the QoS-Filter-Rule, defined in RFC 4005 <xref
target="RFC4005"/>. </t>
</section>
<!-- ====================================================================== -->
<section title="Terminology">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD
NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as
described in RFC 2119 <xref target="RFC2119"/>. </t>
</section>
<!-- ====================================================================== -->
<section anchor="cmds" title="Commands, AVPs and Advertising Application Support">
<section title="Command Codes">
<t>This document re-uses the Diameter Base protocol <xref target="RFC3588"/>, Diameter
Credit Control <xref target="RFC4006"/>, Diameter NASREQ <xref target="RFC4005"/> and
Diameter EAP <xref target="RFC4072"/> application commands. The following commands
are re-used to carry QoS related AVPs: </t>
<t>
<figure anchor="cmd" title="Command Codes">
<artwork>
<![CDATA[
Command-Name Abbrev. Code Reference
Diameter-EAP-Request DER 268 RFC 4072
Diameter-EAP-Answer DEA 268 RFC 4072
Credit-Control-Request CCR 272 RFC 4006
Credit-Control-Answer CCA 272 RFC 4006
AA-Request AAR 265 RFC 4005
AA-Answer AAA 265 RFC 4005
]]>
</artwork>
</figure>
</t>
<t>When the Re-Auth-Request (RAR), Re-Auth-Answer (RAA), Session-Termination-Request
(STR), Session-Termination-Answer (STA), Abort-Session-Request (ASR),
Abort-Session-Answer (ASA), Accounting-Request (ACR), and Accounting-Answer (ACA)
commands are used together with this specification they follow the rules in Diameter
NASREQ <xref target="RFC4005"/>, Diameter EAP <xref target="RFC4072"/>, Credit
Control <xref target="RFC4006"/> and Diameter Base Protocol <xref target="RFC3588"/>.
The accounting commands use the Application Identifier value of the respective
application.</t>
</section>
<!-- ====================================================================== -->
<section title="Diameter-EAP-Request (DER)">
<t>The Diameter-EAP-Request (DER) command <xref target="RFC4072"/>, indicated by the
Command-Code field set to 268 and the 'R' bit set in the Command Flags field, may be
sent by the NAS to the Diameter server providing network access authentication and
authorization services. At the same time as the network access authentication and
authorization, the NAS MAY request the Diameter server to authorize provisioning of
QoS resources. </t>
<t>The message format is the same as defined in <xref target="RFC4072"/> with an
addition of QoS specific AVPs. <xref target="der"/> shows the DER message used with
the QoS specific AVPs:</t>
<t>
<figure anchor="der" title="Diameter EAP Request Command">
<artwork>
<![CDATA[
<Diameter-EAP-Request> ::= < Diameter Header: 268, REQ, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ Auth-Request-Type }
[ Destination-Host ]
[ User-Name ]
[ QoS-Capability ]
* [ QoS-Resources ]
...
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
<!-- ====================================================================== -->
<section title="Diameter-EAP-Answer (DEA)">
<t>The Diameter-EAP-Answer (DEA) message defined in <xref target="RFC4072"/>, indicated
by the Command- Code field set to 268 and 'R' bit cleared in the Command Flags field
is sent in response to the Diameter-EAP-Request message (DER). If the QoS service is
successfully authorized and the Diameter server was able to fulfill the QoS
Authorization request (if needed) then the response MAY include the QoS-Resources
AVPs.</t>
<t>The message format is the same as defined in <xref target="RFC4072"/> with an
addition of QoS specific AVPs. <xref target="dea"/> shows the DEA message used with
the QoS specific AVPs:</t>
<t>
<figure anchor="dea" title="Diameter EAP Answer Command">
<artwork>
<![CDATA[
<Diameter-EAP-Answer> ::= < Diameter Header: 268, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Auth-Request-Type }
{ Result-Code }
{ Origin-Host }
{ Origin-Realm }
* [ QoS-Resources ]
[ Session-Timeout ]
[ User-Name ]
...
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
<!-- ====================================================================== -->
<section title="Credit-Control-Request (CCR)">
<t>The Credit-Control-Request (CCR) command <xref target="RFC4006"/>, indicated by the
Command-Code field set to 272 and the 'R' bit set in the Command Flags field, may be
sent by the NAS to the Diameter-QoS server to request QoS credit authorization for a
given QoS provisioning request. In that case the CCR command MAY also carry the
QoS-Resources AVPs.</t>
<t>The message format is the same as defined in <xref target="RFC4006"/> with an
addition of QoS specific AVPs. <xref target="CCR"/> shows the CCR message used with
the QoS specific AVPs:</t>
<t>
<figure anchor="CCR" title="Credit Control Request Command">
<artwork>
<![CDATA[
<Credit-Control-Request> ::= < Diameter Header: 272, REQ, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ Auth-Request-Type }
{ Service-Context-Id }
{ CC-Request-Type }
{ CC-Request-Number }
[ Destination-Host ]
[ User-Name ]
[ QoS-Capability ]
* [ QoS-Resources ]
...
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
<!-- ====================================================================== -->
<section title="Credit-Control-Answer (CCA)">
<t>The Credit-Control-Answer (CCA) command <xref target="RFC4006"/>, indicated by the
Command-Code field set to 272 and the 'R' bit set in the Command Flags field is sent
in response to the CC-Request (CCR) message to acknowledge a CC-Request command. If
the Diameter QoS server was able to fulfill the QoS request (if needed) then the
response MAY include the QoS-Resources AVPs.</t>
<t>The message format is the same as defined in <xref target="RFC4006"/> with an
addition of QoS specific AVPs. <xref target="CCa"/> shows the CCA message used with
the QoS specific AVPs: </t>
<t>
<figure anchor="CCa" title="Credit Control Answer Command">
<artwork>
<![CDATA[
<Credit-Control-Answer> ::= < Diameter Header: 272, PXY >
< Session-Id >
{ Result-Code }
{ Origin-Host }
{ Origin-Realm }
{ Auth-Application-Id }
{ CC-Request-Type }
{ CC-Request-Number }
[ User-Name ]
[ CC-Session-Failover ]
[ CC-Sub-Session-Id ]
[ Acct-Multi-Session-Id ]
[ Origin-State-Id ]
[ Event-Timestamp ]
* [ QoS-Resources ]
...
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
<!-- ====================================================================== -->
<section title="AA-Request (AAR)">
<t>The AA-Request (AAR) message, indicated by the Command-Code field set to 265 and 'R'
bit set in the Command Flags field, may be sent by the NAS to the Diameter server
providing network access configuration services. At the same time as the network
access authentication and authorization, the NAS MAY request the Diameter server to
authorize provisioning of QoS resources. </t>
<t>The message format is the same as defined in <xref target="RFC4005"/> with an
addition of QoS specific AVPs. <xref target="aar"/> shows the AAR message used with
the QoS specific AVPs:</t>
<t>
<figure anchor="aar" title="AA Request Command">
<artwork>
<![CDATA[
<AA-Request> ::= < Diameter Header: 265, REQ, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ Auth-Request-Type }
[ QoS-Capability ]
* [ QoS-Resources ]
[ Destination-Host ]
...
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
<!-- ====================================================================== -->
<section title="AA-Answer (AAA)">
<t>The AA-Answer (AAA) message, indicated by the Command-Code field set to 265 and 'R'
bit cleared in the Command Flags field is sent in response to the AA-Request (AAR)
message for confirmation of the result of QoS provisioning. If the QoS service is
successfully authorized and the Diameter server was able to fulfill the QoS
provisioning request (if needed) then the response MAY include the QoS-Resources
AVPs.</t>
<t>The message format is the same as defined in <xref target="RFC4005"/> with an
addition of QoS specific AVPs. <xref target="aaa"/> shows the AAA message used with
the QoS specific AVPs:</t>
<t>
<figure anchor="aaa" title="AA Answer Command">
<artwork>
<![CDATA[
<AA-Answer> ::= < Diameter Header: 265, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Auth-Request-Type }
{ Result-Code }
{ Origin-Host }
{ Origin-Realm }
* [ QoS-Resources ]
[ User-Name ]
[ Session-Timeout ]
...
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
</section>
<!-- ====================================================================== -->
<section anchor="qos-new-avps" title="Diameter QoS Defined AVPs">
<t> The following table lists the Diameter AVPs used by this document, their AVP code
values, types, possible flag values, and whether the AVP may be encrypted. </t>
<t>
<figure>
<artwork><![CDATA[
+------------------+
| AVP Flag Rules |
+-------------------------------------------------|----+---+----+----+
| AVP Section |MUST|MAY|SHLD|MUST|
| Attribute Name Code Defined Data Type | | | NOT| NOT|
+-------------------------------------------------+----+---+----+----+
|QoS-Capability TBD 4.1 Grouped | |M,P| | V |
|QoS-Profile TBD 4.2 Unsigned32 | |M,P| | V |
|QoS-Resources TBD 4.3 Grouped | |M,P| | V |
|Extended-QoS-Filter-Rule TBD 4.4 Grouped | |M,P| | V |
|QoSBlob-Group TBD 4.5 Grouped | |M,P| | V |
|QoS-ID TBD 4.6 Unsigned32 | |M,P| | V |
|QoS-ObjectType TBD 4.7 Enumerated | |M,P| | V |
|QoSBlob TBD 4.8 OctetString| |M,P| | V |
|QoS-Flow-State TBD 4.9 Enumerated | |M,P| | V |
|QoS-Flow-Direction TBD 4.10 Enumerated | |M,P| | V |
+-------------------------------------------------+----+---+----+----+
]]></artwork>
</figure>
</t>
<section title="QoS-Capability AVP" anchor="capability">
<t>The QoS-Capability AVP (AVP Code TBD) is of type Grouped and contains a list of
supported Quality of Service profiles (and therefore the support of respective AVPs).</t>
<t>
<figure>
<artwork><![CDATA[
QoS-Capability ::= < AVP Header: XXX >
1* { QoS-Profile }
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
<!-- section title="QoS-Profile AVP" anchor="qos-profile">
<t>The QoS-Profile AVP (AVP Code TBD) is of type Unsigned32 and contains the supported
QoS profile. The value of 0 refers to the QoS parameters described in <xref
target="I-D.ietf-dime-qos-parameters"/>. The registry for QoS profiles is created with
the same document. </t>
</section -->
<section title="QoS-Profile AVP" anchor="qos-profile">
<t>The QoS-Profile AVP (AVP Code TBD) is of type Unsigned64 and contains the vendor and
a specifier field. The 64-bit value in the QoS-Profile AVP is structured as shown
below.</t>
<t>
<figure>
<artwork><![CDATA[
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Specifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
<list style="hanging">
<t hangText="Vendor Field:"><vspace blankLines="1"/>32 bits of IANA SMI Network
Management Private Enterprise Code. The Vendor-ID 0x00000000 is reserved for
IANA registered QoS profiles. <vspace blankLines="1"/>
</t>
<t hangText="Specifier Field:"><vspace blankLines="1"/>32-bit unsigned integer,
representing the defined profile value. </t>
</list>
</t>
<t>An initial QoS profile is defined with vendor field set to 0x00000000 and the
specifier field set to 0, as described in <xref target="I-D.ietf-dime-qos-parameters"
/>. The registry for the QoS profiles is created with the same document. </t>
</section>
<section title="QoS-Resources AVP">
<t> The QoS-Resources AVP (AVP Code TBD) is of type Grouped and includes description of
the Quality of Service resources.</t>
<t>
<figure>
<artwork><![CDATA[
QoS-Resources ::= < AVP Header: XXX >
0* [ Extended-QoS-Filter-Rule ]
0* [ QoSBlob-Group ]
[ QoS-Flow-State ]
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
<section title="Extended-QoS-Filter-Rule AVP">
<t>TheExtended-QoS-Filter-Rule AVP (AVP Code TBD) is of type Grouped. The QoS filter
rule associated with the QoS-ID re-uses the RADIUS NAS-Traffic-Rule AVP <xref
target="I-D.ietf-radext-filter-rules"/>. This AVP ties a specific filter to a
QoS-ID that in turn refers to a specific QoSBlob-Group. At least either one of the
NAS-Traffic-Rule or the QoS-Flow-Direction AVPs SHOULD be included.</t>
<t>
<figure>
<artwork><![CDATA[
Extended-QoS-Filter-Rule ::= < AVP Header: XXX >
{ QoS-ID }
[ NAS-Traffic-Rule ]
[ QoS-Flow-Direction ]
* [ AVP ]
]]></artwork>
</figure>
</t>
</section>
<section title="QoSBlob-Group AVP">
<t> The QoSBlob-Group AVP (AVP Code TBD) is of type Grouped and ties the QoS-ID AVP
together to the QoSBlob AVP. All parameters followed by the QoSBlob-Type AVP refer to
the same QoS model/profile. </t>
<t>
<figure>
<artwork><![CDATA[
QoSBlob-Group ::= < AVP Header: XXX >
{ QoS-ID }
{ QoS-ObjectType }
{ QoS-Profile }
0* [ QoSBlob ]
* [ AVP ]
]]></artwork>
</figure>
</t>
<t>It is possible to have predefined QoS profiles that contains very specific QoS values
and refer to it only using a specifically assigned QoS-Profile AVP value. In this
case including QoSBlob AVP is not needed. </t>
</section>
<section title="QoS-ID AVP">
<t>The QoS-ID AVP (AVP Code TBD) is of type Unsigned32 and references the QoSBlob. </t>
</section>
<section title="QoS-ObjectType">
<t>The QoS-ObjectType AVP (AVP Code TBD) is of type Enumerated and provides the semantic
for the content of the QoSBlob AVP. </t>
<t>This document defines the following values: <figure>
<artwork><![CDATA[
(0): QoS-Desired
(1): QoS-Available
(2): QoS-Reserved
(3): Minimum-QoS
(4): QoS-Authorized
]]></artwork>
</figure>
</t>
</section>
<section title="QoSBlob AVP">
<t> The QoSBlob AVP (AVP Code TBD) is of type OctetString and contains Quality of
Service parameters. These parameters are defined in a separate document, see <xref
target="I-D.ietf-dime-qos-parameters"/>. </t>
</section>
<section title="QoS-Flow-State AVP">
<t> The QoS-Flow-State AVP (AVP Code TBD) is of type Enumerated. It gives an indication
as to how the flow has to be treated. The Extended-QoS-Filter-Rule already provides
an indicate whether a flow is permitted or denied. This optional AVP provides
additional information about the treatment. Currently, a single value is defined;
further values are available via IANA registration. <figure>
<artwork><![CDATA[
Value | Name and Semantic
------+------------------------------------------------------------
0 | QOS_FLOW_STATE_PENDING - The QoS reservation is kept
| pending. The QoS resources are not installed and subsequent
| QoS signaling is necessary to active them.
]]></artwork>
</figure>
</t>
</section>
<!-- JiK -->
<section title="QoS-Flow-Direction AVP">
<t> The QoS-Flow-Direction AVP (AVP Code TBD) is of type Enumerated. It gives an
indication of the direction the provided QoS information should be applied to. The
QoS information can be applied to downlink flows or to uplink flows. The
QoS-Flow-Direction AVP may be used in conjunction with the NAS-Traffic-Rule AVP. In a
case conflicting definitions between the QoS-Flow-Direction and the NAS-Traffic-Rule,
the QoS-Flow-Direction has precedence meaning the filter rules are applied only to
the flows going to the direction indicated by the QoS-Flow-Direction AVP. In the
absence of the QoS-Flow-Direction the default treatment is to both directions.
Currently, three values are defined; further values are available via IANA
registration.</t>
<t>
<figure>
<artwork><![CDATA[
Value | Name and Semantic
------+------------------------------------------------------------
0 | QOS_FLOW_DIRECTION_BOTH - The QoS information in applied to
| both downlink and uplink flows. This is also the default.
1 | QOS_FLOW_DIRECTION_DL - The QoS information in applied to
| downlink flows only.
2 | QOS_FLOW_DIRECTION_UL - The QoS information in applied to
| uplink flows only.
]]></artwork>
</figure>
</t>
</section>
</section>
<section title="Semantics of QoS Parameters">
<t>The QoS parameters carried in the QoS-Resources AVP may appear in different messages.
The semantic of the QoS parameters depend on the information provided in the Object Type
defined in <xref target="I-D.ietf-dime-qos-parameters"/>. The Object Type currently
lists 5 values, namely QoS-Desired (0), QoS-Available (1), QoS-Reserved (2), Minimum-QoS
(3), and QoS-Authorized (4). </t>
<t> The semantics of the different Object Types are as follows: <figure>
<artwork><![CDATA[
Object Type Direction Semantic
----------------------------------------------------------------------
QoS-Desired C->S Please authorize the indicated QoS
QoS-Desired C<-S NA
QoS-Available C->S Adminission Control at router indicates
that this QoS is available. (note 1)
QoS-Available C<-S Indicated QoS is available. (note 2)
QoS-Reserved C->S Used for reporting during accounting.
QoS-Reserved C<-S NA
Minimum-QoS C->S Indicates that the client is not interested
interested in authorizing QoS that is
lower than Min. QoS
Minimum-QoS C<-S The client must not provide QoS guarantees
lower than Min. QoS
QoS-Authorized C->S NA
QoS-Authorized C<-S Indicated QoS authorized
Legend:
C: Diameter client
S: Diameter server
NA: Not applicable to this document;
no semantic defined in this specification
Notes:
(1) QoS-Available is only useful in relationship with QoS-Desired
(and optionally with Minimum-QoS).
(2) QoS-Available is only useful when the AAA server performs
admission control and knows about the resources in the network.
]]></artwork>
</figure>
</t>
</section>
<!-- =================================================================================== -->
<section title="Examples">
<t>This section shows a number of signaling flows where QoS negotiation and authorization
is part of the conventional NASREQ, EAP or Credit Control applications message
exchanges.</t>
<section title="Diameter EAP with QoS Information">
<t><xref target="diameter-eap-message-flow"/> shows a simple signaling flow where a NAS
(Diameter Client) announces its QoS awareness and capabilities included into the DER
message and as part of the access authentication procedure. Upon completion of the
EAP exchange, the Diameter Server provides a pre-provisioned QoS profile with the
QoS-ObjectType in the QoSBlob-Group AVP set to "QoS-Authorized", to the NAS in the
final DEA message. <figure
title="Example of a Diameter EAP enhanced with QoS Information"
anchor="diameter-eap-message-flow">
<artwork><![CDATA[
End Diameter Diameter
Host Client server
| | |
| (initiate EAP) | |
|<------------------------------>| |
| | Diameter-EAP-Request |
| | EAP-Payload(EAP Start) |
| | QoS-Capability |
| |------------------------------->|
| | |
| | Diameter-EAP-Answer |
| Result-Code=DIAMETER_MULTI_ROUND_AUTH |
| | EAP-Payload(EAP Request #1) |
| |<-------------------------------|
| EAP Request(Identity) | |
|<-------------------------------| |
: : :
: <<<more message exchanges>>> :
: : :
| | |
| EAP Response #N | |
|------------------------------->| |
| | Diameter-EAP-Request |
| | EAP-Payload(EAP Response #N) |
| |------------------------------->|
| | |
| | Diameter-EAP-Answer |
| | Result-Code=DIAMETER_SUCCESS |
| | EAP-Payload(EAP Success) |
| | [EAP-Master-Session-Key] |
| | (authorization AVPs) |
| | QoS-Resources(QoS-Authorized) |
| |<-------------------------------|
| | |
| EAP Success | |
|<-------------------------------| |
| | |
]]></artwork>
</figure>
</t>
</section>
<section title="Diameter NASREQ with QoS Information">
<t><xref target="diameter-nasreq-flow"/> shows a similar pre-provisioned QoS signaling
as in <xref target="diameter-eap-message-flow"/> but using the NASREQ application
instead of EAP application. </t>
<t>
<figure title="Example of a Diameter NASREQ enhanced with QoS Information"
anchor="diameter-nasreq-flow">
<artwork><![CDATA[
End Diameter
Host NAS Server
| | |
| Start Network | |
| Attachment | |
|<---------------->| |
| | |
| |AA-Request |
| |NASREQ-Payload |
| |QoS-Capability |
| +----------------------------->|
| | |
| | AA-Answer|
| Result-Code=DIAMETER_MULTI_ROUND_AUTH|
| NASREQ-Payload(NASREQ Request #1)|
| |<-----------------------------+
| | |
| Request | |
|<-----------------+ |
| | |
: : :
: <<<more message exchanges>>> :
: : :
| Response #N | |
+----------------->| |
| | |
| |AA-Request |
| |NASREQ-Payload ( Response #N )|
| +----------------------------->|
| | |
| | AA-Answer|
| | Result-Code=DIAMETER_SUCCESS|
| | (authorization AVPs)|
| |QoS-Resources(QoS-Authorized) |
| |<-----------------------------+
| | |
| Success | |
|<-----------------+ |
| | |
]]></artwork>
</figure>
</t>
</section>
<section title="QoS Authorization">
<t><xref target="diameter-authz-only-message-flow"/> shows an example of authorization
only QoS signaling as part of the NASREQ message exchange. The NAS provides the
Diameter server with the "QoS-Desired" QoS-ObjectType AVP included in the
QoS-Resources AVP. The Diameter server then either authorizes the indicated QoS or
rejects the request and informs the NAS about the result. In this scenario the NAS
does not need to include the QoS-Capability AVP in the AAR message as the
QoS-Resources AVP implicitly does the same and also the NAS is authorizing a specific
QoS profile, not a pre-provisioned one. </t>
<t>
<figure title="Example of an Authorization-Only Message Flow"
anchor="diameter-authz-only-message-flow">
<artwork><![CDATA[
End Diameter
Host NAS Server
| | |
| | |
| QoS Request | |
+----------------->| |
| | |
| |AA-Request |
| |Auth-Request-Type=AUTHORIZE_ONLY
| |NASREQ-Payload |
| |QoS-Resources(QoS-Desired) |
| +----------------------------->|
| | |
| | AA-Answer|
| | NASREQ-Payload(Success)|
| | QoS-Resources(QoS-Authorized)|
| |<-----------------------------+
| Accept | |
|<-----------------+ |
| | |
| | |
| | |
]]></artwork>
</figure>
</t>
</section>
<section title="Diameter Server Initiated Re-authorization of QoS">
<t><xref target="diameter-re-auth-flow"/> shows a message exchange for a Diameter server
initiated QoS re-authorization procedure. The Diameter server sends the NAS a RAR
message requesting re-authorization for an existing session and the NAS acknowledges
it with a RAA message. The NAS is aware of its existing QoS profile and information
for the ongoing session that the Diameter server requested for re-authorization.
Thus, the NAS must initiate re-authorization of the existing QoS profile. The
re-authorization procedure is the same as in <xref
target="diameter-authz-only-message-flow"/>. </t>
<t>
<figure title="Example of a Server-initiated Re-Authorization Procedure"
anchor="diameter-re-auth-flow">
<artwork><![CDATA[
End Diameter
Host NAS Server
| | |
| | |
: : :
: <<<Initial Messag Exchanges>>> :
: : :
| | |
| | RA-Request |
| |<-----------------------------+
| | |
| |RA-Answer |
| |Result-Code=DIAMETER_SUCCESS |
| +----------------------------->|
| | |
| | |
| |AA-Request |
| |NASREQ-Payload |
| |Auth-Request-Type=AUTHORIZE_ONLY
| |QoS-Resources(QoS-Desired) |
| +----------------------------->|
| | |
| | AA-Answer|
| | Result-Code=DIAMETER_SUCCESS|
| | (authorization AVPs)|
| | QoS-Resources(QoS-Authorized)|
| |<-----------------------------+
| | |
]]></artwork>
</figure>
</t>
</section>
<section title="Diameter Credit Control with QoS Information">
<t>In this case the User is charged as soon as the Service Element (CC client) receives
the service request. In this case the client uses the "QoS-Desired" QoS-ObjectType
parameter in the QoS-Resources AVP that it sends to the Accounitng server. The server
responds with a "QoS-Available" QoS-ObjectType parameter in the QoS-Resources AVP
<figure title="Example for a One-Time Diameter Credit Control Charging Event"
anchor="dcc-initial">
<artwork><![CDATA[
Service Element
End User (CC Client) B CC Server
| | | |
|(1) Service Request | | |
|-------------------->| | |
| |(2) CCR (event, DIRECT_DEBITING,|
| | QoS-Resources[QoS-desired]) |
| |-------------------------------->|
| |(3) CCA (Granted-Units, QoS- |
| | Resources[QoS-Authorized]) |
| |<--------------------------------|
|(4) Service Delivery | | |
|<--------------------| | |
|(5) Begin service | | |
|<------------------------------------>| |
| | | |
. . . .
. . . .
]]></artwork>
</figure>
</t>
</section>
</section>
<!-- ==================================================================================== -->
<section title="AVP Occurrence Tables">
<section title="DER and DEA Commands AVP Table">
<t>The following table lists the Quality of Service specific AVPs defined in this
document that may be present in the DER and DEA Commands, as defined in this document
and in <xref target="RFC4072"/>.</t>
<t>
<figure anchor="eapavptable" title="DER and DEA Commands AVP table">
<artwork><![CDATA[
+---------------+
| Command-Code |
|-------+-------+
Attribute Name | DER | DEA |
-------------------------------+-------+-------+
QoS-Capability | 0-1 | 0 |
QoS-Resources | 0+ | 0+ |
+-------+-------+
]]></artwork>
</figure>
</t>
</section>
<section title="CCR and CCA Commands AVP Table">
<t>The following table lists the Quality of Service specific AVPs defined in this
document that may be present in the CCR and CCA Commands, as defined in this document
and in <xref target="RFC4006"/>.</t>
<t>
<figure anchor="CCavptable" title="CCR and CCA Commands AVP table">
<artwork><![CDATA[
+---------------+
| Command-Code |
|-------+-------+
Attribute Name | CCR | CCA |
-------------------------------+-------+-------+
QoS-Capability | 0-1 | 0 |
QoS-Resources | 0+ | 0+ |
+-------+-------+
]]></artwork>
</figure>
</t>
</section>
<section title="AAR and AAA Commands AVP Table">
<t>The following table lists the Quality of Service specific AVPs defined in this
document that may be present in the AAR and AAA Commands, as defined in this document
and in <xref target="RFC4005"/>.</t>
<t>
<figure anchor="naspavptable" title="AAR and AAA Commands AVP table">
<artwork><![CDATA[
+---------------+
| Command-Code |
|-------+-------+
Attribute Name | AAR | AAA |
-------------------------------+-------+-------+
QoS-Capability | 0-1 | 0 |
QoS-Resources | 0+ | 0+ |
+-------+-------+
]]></artwork>
</figure>
</t>
</section>
</section>
<!-- ====================================================================== -->
<!--
<section title="Contributors">
<t>The authors would like to thank Mayutan Arumaithurai (mayutan.arumaithurai@gmail.com)
for his work on this document. </t>
</section>
-->
<!-- ====================================================================== -->
<section title="Acknowledgments">
<t>We would like to thank Victor Fajardo, Tseno Tsenov, Robert Hancock, Jukka Manner,
Cornelia Kappler, Xiaoming Fu, Frank Alfano, Avi Lior, Tolga Asveren, Mike Montemurro,
Glen Zorn, Avri Doria, Dong Sun, Tina Tsou, Pete McCann, Georgios Karagiannis and Elwyn
Davies for their comments. </t>
</section>
<!-- ====================================================================== -->
<section title="IANA Considerations">
<!-- <t>Diameter reserves the AVP Codes 0 - 255 for RADIUS functions that are implemented in
Diameter. AVPs new to Diameter have code values of 256 and greater.</t>
-->
<t> This specification requests IANA to assignment of new AVPs from the AVP Code namespace
defined in RFC 3588 <xref target="RFC3588"/>. <xref target="qos-new-avps"/> lists the
newly defined AVPs. </t>
<!-- <t>This specification also specifies the use of AVPs in the 0 - 255 range, which are
defined in 'RADIUS Types', see http://www.iana.org/assignments/radius-types. These
values are assigned by the policy in Section 6 of RFC 2865 <xref target="RFC2865"/> and
are amended by RFC 3575 <xref target="RFC3575"/>. </t>
-->
<t>IANA is requested to allocate a registry for the QoS-ObjectType. The following values
are allocated by this specification. <figure>
<artwork><![CDATA[
(0): QoS-Desired
(1): QoS-Available
(2): QoS-Reserved
(3): Minimum-QoS
(4): QoS-Authorized
]]></artwork>
</figure>
</t>
<t>A specification is required to add a new value to the registry. A standards track
document is required to depreciate, delete, or modify existing values. </t>
<!-- QoS-Flow-State -->
<t>IANA is requested to allocate a registry for the QoS-Flow-State. The following values
are allocated by this specification. <artwork><![CDATA[
Value | Name
------+------------------------------------------------------------
0 | QOS_FLOW_STATE_PENDING
]]></artwork>
</t>
<t>A specification is required to add a new value to the registry. A standards track
document is required to depreciate, delete, or modify existing values. </t>
<!-- QoS-Flow-Direction -->
<t>IANA is requested to allocate a registry for the QoS-Flow-Direction. The following
values are allocated by this specification. <artwork><![CDATA[
Value | Name
------+------------------------------------------------------------
0 | QOS_FLOW_DIRECTION_BOTH
1 | QOS_FLOW_DIRECTION_DL
2 | QOS_FLOW_DIRECTION_UL
]]></artwork>
</t>
<t>A specification is required to add a new value to the registry. A standards track
document is required to depreciate, delete, or modify existing values. </t>
</section>
<!-- ====================================================================== -->
<section title="Security Considerations">
<t> This document describes the extension of Diameter for conveying Quality of Service
information. The security considerations of the Diameter protocol itself have been
discussed in RFC 3588 <xref target="RFC3588"/>. Use of the AVPs defined in this document
MUST take into consideration the security issues and requirements of the Diameter Base
protocol. </t>
</section>
<!-- ====================================================================== -->
</middle>
<back>
<references title="Normative References"> &RFC2119; &RFC2234; &RFC3588;
&RFC4006; &RFC4005; &I-D.ietf-dime-qos-parameters;
&I-D.ietf-radext-filter-rules; &RFC4072; </references>
<references title="Informative References"> </references>
</back>
<!-- ====================================================================== -->
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 02:58:14 |