Authentication, Authorization and F. Alfano Accounting P. McCann Internet-Draft Lucent Technologies Expires:January 19,March 9, 2006 H. Tschofenig T. Tsenov SiemensJuly 18,September 5, 2005 Diameter Quality of Service Applicationdraft-alfano-aaa-qosprot-03.txtdraft-alfano-aaa-qosprot-04.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire onJanuary 19,March 9, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document describes a DiameterApplicationapplication that performs Authentication, Authorization, and Accounting for Quality of Service (QoS) reservations. This protocol is used by elements along the path of a given application flow to authenticate a reservation request, ensure that the reservation is authorized, and to account for resources consumed during the lifetime of the application flow. Clients that implement the Diameter QoS application contact an authorizing entity/application server that is located somewhere in the network, allowing for a wide variety of flexible deployment models. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 63.13.1. Network element functional model . . . . . . . . . . . . . 73.23.2. Authorization models . . . . . . . . . . . . . . . . . . . 93.33.3. QoS authorization considerations . . . . . . . . . . . . .1012 4. Diameter QoS Authorization session establishment and management . . . . . . . . . . . . . . . . . . . . . . . . . .14 4.1 Session parties' functional description15 4.1. Involved parties . . . . . . . . .14 4.1.1 End-user initiator of the QoS signaling session . . . 14 4.1.2 QoS policy aware transport plane element functionality .. . . . . . . . . . . . 15 4.2. Initial QoS authorization (Diameter QoS authorization session establishment) . . . . . . .15 4.1.3 Authorizing Entity functionality. . . . . . . . . . .16 4.215 4.3. QoS authorization session re-authorization . . . . . . . .16 4.2.118 4.3.1. Client-side initiated Re-Authorization . . . . . . . .16 4.2.219 4.3.2. Server-side initiated Re-Authorization . . . . . . . .16 4.320 4.4. Server-side initiated QoS parameter provisioning . . . . .17 4.421 4.5. Session Termination . . . . . . . . . . . . . . . . . . .17 4.4.122 4.5.1. Client-side initiated session termination . . . . . .17 4.4.222 4.5.2. Server-side initiated session termination . . . . . .1723 5. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . .1825 6. Diameter QoS authorization application Messages . . . . . . .19 6.127 6.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . .20 6.228 6.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . .. . . 20 6.328 6.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . .. . . 21 6.429 6.4. QoS-InstallRequestAnswer (QAA) . . . . . . . . . . . . . . . . . 30 6.5. Accounting Request (ACR) . .22 7. Diameter QoS Authorization Application AVPs. . . . . . . . .23 7.1 Diameter Base Protocol AVPs. . . . . . 30 6.6. Accounting Answer (ACA) . . . . . . . . .23 7.2 Credit Control application AVPs .. . . . . . . . 31 7. Diameter QoS Authorization Application AVPs . . . .23 7.3 Authentication/Authorization AVPs. . . . . 32 7.1. Diameter Base Protocol AVPs . . . . . . .24 7.4 Accounting AVPs. . . . . . . . 32 7.2. Credit Control application AVPs . . . . . . . . . . . . .24 7.5 Diameter QoS Application Defined32 7.3. Accounting AVPs . . . . . . . . . .24 8. Examples . . .. . . . . . . . . . . 33 7.4. Diameter QoS Application Defined AVPs . . . . . . . . . . 33 8. Examples . . .29 9. Security Considerations. . . . . . . . . . . . . . . . . . .33 10. Contributors. . . . . 37 9. Security Considerations . . . . . . . . . . . . . . . . . . .34 11.40 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . .35 12.. 41 11. Open Issues . . . . . . . . . . . . . . . . . . . . . . . .36 13.. 42 12. References . . . . . . . . . . . . . . . . . . . . . . . . .37 13.1. 43 12.1. Normative References . . . . . . . . . . . . . . . . . . .37 13.243 12.2. Informative References . . . . . . . . . . . . . . . . . .3743 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .39. . 45 Intellectual Property and Copyright Statements . . . . . . . .40. . 46 1. Introduction To meet the Quality of Service needs of applications such as Voice- over-IP in a heavily loaded network, packets belonging to real-time application flows must be identified and segregated from other traffic to ensure that bandwidth, delay, and loss rate requirements are met. In addition, new flows should not be added to the network when it is at or near capacity, which would result in degradation of quality for all flows carried by the network. In some cases, these goals can be achieved with mechanisms such as differentiated services and/or end-to-end congestion and admission control. However, when bandwidth is scarce and must be carefully managed, such as in cellular networks, or when applications and transport protocols lack the capability to perform end-to-end congestion control, explicit reservation techniques are required. In these cases, the endpoints will send reservation requests to edge and/or interior nodes along the communication path. In addition to verifying whether resources are available, the recipient of a reservation request must also authenticate and authorize the request, especially in an environment where the endpoints are not trusted. In addition, these nodes will generate accounting information about the resources used and attribute usage to the requesting endpoints. This will enable the owner of the network element to generate usage- sensitive billing records and to understand how to allocate new network capacity. A variety of protocols could be used to make a QoS request, including RSVP [RFC2210], NSIS [I-D.ietf-nsis-qos-nslp], link-specific signaling or even SIP/SDP [RFC2327]. This documentfocuses on supporting the NSIS QoS NSLP. This will have an implication on the content and format of the flow identifiers and QoS attributes that represent a particular reservation request within the Diameter QoS application; however, other aspects of its operation can easily be generalizedaims toother QoS signaling protocols. The Diameter QoS application couldbeused directly in the context of these other reservation protocols, given the definition of a suitable conversion betweenagnostic to therepresentationsusedby those protocolsQoS signaling protocol and to theones used by NSIS.signaled QoS model. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. The following terms are used in this document: Application Server 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 will 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 is that entity responsible for authorizing QoS requests for a particular applicationflow.flow or aggregate. This may be aAAADiameter server (with a subscriber database) or an application serveror some other entity.acting as a Diameter server. AAA Cloud A network of AAA proxy/broker arrangements.Furthermore, we use terminology definedNetwork Element (NE) QoS aware router that acts as Diameter client that implements the Diameter QoS application in[RFC3588].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]) from a functionality point of view. 3. Framework The Diameter QoS application runs between a network element receiving QoS reservation requests (acting as a AAA client) and the resource authorizing entity (acting as a AAA server). A high-level picture of the resulting architecture is shown in Figure 1.+-------------+ | Resource |+-----------------+ | Authorizing | | Entity |+-----+-------+|(Diameter Server)| +-------+---------+ | | /\-----+-----/\ //// \\\\ |||| |AAA Cloud || | (Diameter application) | || || \\\\ //// \-------+-----/ | +---+--+ +-----+----+ +---+--++---+--+ Application| | | NE | | |===============+ NE +===+Application + NE +===+(Diameter +===+ NE+========>> Flow+=============>> | | | Client) | | | Flow +------++------++----------+ +------+ Figure 1: An Architecture supporting QoS-AAA Figure 1 depicts network elements through which application 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.RoutersQoS aware network elements will request authorizationfor QoSfrom the AAAcloud,cloud based on an incoming QoS reservation request, which will route the request, for example, to the home network where the home authorizing entity will returnauthorizing information.the result of the authorization decision. In more complex deployment models, the authorization will be based on dynamic application state, so that the request must be authenticated and authorized based on information from one or more application servers. 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.13.1. Network element functional model Figure 2 depicts a logical operational model of resource management in a router. +-----------------------------------------------------+ | DIAMETER Client | | Functionality | | +---------------++---------------++---------------+ | | | User || Authorization || Accounting | | | | Authentication|| of QoS || for QoS | | | +---------------+| Requests || Traffic | | | +---------------++---------------+ | +-----------------------------------------------------+ ^ ^ v 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.23.2. Authorization modelsWith respect to NSIS signaling, different authorizationThree fundamental modelshave been investigatedfor authorizing QoS reservations exist: one two-party anddiscussed in detail in [I-D.tschofenig-nsis- aaa-issues]two three party models. See [I-D.tschofenig-nsis-aaa- issues] and in[I-D.tschofenig-nsis-qos-authz-issues].[I-D.tschofenig-nsis-qos-authz-issues] for a more detailed discussion of authorization models and the impact for QoS reservations. From the Diameter QoS application's point of view these models differ in type of information that need to be carried. Here we focus on the 'Three partyapproach' modelmodel' (Figure 3) and the'TokenToken based three partyapproach' modelmodel' (Figure 4). With the 'Two party model' 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 |----------------->|BENE | . | requesting | | performing | . | resource |granted / rejected| QoS | <.....+ | |<-----------------| reservation | financial +-------------+ +--------------+ settlement Figure 3: Three PartyApproach InModel With the 'Three partyapproach' model,model' aresourceQoS reservation requestbythat hits theend hostNetwork Element isreceived at the router in the local network and then sentforwarded to the Authorizing Entity (e.g., the user's homenetwork (after processing)network), where the authorization decision isprovided. The response is then returned and resources are granted (in case ofmade. A business relationship, such as asuccessful authorization decision). The interactionroaming agreement, between the visited network and the home networkestablishes the necessary financial infrastructure to later chargeensures that theuservisited network is compensated for the consumedresources.resources of the user via the home network. financial settlement ...........................+ Authorization V ------- . Token Request +--------------+ / QoS AAA \ . +-------------->|Entity| / protocol \ . | |authorizingAuthorizing +--------------+ \ . | |resourceEntity | | | | . | +------+request|<--+----+ | | . | | +--------------+ |QoS | |QoS |. | | |authz| |authz|. | |Authorization |req.+| |res. |. | |Token |Token| | |. | | | | | . | . | | \ | | . / . | | \ | | / . | | QoS request |-----V . . +-------------+ + Authz. Token +--------+-----+ . | Entity |----------------->|BENE | . | requesting | | performing | . | resource |granted / rejected| QoS | <....+ | |<-----------------| reservation | +-------------+ +--------------+ Figure 4: Token basedthree party approachThree Party Model Thetoken'Token basedthree party approachThree Party model' is applicableinto environments where a previous protocol interaction is used to request authorization tokens(or something similar)to assist the authorization process at theentity performingNetwork Element or the Authorizing Entity. The QoSreservation. A host contactsresource requesting entity may be involved in an application layer protocol interaction, for example using SIP, with the AuthorizingentityEntity. As part of this interaction, authentication andobtainsauthorization 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 arequested service priorNetwork Element that receives the QoS signaling message tosending aauthorize the QoSreservationrequest.It includesAlternatively, the Diameter QoS application will be used to forward the authorization tokenin its reservation request and thisto the user's home network. The authorization tokenis used inallows therouters alongauthorization decision performed at theflow path forapplication layer protocol run to be associated with a corresponding QoSauthorization. (e.g.signaling session. Note that the authorization tokenis included in QoS AAA messages betweenmight either refer to established state concerning therouter andauthorization 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 Authorizingentity.) 3.3Entity (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], with the OSP [ETSI-OSP] or as outlined in [I-D.ietf-sipping-trait-authz] and [I-D.tschofenig-sip-saml]. 3.3. QoS authorization considerations A QoS authorization 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.In addition, real-time signaling for QoS provisioning requires a QoS authorization application to support flexible and fast authentication and authorization methods.Satisfyingthesethe requirements listed below requirements 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 isreviewed in details in [I-D.alfano-aaa-qosreq]. A short list isprovided 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 theauthorizing entity based on the identity information given in the QoS signaling protocol.Authorizing Entity. 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 MUST 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 MUST send accounting records for a particular application flow to the authorizing entity for that flow or to another entity identified by the authorizing 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 MUST 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 DiameterCredit Control [I-D.ietf-aaa-diameter-cc] and DiameterNASREQ[I-D.ietf- aaa-diameter-nasreq][RFC4005] is required for exchange of authorization, authentication and accounting information.Deployment scenarios for Diameter QoS applicatuion should be divided into Authorization_Only or Authentication_and_Authorization, depending on the service that a contacted 3-rd party Authorizing entity must provide. Authorization decisions are based on a provided identifier (user or application session) that must be authenticated.Incasesdeployment scenarios, where authenticationis done a priory atof theAuthorizingQoS reservation requesting entityor at the transport plane element by other means,(e.g.,collocated application for network access (NASREQ) or authentication for secured transport channel establishment usedthe user) is done byGIMPS [I-D.ietf- nsis-ntlp] inmeans outside theNSIS,Diameter QoS application protocol interaction the AuthorizingentityEntity 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., TLS handshake in GIST [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 (of if there is no intention to relate it) to a prior authentication. Incases where other authentication mechanisms are not present,this case the Authorizingentity must alsoEntity MUST authenticate theuserQoS reservation requesting entity in order to authorize the QoSrequest.request as part of the Diameter QoS protocol interaction. 4. Diameter QoS Authorization session establishment and management4.1 Session parties' functional description4.1. Involved parties Authorization models supported by this application include3three parties: oThe End-user as the initiator of the QoS signaling session.Resource requesting entity oQoS policy aware transport plane element(s)Network Elements (Diameter QoSapplication client).clients) o AuthorizingentityEntity (Diameter QoSapplication server).server) Note that theEnd-user is an indirect participant in theQoSauthorization session andresource requesting entity isnot directlyonly indirectly involved in theDiameter QoS application session. The End-user may communicate with the Authorizingmessage exchange. This entityvia off-path application level signaling. The End-user communicates withprovides theQoS policy aware network element(s) viatrigger to initiate the Diameter QoS protocol interaction by transmitting QoS signalingprotocol. Considering its indirect role in themessages. The Diameter QoS applicationsession, we briefly include its functional description for clarification purposes. 4.1.1 End-user initiator ofis only executed between the Network Element (i.e., Diameter QoSsignaling session Based on one of the authorization and authentication models, an End- user may be involved in application level service negotiation with an Application server (Authorizing entity). At that time the user requests are validated against their subscriptionclient) andas a result the Application server issues an authorization token totheEnd-user for the negotiated application service andAuthorizing Entity (i.e., Diameter QoSresources. An authorization tokenserver). The QoS resource requesting entity maycontain several pieces of information pertaining tocommunicate with theauthorizedAuthorizing Entity using applicationsession, but at minimum it should contain: o An identifierlayer signaling for negotiation ofthe Application server which issued the token, o An identifierservice parameters. As part ofthethis applicationsessionlayer protocol interaction, forwhich it is issuedexample using SIP, authentication ando Authentication data that guaranteesauthorization might take place (see Figure 4). This message exchange is, however, outside thevalidityscope of this document. This protocol communication might be accomplished using thetoken.NSIS protocol suite, RSVP or a link layer signaling protocol. Apossible structure fordescription of these protocols is also outside theauthorization tokenscope of this document andthe policy element carrying it are proposed in [RFC3520], [ETSI-OSP]. Inadifferent authentication and authorization scenario, which doestight coupling with these protocols is notuse a token generated by the authorizing entity, (General 3 party approach Figure 3), an End-user MAY initiate adesired since this applications aims to be generic. 4.2. Initial QoSsignaling session by generating aauthorization (Diameter QoSReserve message containingauthorization session establishment) Figure 5 shows therequested QoSprotocol interaction between a resourcedescriptionrequesting entity, a Network Element andadditional user identification data, which is used also to locatethe Authorizingentity. The Authorizing entity should use the provided request and credentials in the authentication and authorization process and integrity verification of the QoS request. 4.1.2 QoS policy aware transport plane element functionalityEntity. A request for a QoS reservation received by aPolicy aware node,Network Element initiates a Diameter QoS authorization session. ThePolicy aware nodeNetwork Element generates a QoS-Authorization-Request message (QAR) in which it maps required objects from the QoS signaling message to Diameter AVPs.Depending onAuthorizing Entity's identity (Destination-Host AVP), pointer to thedeployment scenario, information for signalingapplication sessionidentification, Authorizingand/or identity and credentials of the QoS resource requesting entityidentification,(QoS-Authentication-Data, User-Name-ID AVPs), requested QoSdescription, End-user identity, authorization token, End-user authentication credentials and authentication information forparameters (QSPEC AVP), signaling session identifier and/or QoSobjects may allenabled data flows identifiers (Signaling- Session-Id and Flows AVPs) MAY be encapsulated into respective Diameter AVPs and included into the Diameter messagesendsent to the Authorizing Entity. The QAR is sent to a Diameter server that can either be in the realm of the QoS requesting entity(Applicationor also be an application server. When the Diameter QoS server receives the QAR authorization processing starts. Based on the information in the QoS- Authentication-Data, User-Name-ID and QoS-Authorized-Resources AVPs the server determines the authorized QoS resources and flow state (enabled/disabled) from locally available information (e.g., policy information that may be previously established as part of an application layer signaling exchange, orEnd-user's home realm).the user's subscription profile). The authorization decision is then reflected in the response returned to the Diameter client with the QoS-Authorization- Answer message (QAA). Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | +---QoS-Reserve---->| | | +- - - - - QAR - - - - - >| | |(QoS-Resources,Cost, | | | QoS-Auth-Data,User-ID)| | | +--------+--------------+ | | | Authorize request | | | | Keep session data | | | |/Authz-time,Session-Id/| | | +--------+--------------+ | |< - - - - QAA - - - - - -+ | |(Result-Code,CC-Time,Cost| | |QoS-Resources,Authz-time)| | +-------+---------+ | |Install QoS state| | | + | | | Authz. session | | | /Authz-time, | | | CC-Time,Cost/ | | +-------+---------+ | +----------QoS-Reserve---------------> | | | |<---------QoS-Response--------------- |<--QoS-Response----+ | | |=====================Data Flow==========================> | | | +- - - - - ACR - - - - - >| | |(START,QoS-Resources,Cost| | |CC-Time,Acc-Multisess-id)| | | +--------+--------------+ | | | Report for successful | | | | QoS reservation | | | |Update of reserved QoS | | | | resources | | | +--------+--------------+ | |< - - - - ACA - - - - - -+ | | | Figure 5: Initial QoS request authorization The Authorizing Entity keeps authorization session state and SHOULD save additional information for management of the session (e.g., Acc- Multi-Session-Id, Signaling-Session-Id, authentication data) as part of the session state information. A Signaling-session-Id (if present) SHOULD be used together with the generated Acc-Multi- Session-Id AVP for binding the authorization and the accounting session information in case of end host mobility (i.e., to correlate the Diameter sessions that are initiated for the same signaling session from different QoS NE). The final result of the authorization request is provided in the Result-Code AVP of theQoS-Authorization-AnswerQAA message(QAA)sent by the Authorizingentity. DescriptionEntity. In case of successful authorization (i.e., Result-Code = DIAMETER_LIMITED_SUCCESS), information about the authorized QoS resources and the status of the authorized flow (enabled/disabled)areis provided in theincludedQoS-Authorization-Resources AVP of the QAAmessage too. Authorized parameters may bemessage. The QoS information provided via the QAA is installedintoby the QoS Traffic Control function of theQoS policy aware transport plane elementNetwork Element (see Figure 2).Authorization durationOne important piece of information returned from the Authorizing Entity isalso provided intheQAA.authorization lifetime (carried inside the QAA). The authorization lifetime allows the Network Element to determine how long the authorization decision is valid for this particular QoS reservation. A number of factorsMAYmay influence the authorized sessiondurationduration, such as the user's subscription plan or currently available credits at themethod used for QoS negotiation and authorization. Currentlyuser's account (see Section 5). The authorization duration is time-based as specified in [RFC3588].Before expirationFor an extension of the authorization period, a newQoS-Authorization-Request/AnswerQoS-Authorization- Request/Answer message exchangeshouldSHOULD be initiated.After expiration of the authorization lifetime, an explicit request for re-authorization must be sent to the transport plane element using a Re-Auth-Request message (RAR).Further aspects of QoS authorization session maintenanceissues areis discussed inthe following section for Re-Authorization and Session termination (seeSection4.24.3, Section 4.5 and Section4.4). Authorization duration may also be based on data volume transferred on an authorized data flow. After5. The indication of a successfulauthorization, session establishmentQoS reservation andinitiationactivation of the data flow,a Diameter accounting session should be established betweenis done by thetransport plane element andtransmission of an Accountingserver. Accounting information is reported as specified in [RFC3588] with additional extensions specified in a subsequent section for Accounting (Section 5). 4.1.3 Authorizing Entity functionality The Diameter QoS application server receives the initial QoS- Authorization-Request message (QAR). It verifiesRequest (ACR) message, which reports theintegrityparameters of theincluded Authorization-Token AVP (if included) (Figure 4). Based on the info inestablished QoS state: reserved resources, duration of theauthorization token and/orreservation, identification of theprovided user identityQoS enabled flow/QoS signaling session andcredentials, theaccounting parameters. The Diameter QoS serverdeterminesacknowledges theauthorizedreserved QoS resourcesand flow state (enabled/disabled) from a priory negotiated resource information or user subscription profile, and includes this information in an QoS-Authorization-Answer message (QAA). Authorizing entity establishes authorization session state and SHOULD save additional information for management ofwith thesession (Acc- Mulisession-Id, signaling session identifier and authentication data) as part ofAccounting Answer (ACA) message where thesession state info. Signaling session identifier (if present) SHOULD be used together withResult-Code is set to 'DIAMETER_SUCCESS'. Note that thegenerated Acc-Multisession-Id AVP for binding of authorization and accounting session informationreserved QoS resources reported incase of user mobility. The authentication data shouldthe ACR message MAY beused for verification ofless than those initially authorized with QAA message, due to thefreshness and authenticityQoS signaling specific behavior (e.g., receiver- initiated reservations with One-Path-With-Advertisements) specific process ofsubsequentQoSrequests. 4.2negotiation along the data path. 4.3. QoS authorization session re-authorization Client and server-side initiated re-authorizations are considered in the design of the Diameter QoS application.These have impact onWhether theinterworking betweenre- authorization events are transparent for the resource requesting entity or result in specific actions in the QoS signaling protocol is outside the scope of the DiameterandQoS application. It is directly dependent on the capabilities of the QoS signalingprotocols. 4.2.1protocol. 4.3.1. Client-side initiated Re-AuthorizationAs described above, theThe AuthorizingentityEntity provides the duration of the authorization session as part of the QoS-Authorization-Answer message (QAA). At any time before expiration of this period, a newQoS-Authorization-RequestQoS-Authorization- Request message (QAR)mayMAY be sent to theauthorizing entity. It mayAuthorizing Entity. The transmission of the QAR MAY be triggeredby a reception ofwhen the Network Element receives anewQoSReservesignaling messagewhich requests modification ofwith the semantic of modifying an ongoing authorized QoSreservation state. 4.2.2 Server-side initiated Re-Authorization If the client does not re-authorize thesessionbefore it expires, after expiration of theor when authorizationlifetime,lifetime expires or by anexplicitaccounting event (see Section 5)(Figure 6) Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | |=====================Data Flow==========================> | | | | +-------+----------+ | | |Authz-time/CC-Time| | | | expires | | | +-------+----------+ | | +- - - - - QAR - - - - - >| | |(QoS-Resources,Cost, | | | QoS-Auth-Data,User-ID)| | +--------+--------------+ NOTE: | | Authorize requestfor re-authorization| Re-authorization | | Update session data | issent from the Authorizing entitytransparent to | |/Authz-time,Session-Id/| thetransport plane element with an Re-Auth-Request message (RAR). This message should trigger a notificationEnd-Host | +--------+--------------+ |< - - - - QAA - - - - - -+ | |(Result-Code,CC-Time,Cost| | |QoS-Resources,Authz-time)| | +-------+---------+ | | |Update QoSsignaling message sent to the End-user who is expected tostate | | | | + | | | | Authz. session | | | | /Authz-time, | | | | CC-Time,Cost/ | | | +-------+---------+ | | | | | +- - - - - ACR - - - - - >| | |(INTRM,QoS-Resources,Cost| | |CC-Time,Acc-Multisess-id)| | | +--------+--------------+ | | | Update of used QoS | | | |resources/CC-Time,Cost/| | | +--------+--------------+ | |< - - - - ACA - - - - - -+ | | | |=====================Data Flow==========================> | | Figure 6: QoS request re-authorization 4.3.2. Server-side initiated Re-Authorization The Authorizing Entity MAY optionally initiate arefreshingQoSReserve message containingre-authorization by issuing adescription of the refreshed QoS resources. Reception of thisRe-Auth-Request messageat(RAR) as defined in theQoS policy aware node will trigger QoS-Authorization-RequestDiameter base protocol [BASE]. A Network Element client that receives such a RAR message(QAR), which eventually re- authorizes the authorization session and extend its lifetime. At any time during thewith Session-Id matching a currently active QoSauthorizationsession acknowledges the request by sending theAuthorizing server MAY send Re-Auth-Request message (RAR). The transport plane element MUST respond withRe-Auth-Answermessage(RAA) message andsendMUST initiate anotificationQoSsignalingreservation re-authorization by sending a QoS-Authorization-Request (QAR) messageto the End-user, which will triggertowards thepreviously described process of QoS state refresh and re- authorization. 4.3Authorizing entity. 4.4. Server-side initiated QoS parameter provisioning The Authorizingentity (Home Server or Application Server)Entity is enabled to update installed QoS parameters and flow state at theQoS aware transport plane elementsNetwork Element by sending a QoS-Install Request message (QIR).Transport elementsNetwork Elements MUST apply the updates and respond with an QoS-Install Answer message (QIA).An example application of this functionality would be updating of theThis functionality, for example, allows to update already authorized flow status of an established QoS reservation due to a changeofat the applicationservice session. Early initiallayer session (Figure 7). Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | +===================+=Data Flow==========================> | | +--------+--------------+ | | | Gate close event | | | +--------+--------------+ | |< - - - - QIR - - - - - -+ | |(QoS-Resources[QoS-Flow- | | | -State=CLOSE]) | | +-------+---------+ | | |Update QoS state | | | | + | | | | Authz. session | | | |/QoS-Flow-State= | | | | CLOSE/ | | | +-------+---------+ | +====Data Flow=====>X | | +- - - - - QAA - - - - - >| | | (Result-Code) | Figure 7: Server-side initiated QoS parameter provisioning The Authorizing Entity MAY initiate QoS authorization session establishment and QoS reservation state installation (prior to a request from atransport plane element) is allowed. Early installationNetwork Element). Such function requiresavailability of specific information tothat the Authorizingentity, e.g., identityEntity has knowledge of specific information identifying thenodeNetwork Element that should be contacted andidentification ofthe data flow(filter specifications)for which the QoS reservationisshould be established.4.44.5. Session Termination4.4.14.5.1. Client-side initiated session termination A QoS authorization session MAY be terminatedfromby the Diameter clientsideby sending a Session-Termination-Request message (STR) to the Diameter server. This is a Base Diameter protocol functionality and it is defined in [RFC3588]. Session termination can be caused by a QoS signalingtear down messagemessaging requesting to delete an existing QoS reservation state orviait can be caused as a result of a loss of bearer report. After a successful termination of the authorization session, final accounting messagesshouldMUST beexchanged. 4.4.2exchanged (Figure 8). Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | |==Data Flow==>X /Stop of the data flow/ | | | | +---QoS-Reserve---->| | | (TearOn) +- - - - - STR - - - - - >| | | +--------+--------------+ |<--QoS-Response----+ | Remove session state | | | +--------+--------------+ |< - - - - STA - - - - - -+ +-------+-----------+ | |Tear down QoS state| | Report final | | accounting data | +-------+-----------+ +----------QoS-Reserve---------------> | (TearOn) | +- - - - - ACR - - - - - >| |(FINAL,QoS-Resources,Cost| |CC-Time,Acc-Multisess-id)| | +--------+--------------+ | | Report for successful | | | end of QoS session | | +--------+--------------+ |< - - - - ACA - - - - - -+ | | |<---------QoS-Response--------------- | Figure 8: Client-side initiated session termination 4.5.2. Server-side initiated session termination At anytime during a session the Authorizingserver mayEntity MAY send an Abort- Session-Request message (ASR) to thetransport plane elementNetwork Element. This is a Base Diameter protocol functionality and it is defined in [RFC3588]. Possible reasons for initiating the ASR message to the Network Element are insufficientaccountingcredits or session termination at the application layer.ThisThe ASR message results in termination of theauthorizationauthorized session, release of the reserved resources at thetransport plane nodeNetwork Element andsendingtransmission of an appropriate QoS signaling message indicating a notification to othertransport plane elementsNetwork Elements aware of the signaling session.FinalA final accounting message exchangesmust also occur.MUST be triggered as a result of this ASR message exchange (Figure 9). Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | |=====================Data Flow==========================> | | | |< - - - - ASR - - - - - -+ | | | |====Data Flow=====>X | | | | |<--QoS-Notify------+----------QoS-Reserve---------------> | | (TearOn) | +-------+-----------+ | |Tear down QoS state| | | Report final | | | accounting data | | +-------+-----------+ | +- - - - - ASA - - - - - >| | +--------+--------------+ | | Remove session state | | +--------+--------------+ +- - - - - ACR - - - - - >| |(FINAL,QoS-Resources,Cost| |CC-Time,Acc-Multisess-id)| | +--------+--------------+ | | Report for successful | | | end of QoS session | | +--------+--------------+ |< - - - - ACA - - - - - -+ | | |<---------QoS-Response--------------- | Figure 9: Server-side initiated session termination 5. Accounting The Diameter QoS applicationpresented in this document reusesprovides accounting for usage of reserved QoS resources. DiameterAccounting as definedQoS accounting has built-in support for online, duration based accounting. This accounting is based on the notion that the routers making the QoS Authorization Request (Diameter QoS clients) are in[RFC3588]. A definitionthe best position to determine the cost ofnew Accounting attributesthose resources. This cost represents the financial settlement that will be ultimately demanded by the router if the Resource Authorizing Entity authorizes the reservation. In the Diameter QoS application, the router MAY send a Cost- Information AVP ([RFC4006]) in the QAR. If the Cost-Information AVP includes a Cost-Unit AVP ([RFC4006]) then the Cost-Unit SHOULD be "minute". The Cost-Information AVPs represent the cost to allocate the resources requested in the QoS-Authorization-Resources AVP included in the same QAR message. The QAR MAY optionally contain a Tariff-Time-Change AVP ([RFC4006]) which isnecessary, but left for further study. Afterthe time at which the cost will change, asuccessful QoS authorization and startsecond Cost-Information AVP, which is the cost of thetransport plane flow,reserved resources after thetransport plane element startstariff time change, and a second Tariff-Time-Change, which is thecorresponding accounting session by sending an Accounting-Request message (ACR).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 ([RFC4006]) in the QAA messageSHOULD contain necessary attributes to facilitatewhich is thebinding oftotal authorized gate-on time for the service. If the QAR included two Tariff-Time-Change AVPs, the currentaccounting session totime plus thereported authorization session. The Accounting server repliesCC-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 asuccessfully received Accounting- Requestcertain threshold, which allows, for example, support of prepaid users. Each ACR message(ACR) withcontains a triplet of QoS-Authorization-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 anAccounting-AnswerACR message(ACA), which MAY contain instructionsMUST be sent separately forhandlingeach interval defined by the Tariff-Time-Change AVPs and the expiration of the CC-Time returned in the QAA (Figure 6). The Network Element starts an accountingsession, e.g.,session by sending an Accounting-Request message (ACR) after successful QoS reservation and activation of theAccounting-Interim-Interval AVPs.data flow (Figure 5). After every successfulre-authorizationre- authorization procedure thetransport planeNetwork elementSHOULDMUST initiate an interim accounting messageexchange.exchange (Figure 6). After successful session termination thetransport planeNetwork element MUST initiate a final exchange of accounting messageswithfor terminating of theAccounting server.accounting session and reporting final records for the usage of reserved QoS resources (Figure 8). 6. Diameter QoS authorization application Messages The Diameter QoS Application requires the definition of new mandatory AVPs and Command-codes [RFC3588]. Four new Diameter messages are defined along with Command-Codes whose values MUST be supported by all Diameter implementations that conform to this specification. Command-Name Abbrev. Code Reference QoS-Authz-Request QAR [TBD] Section 6.1 QoS-Authz-Answer QAA [TBD] Section 6.2 QoS-Install-Request QIR [TBD] Section 6.3 QoS-Install-Answer QIA [TBD] Section 6.4 In addition, the following Diameter Base protocol messages are used in the Diameter QoS application: Command-Name Abbrev. Code Reference Accounting-Request ACR 271 RFC 3588 Accounting-Request ACR 271 RFC 3588 Accounting-Answer ACA 271 RFC 3588 Re-Auth-Request RAR 258 RFC 3588 Re-Auth-Answer RAA 258 RFC 3588 Abort-Session-Request ASR 274 RFC 3588 Abort-Session-Answer ACA 274 RFC 3588 Session-Term-Request STR 275 RFC 3588 Session-Term-Answer STA 275 RFC 3588 Diameter nodes conforming to this specification MAY advertise support by including the value of TBD (TBD) in the Auth-Application-Id or the Acct-Application-Id AVP of the Capabilities-Exchange-Request and Capabilities-Exchange-Answer commands [RFC3588]. The value of TBD (TBD) MUST be used as the Application-Id in all QAR/ QAA and QIR/QIA commands. The value of TBD (TBD) MUST be used as the Application-Id in all ACR/ ACA commands, because this application defines new, mandatory AVPs for accounting. The value of zero (0) SHOULD be used as the Application-Id in all STR/STA, ASR/ASA, and RAR/RAA commands, because these commands are defined in the Diameter base protocol and no additional mandatory AVPs for those commands are defined in this document.6.16.1. QoS-Authorization Request (QAR) The QoS-Authorization-Request message (QAR) indicated by the Command- Code field set to TDB (TBD) and 'R' bit set in the Command Flags field is used bytransport planeNetwork elements to request quality of service related resource authorization for a given flow. The QAR message MUST carry information for signaling session identification, AuthorizingentityEntity identification, information about the requestedQoS description,QoS, andEnd-user identity.the identity of the QoS requesting entity. In addition, depending on the deployment scenario, an authorizationtoken, End-user authentication credentialstoken and credentials of the QoSobjects authentication information shouldrequesting entity SHOULD be included. The message format is defined as follows: <QoS-Request> ::= < Diameter Header: XXX, REQ, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Destination-Realm } { Auth-Request-Type } [ Destination-Host ] [Signaling-Session-Id ] [ Authorization-Token ] [User-Name ] * [ QoS-Authorization-Resources ] [ QoS-Authentication-Data ] [CC-Corelation-IdCost-Information ] [ Acc-Multisession-Id ] [ Bound-Auth-Session-Id ] * [ AVP ]6.26.2. QoS-Authorization Answer (QAA) The QoS-Authorization-Answer message (QAA), indicated by the Command- Code field set to TBD (TBD) and 'R' bit cleared in the Command Flags field is sent in response to the QoS-Authorization-Request message (QAR). If the QoS authorization request is successfully authorized, the response will include the AVPs to allow authorization of the QoS resources as well as accounting and transport plane gating information. The message format is defined as follows: <QoS-Answer> ::= < Diameter Header: XXX, PXY > < Session-Id > { Auth-Application-Id } { Auth-Request-Type } { Result-Code } { Origin-Host } { Origin-Realm } * [Signaling-Session-IdQoS-Authorization-Resources ] [QoS-Authorization-ResourcesCC-Time ] [ Acc-Multisession-Id ] [Session-lifetimeSession-Timeout ] [ Authz-Session-Lifetime ] [ Authz-Grace-Period ][ Authz-Session-Volume ]* [ AVP ]6.36.3. QoS-Install Request (QIR) The QoS-Install Request message (QIR), indicated by the Command-Code field set to TDB (TBD) and 'R' bit set in the Command Flags field is used by Authorizing entity to install or update the QoS parameters and the flow state of an authorized flow at the transport plane element. The message MUST carry information for signaling session identification or identification of the flow to which the provided QoS rules apply, identity of the transport plane element, description of provided QoS parameters, flow state and duration of the provided authorization. The message format is defined as follows: <QoS-Install-Request> ::= < Diameter Header: XXX, REQ, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Destination-Realm } { Auth-Request-Type } [ Destination-Host ][ Signaling-Session-Id ]* [ QoS-Authorization-Resources ] [ Session-Timeout ] [ Authz-Session-Lifetime ] [ Authz-Grace-Period ] [ Authz-Session-Volume ] * [ AVP ]6.46.4. QoS-InstallRequestAnswer (QAA) The QoS-Install Answer message (QAA), indicated by the Command-Code field set to TBD (TBD) and 'R' bit cleared in the Command Flags field is sent in response to the QoS-Install Request message (QIR) for confirmation of the result of the installation of the provided QoS reservation instructions. The message format is defined as follows: <QoS-Install-Answer> ::= < Diameter Header: XXX,REQ,PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } {Auth-Request-TypeResult-Code } * [ QoS-Authorization-Resources ] * [ AVP ] 6.5. Accounting Request (ACR) The Accounting Request message (ACR), indicated by the Command-Code field set to 271 and 'R' bit set in the Command Flags field is used by Network Element to report parameters of the authorized and established QoS reservation. The message MUST carry accounting information authorized QoS resources and its usage, e.g., QoS-Authorized-Resources, CC-Time, CC- Cost, Acc-Multi-Session-Id. The message format is defined as follows: <Accounting-Request> ::= < Diameter Header: XXX, REQ, PXY > < Session-Id > {Result-CodeAcct-Application-Id } { Destination-Realm } [Signaling-Session-IdDestination-Host ] [ Accounting-Record-Type ] [ Accounting-Record-Number ] * [ QoS-Authorization-Resources ] [ Cost-Information ] [ CC-Time ] [ Acc-Multi-Session-Id ] * [ AVP ] 6.6. Accounting Answer (ACA) The Accounting Answer message (ACA), indicated by the Command-Code field set to 271 and 'R' bit cleared in the Command Flags field is sent in response to the Accounting Request message (ACR) as an acknowledgment of the ACR message and MAY carry additional management information for the accounting session, e.g. Acc-Interim-Interval AVP. The message format is defined as follows: <Accounting-Answer> ::= < Diameter Header: XXX, PXY > < Session-Id > { Acct-Application-Id } [ Result-Code ] [ Accounting-Record-Type ] [ Accounting-Record-Number ] [ Acc-Multi-Session-Id ] * [ AVP ] 7. Diameter QoS Authorization Application AVPs Each of the AVPs identified in the QoS-Authorization-Request/Answer and QoS-Install-Request/Answer messages and the assignment of their value(s) is given in this section.7.17.1. Diameter Base Protocol AVPs The Diameter QoS application uses a number of session management AVPs, defined in the Base Protocol ([RFC3588]). Attribute Name AVP Code Reference [RFC3588] Origin-Host 264 Section 6.3 Origin-Realm 296 Section 6.4 Destination-Host 293 Section 6.5 Destination-Realm 283 Section 6.6 Auth-Application-Id 258 Section 6.8 Result-Code 268 Section 7.1 Auth-Request-Type 274 Section 8.7 Session-Id 263 Section 8.8 Authz-Lifetime 291 Section 8.9 Authz-Grace-Period 276 Section 8.10 Session-Timeout 27 Section 8.13 User-Name 1 Section 8.14 QoS-Filter-Rule 407 Section 6.9 [RFC4005] Some of the listed AVPs require definition and assignment of additional values which is described here: Auth-Application-Id AVP The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to Diameter applications. The value of the Auth-Application-Id for the Diameter QoS application is TBD (TBD).Result-Code AVP The Result-Code AVP indicates if a particular request was completed successfully. Definition of QoS authorization specific Result-Code values is for further study. (TBD) 7.27.2. Credit Control application AVPs Theprocess ofDiameter QoSauthorization andapplication provides accountingof the consumed reserved resources is closely related to credit control over the services provided to a user. An optionforcorrelatingusage ofthereserved QoS resources. Diameter QoS accountingrecordshas built-in support forthe different provided services should be available.online, duration based accounting. For thispurpose, the Diameter QoS application should support appropriatepurpose it re-uses a number of AVPs definedby thein Diameter Credit Controldocument [I-D.ietf-aaa-diameter-cc]. CC-Correlation-Idapplication. [RFC4006]. Attribute Name AVPThe CC-Correlation-IDCode Reference [RFC4006] Cost-Information AVP(AVP code TBD) is of type OcterString and contains information to correlate accounting data generated for different components423 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 theservice, e.g. transport and application level. 7.3 Authentication/Authorizationlisted AVPsAuthentication and authorizationisessential for the Diameter QoS application. Flexibility is desired for deployment into infrastructures with different security features and usage of authentication and authorization applications such as [I-D.ietf-aaa- eap] and [I-D.ietf-aaa-diameter-nasreq]. Multiple methods specified in these applications MIGHT be reused. Alternatively autonomous and QoS-specific authentication methods may be supported depending on the features of the QoS signaling protocols. Therefore, a number of AVPs of related Diameter applications can be used. The three party general approach (see Figure 3) utilizes an EAP based authentication and session key exchange which requires the support of AVPs defineddescribed inthe Diameter-EAP application [I-D.ietf-aaa-eap]. The details of the required attributes for authentication and authorization is for further study. 7.4Section 5 7.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 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 AVP needs 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-IDAcc-Multisession-IDAcc-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.7.57.4. Diameter QoS Application Defined AVPs This section defines the Quality of Service AVPs that are specific to the Diameter QoS application and MAY be included in the Diameter QoS application messages. Unlike the approach followed with RSVP (see [RFC2749]), where the entire RSVP message is encapsulated into a COPS message, only the relevant fields SHOULD be included. This approach avoids a certain overhead of transmitting fields which are irrelevant for the AAA infrastructure. It keeps implementations simpler and it allows the reuse of other Diameter AVPs. The following table describes the Diameter AVPs in the QoS Application, their AVP code values, types, possible flag values, and whether the AVP MAY be encrypted. | AVP Flag rules | |----+---+----+-----|----+ AVP Section | | |SHLD| MUST| | Attribute Name Code Defined Data Type |MUST|MAY| NOT| NOT|Encr| ------------------------------------------+----+---+----+-----+----+ Signaling-Session TBD7.57.4 Unsigned32 | M | P | | V | Y | -Id | | | | | | Flow-ID TBD7.57.4 Unsigned32 | M | P | | V | Y |QoS-Filter-Rule TBD 7.5 QoSFltrRule| M | P | | V | Y |SPI TBD7.57.4 Unsigned32 | M | P | | V | Y | QoS-Flow-State TBD7.57.4 Enumerated | M | P | | V | Y | IND-Flow TBD7.57.4 Grouped | M | P | | V | Y | Flows TBD7.57.4 Grouped | M | P | | V | Y | QSPEC TBD7.57.4 OctetString| M | P | | V | Y | QoS-Auth TBD7.57.4 Grouped | M | P | | V | Y | -Resources | | | | | | QoS-Auth-Data TBD7.57.4 Grouped | M | P | | V | Y |Authorization TBD 7.5 OctetString| MBound-Auth |P | | V | Y|-Token| | | || | Auth-Session-Session-Id TBD7.5 Unsigned327.4 UTF8String | M | P | | V | Y |-Volume | | | | | |------------------------------------------+----+---+----+-----+----+ Signaling-Session-ID Signaling-Session-ID AVP (AVP Code TBD) is of type Unsigned32 and contains a copy of the QoS signaling session identifier, which is a unique identifier of the QoS signaling session that in NSIS case remains unchanged for the duration of the session. Flow-ID The Flow-ID AVP (AVP Code TBD) is of type Unsigned32 and contains identifier of an IP flow.QoS-Filter-Rule The QoS-Filter-Rule AVP (AVP Code TBD) is of type QoSFilterRule and provides filter rules for a packet flow of the user. It would be used in case of the explicit rule provisioning initiated by the Authorizing server, too.SPI The SPI AVP (AVP Code TBD) is of type Unsigned32 and extends the QoS-Filter-Rule AVP to support IPsec protected traffic. QoS-Flow-State The QoS-Flow-State AVP (AVP Code TBD) is of type Enumerated. It gives an indication by the Authorizing entity how the flow MUST be treated. When included in a QAA message, it is instructions to thetransport plane controlQoS network element with regard to the state to which the flow should be set. The supported values are: 0 Open - Enable the transport plane service, for which the signaling is done 1 Close - Disable the transport plane service 2 Maintain - Current state (enabled/disabled) of the transport plane service is maintained The QoS-Flow-State is an optional AVP. When not included in a QAA response, the default behaviour is to immediately allow the flow of packets (Open). IND-Flows The IND-Flows AVP (AVP Code TBD) is of type Grouped and specifies IP Flows via their flow identifiers and filter-rule. IND-Flows ::= <AVP Header> [Flow-Id] [QoS-Filter-Rule] [0-1] [SPI] [0-1] [QoS-Flow-State] Flows The Flows AVP (AVP Code TBD) is of type Grouped and contains all the individual flows that receive the same QoS specified in the included QSPEC. Flows ::= < AVP Header: XXX > [1+]* [ IND-Flows ] QSPEC The QSPEC AVP (AVP Code TBD) is of type OctetString and contains QoS parameter information. Description format is taken from QoS NSLP Qspec template, which is expected to cover all present QoS description methods [I-D.ietf-nsis-qspec]. QoS-Authorization-Resources The QoS-Auth-Resources AVP (AVP Code TBD) is of type Grouped and includes description of the resources that have been requested by the user or authorized by the application server for a particular QoS request. More than one MAY be included into a message. QoS-Auth-Resources ::= < AVP Header: XXX > [0-1] [ Signaling-Session-ID ] [0-1]* [ Flows ] [1] [ QSPEC ] [0-1] [ QoS-Flow-State ] Included QoS-Flow-State AVP SHOULD be overwritten by any included QoS-Flow-State AVPs specified for the individual flows. QoS-Authentication-Data The QoS-Authentication-Data AVP (AVP Code TBD) is of typeGrouped and containsOctetString. It is a container that carries application session or user specific dataused for End-user authentication and integrity protectionthat allows to the Authorizing entity in computation of theQoS signaling messages. (TBD) Authorization-Tokenauthorization decision. Bound-Authentication-Session-Id TheAuthorization-TokenBound-Authentication-Session AVP (AVP Code TBD) is of typeOctetString and SHOULD contain applicationUTF8String. It carries the id of the Diameter authentication sessionauthorization token such asthat is used for theone defined in [RFC3520] (TBD) Authz-Session-Volume The Authz-Session-Volume AVP (AVP Code TBD)network access authentication (NASREQ authentication session). It is used to tie the QoS authorization request to a priory authentication oftype Unsigned32 and containsthemaximum data volume authorizedend host done by a collocated NASREQ application at theAuthorizing entity.QoS NE. 8. Examples This sectionillustrates a general message flowpresents an example ofQoS authorization session establishment(Figure 17) and interworking with NSIS (Figure 18). Figure 17 showstheprotocol exchangeinteraction between theDiameter clientapplication layer signaling and theDiameter server. An incomingQoSreservation request received at the transport plane element invokes sending of QoS-Authorization- Request message {QAR) to the Authorization server. Server replies with QoS-Authorization-Answer message (QAA), which grants reservation of certain resources. After the successful exchange of authorization QAR/QAA messages, the transport plane node starts an accounting session by sending an Accounting-Request message (ACR). The server replies with an Accounting-Answer message (ACA) that MAY include instructions for further handling of the accounting session, such as the Acc-Interim-Period AVP. A possible client-side re-authorization caused by expiration ofsignaling along theauthorization lifetime initiates a QAR/ QAA message exchange. After successful re-authorization an accounting message ACR SHOULD be sent.data path. Theserver relpies to the ACR with an ACA message. Inapplication layer signaling is, in this example,the Application server initiates a session termination. To do this it sends an Abort- Session-Request message (ASR). The client responds with an ASA message andprovided using SIP. Signaling for aSession-Termination-Request message {STR). After receiving the STA message sent by the server, which finalizes the authorization session, the client sends final accounting information withQoS resource reservation is done using theACR message.QoS NSLP. TheACA message fromauthorization of theserver also terminatesQoS reservation request is done by theaccounting session. Router(Diameter client)Diameter QoS application (DQA). End-Host SIP Server----------->Correspondent requesting QoS (DQA Server) Node | |QOS|QoS-Request..|....Application layer SIP signaling.......|..............|.. . |reservation |------------------------------------------->| requestInvite (SDP) | | . . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-> |QoS-Answer/QoS-Auth-Res./. . ||<-------------------------------------------|100 Trying | |Start |Acc-Request/Start,QoS Acc-Msess-ID.../. . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ Invite (SDP)| . . |Accounting |------------------------------------------->|+-.-.-.....-.-.> . . |Acc-Answer/...Acc-Interim-Period.../||<-------------------------------------------|180 SDP' | . . |Authorization|<-.-.-.....-.-.+ . . |LifeTime+--------+--------+ | . . |Expires:|Authorize session| | . . |Re-|QoS-Requestparameters |Authorization|------------------------------------------->||QoS-Answer/QoS-Auth-Res./. . ||<-------------------------------------------|180 (Session parameters) +--------+--------+ |Acc-Request/Interim, Acc-Msess-ID.../. . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ ||------------------------------------------->|. ..|..........................................|... ..........|.. |Acc-Answer/...Acc-Interim-Period.../||<-------------------------------------------| .....................| |Session+------------+ | |Term.||initiate||by ServerNE |Abort-Session-Request |<-------- |<-------------------------------------------||Abort-Session-Answer||------------------------------------------->||Session-Termination-Request|(DQA Client)| ||------------------------------------------->||Session-Termination-Answer||<-------------------------------------------| Accounting+------+-----+ |Acc-Request/Final,Acc-Msess-ID.../|end |------------------------------------------->||Acc-Answer /Final,.../||<-------------------------------------------| Figure 17: Diameter QoS Application Session Figure 18 shows the interaction between NSIS, application layer signaling (e.g., SIP) and the Diameter QoS application. First, a service request is sent from the client to the application server. In response, for example, it returns an authorization token to bind the application layer signaling exchange to the subsequent NSIS signaling session. The authorization token is attached to the NSIS signaling message and the message itself is intercepted by the first NSIS QoS| | |QoS NSLPnode. This router then needs to authorize the QoS request and delegates this responsibility to the Diameter QoS application. This type of authorization model is described in Section 1 and in Section 3.6 of [I-D.ietf-nsis-qos-nslp]. The Diameter QoS Authorization Request (QAR), which includes the authorization token and QoS information, is forwarded to the administrative domain of the application domain for verification. As a response, the authorization decision is returned with the Diameter QoS Answer (QAA) message. Finally, the NSIS QoS NLP aware router acts as an enforcement point. If the authorization decision provided with theReserve | | | +------------------> QAR | | | (POLICY_DATA>v +- - - - -<<AAA>>- - - -> | | QSPEC) v >===>(Destination-Host, | | | v >=======>QoS-Auth-Data, ++------------+ | | >===========>QoS-Authz-Resources, |Authorize | | | |Cost-Info) |QoS resources| | | | ++------------+ | | | QAAmessage was successful then the NSIS signaling message is forwarded further along the path. Otherwise, the QoS NSLP returns an error message to the end host (such as 'Authorization denied'). Diameter QoS Application Enabled Router Application Enforcement Pt Server Application + Client Domain 1 + Domain 2| |+| <- - - - -<<AAA>>- - - -+ |Service Request (QoS)|+------------+------------+------------->|(Result-Code, | |+| |QoS-Authz-Resources, | |+| |CC-Time, |Service Response (QoS', Token)|<------------+------------+-------------+| |Authz-Lifetime) |+| | +---------+--------+ |+||NSIS (Token)| +|+------------> +|Install QoS state1| | | |+|+ Authz. session | | |-+--| +---------+--------+ ||QAR(Token)- + -QAR(Token)||+--------/> + --\-------->| |QoS NSLP Reserve |/ + \| +---------------..............---------> | |/ + \| | | QoS NSLP Response| |QoS NSLP Response <---------------..............---------+ <------------------+ |+| | QoS NSLP Query| |QoS NSLP Query <---------------..............---------+ <------------------+ | |QoS NSLP Reserve |QAA(QoS) + QAA(QoS)| +------------------> QAR |<------+--- + <---+------+| | +- - - - -<<AAA>>- - - -> |+| | +---+---------+ | | |Diameter|Authorize | | | |\ Network /|QoS resources| | | |\ + /QAA +---+---------+ | | <- - - - -<<AAA>>- - - -+ |\ + /| +---------+--------+ |Authorization \- + -/| |Enforcement -+--|Install QoS state2| | |Decision +|+ Authz. session | | |++---------+--------+ | | |+QoS NSLP Reserve | |Allow or Terminate Flow+---------------..............---------> |<-----------+*+------------------------->| QoS NSLP Response| |QoS NSLP Response <---------------..............---------+ <------------------+ |+| | |+/------------------+--Data Flow---------------------------\ \------------------+--------------------------------------/ | | | .-.-.-.-. SIP signaling --------- QoS NSLP signaling - - - - - Diameter QoS Application messages ========= Mapping of objects between QoS and AAA protocol Figure18: Message flow26: Example for a token-based QoS authorization The communication starts withNSISSIP signaling between the two end points andDiameterthe SIP server for negotiation and authorization of the requested service and its parameters (Figure 26). As a part of the process, the SIP server verifies whether the user at Host A is authorized to use the requested service (and potentially the ability to get charged for the service usage). Negotiated session parameters are provided to the end host. Subsequently, Host A initiates a QoSApplicationsignaling message towards Host B. It sends a QoS NSLP Reserve message, in which it includes description of the required QoS (QSPEC object) and authorization data for negotiated service session (part of the POLICY_DATA object). Authorization data includes, as a minimum, the identity of the authorizing entity (e.g., the SIP server) and an identifier of the application service session for which QoS resources are requested. Afuture versionQoS NSLP Reserve message is intercepted and processed by the first QoS aware Network Element. The NE uses the Diameter QoS application to request authorization for the received QoS reservation request. The identity ofthis documentthe Authorizing Entity (in our case the SIP server that is co-located with a Diameter server) is put into the Destination-Host AVP, any additional session authorization data is encapsulated into the QoS-Authentication AVP and the description of the QoS resources is included into QoS-Authorized-Resources AVP. In addition, the NE rates the requested QoS resources and announces the charging rate into the Cost-Information AVP. These AVPs are included into a QoS Authorization Request message, which is sent to the Authorizing entity. A Diameter QAR message willdescribe scenariosbe routed through the AAA network to the Authorizing Entity. The Authorizing Entity verifies the requested QoS against the QoS resources negotiated for the service session and replies withotherQoS-Authorization answer (QAA) message. It carries the authorizationmodels.result (Result-Code AVP) and the description of the authorized QoS parameters (QoS-Authorized-Resources AVP), as well as duration of the authorization session (Authorization-Lifetime AVP) and duration of the time (CC-Time) for which the end-user should be charged with the rate announced in the QAR message. The NE interacts with the traffic control function and installs the authorized QoS resources and forwards the QoS NSLP Reserve message further along the data path. If the data communication might be necessary in both directions, from Host A to Host B and vice versa, a separate QoS signaling communication is required for the reverse direction (with path- coupled signaling). This message exchange is not shown in this example. 9. Security Considerations This document describes a mechanism for performing authorization of a QoS reservation at a third party entity. Therefore, it is necessary the QoS signalingprotocolapplication toforward the necessarycarry 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.To provide proper authorization, authentication might be necessary at leastQoS signaling application MAY re-use the authenticated identities used for thegeneric third party model (described in Section 3.6establishment of[I-D.ietf-nsis-qos-nslp]). Please note thatthe 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 ([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 notprovideddesired then special security protection is required totheensure that arbitrary nodes cannot reuse a previous authentication exchange to perform an authorization decision. Additionally, QoSNSLP router but torwardsauthorization might be based on theusers home network. The conceptusage ofanauthorizationtoken based third party approach is also described intokens that are generated by thesame document.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. Further discussions on the authorization handling for QoS signaling protocols is available with [I-D.tschofenig-nsis-aaa-issues] and [I-D.tschofenig-nsis-qos-authz-issues]. 10.Contributors 11.AcknowledgementsAdd your name here. 12. Open Issues During our work on this document we identified the following open issues: o This Diameter QoS application can reuse a number of other Diameter applications. This is a big advantage over other approaches. This interaction and a list of useful attributes needsThe authors would like tobe collectedthank John Loughney anddescribed. This aspect isAllison Mankin forfurther study. o The NSIS group is currently working on QoS models. As soon as results are available it is feasibletheir input toincorporate them intothisDiameter application to build a complete solution for QoS signaling which uses a backend infrastructure. o Several authorization models have been described in [I-D.ietf- nsis-qos-nslp]. Section 8 currently addresses only the third party approach using authorization tokens. Further work is needed to describe the details of a generic three party scenario. o Section 4.2 raises the question of a re-authorizing capability for the Diameter application. The authors think that such a re- authorization capability would be desirable (e.g., using with the RAR/RAA message exchange). Note that it would require the transport plane signaling protocol (for example RSVP or NSIS)document. 11. Open Issues Open issues related tosupport network-initiated re-auth, which might not always be in place. There should be a failure code for the case where the underlying transport plane signaling protocol does not support it. o The terminology regardingthis draft are listed at the'transport plane node' needs further refinement. 13.issue tracker available at: http://www.tschofenig.com:8080/diameter-qos/ 12. References13.112.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, "Diameter Base Protocol", RFC 3588, September 2003.13.212.2. Informative References [ETSI-OSP] European Telecommunications Standards Institute, "Telecommunications and Internet Protocol Harmonization Over Networks (TIPHON); Open Settlement Protocol (OSP) for Inter-domain pricing, authorization, and usage exchange", TS 101 321.[I-D.alfano-aaa-qosreq] Alfano, F., "Requirements for a QoS AAA Protocol", draft-alfano-aaa-qosreq-01 (work in progress), October 2003. [I-D.ietf-aaa-diameter-cc] Mattila, L., Koskinen, J., Stura, M., Loughney, J., and H. Hakala, "Diameter Credit-control Application", draft-ietf-aaa-diameter-cc-06 (work in progress), August 2004. [I-D.ietf-aaa-diameter-nasreq] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, "Diameter Network Access Server Application", draft-ietf-aaa-diameter-nasreq-17 (work in progress), July 2004. [I-D.ietf-aaa-diameter-sip-app] Garcia-Martin, M., "Diameter Session Initiation Protocol (SIP) Application", draft-ietf-aaa-diameter-sip-app-07 (work in progress), March 2005. [I-D.ietf-aaa-eap] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible Authentication Protocol (EAP) Application", draft-ietf-aaa-eap-10 (work in progress), November 2004.[I-D.ietf-nsis-ntlp] Schulzrinne, H. and R. Hancock, "GIMPS: General Internet Messaging Protocol for Signaling",draft-ietf-nsis-ntlp-06draft-ietf-nsis-ntlp-07 (work in progress),MayJuly 2005. [I-D.ietf-nsis-qos-nslp] Bosch, S.,Karagiannis, G., and A. McDonald,"NSLP for Quality-of-Servicesignaling", draft-ietf-nsis-qos-nslp-06signalling", draft-ietf-nsis-qos-nslp-07 (work in progress),FebruaryJuly 2005. [I-D.ietf-nsis-qspec] Ash, J., "QoS-NSLP QSPEC Template", draft-ietf-nsis-qspec-05 (work in progress), July 2005. [I-D.ietf-sipping-trait-authz] Peterson, J., "Trait-based Authorization Requirements for the Session Initiation Protocol (SIP)", draft-ietf-sipping-trait-authz-01 (work in progress), February 2005. [I-D.tschofenig-nsis-aaa-issues] Tschofenig, H., "NSIS Authentication, Authorization and Accounting Issues", draft-tschofenig-nsis-aaa-issues-01 (work in progress), March 2003. [I-D.tschofenig-nsis-qos-authz-issues] Tschofenig, H., "QoS NSLP Authorization Issues", draft-tschofenig-nsis-qos-authz-issues-00 (work in progress), June 2003. [I-D.tschofenig-sip-saml] Tschofenig, H., "Using SAML for SIP", draft-tschofenig-sip-saml-04 (work in progress), July 2005. [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated Services", RFC 2210, September 1997. [RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description Protocol", RFC 2327, April 1998. [RFC2749] Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R., and A. Sastry, "COPS usage for RSVP", RFC 2749, January 2000. [RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework for Policy-based Admission Control", RFC 2753, January 2000. [RFC3313] Marshall, W., "Private Session Initiation Protocol (SIP) Extensions for Media Authorization", RFC 3313, January 2003. [RFC3520] Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh, "Session Authorization Policy Element", RFC 3520, April 2003. [RFC3521] Hamer, L-N., Gage, B., and H. Shieh, "Framework for Session Set-up with Media Authorization", RFC 3521, April 2003. [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, "Diameter Network Access Server Application", RFC 4005, August 2005. [RFC4006] Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, "Diameter Credit-Control Application", RFC 4006, August 2005. [RFC4027] Josefsson, S., "Domain Name System Media Types", RFC 4027, April 2005. Authors' Addresses Frank M. Alfano Lucent Technologies 1960 Lucent Lane Naperville, IL 60563 USA Phone: +1 630 979 7209 Email: falfano@lucent.com Peter J. McCann Lucent Technologies 1960 Lucent Lane Naperville, IL 60563 USA Phone: +1 630 713 9359 Email: mccap@lucent.com Hannes Tschofenig Siemens Otto-Hahn-Ring 6 Munich, Bavaria 81739 Germany Email: Hannes.Tschofenig@siemens.com URI: http://www.tschofenig.com Tseno Tsenov Siemens Otto-Hahn-Ring 6 Munich, Bavaria 81739 Germany Email: tseno.tsenov@mytum.de Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.