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-20262026-04-24 02:58:14