idnits 2.17.1 draft-ietf-dime-diameter-qos-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 22. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 1704. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1715. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1722. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1728. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (February 26, 2007) is 6241 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'TBD' is mentioned on line 955, but not defined == Unused Reference: 'RFC2486' is defined on line 1620, but no explicit reference was found in the text == Unused Reference: 'RFC2749' is defined on line 1623, but no explicit reference was found in the text == Unused Reference: 'RFC3313' is defined on line 1635, but no explicit reference was found in the text == Unused Reference: 'RFC3520' is defined on line 1639, but no explicit reference was found in the text == Unused Reference: 'RFC3521' is defined on line 1643, but no explicit reference was found in the text == Unused Reference: 'RFC4027' is defined on line 1647, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2234 (Obsoleted by RFC 4234) ** Obsolete normative reference: RFC 3588 (Obsoleted by RFC 6733) ** Obsolete normative reference: RFC 4005 (Obsoleted by RFC 7155) ** Obsolete normative reference: RFC 4006 (Obsoleted by RFC 8506) == Outdated reference: A later version (-20) exists of draft-ietf-nsis-ntlp-11 == Outdated reference: A later version (-18) exists of draft-ietf-nsis-qos-nslp-12 -- Obsolete informational reference (is this intentional?): RFC 2327 (Obsoleted by RFC 4566) -- Obsolete informational reference (is this intentional?): RFC 2486 (Obsoleted by RFC 4282) Summary: 5 errors (**), 0 flaws (~~), 10 warnings (==), 9 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Diameter Maintanence and G. Zorn, Ed. 3 Extensions (DIME) Cisco 4 Internet-Draft P. McCann 5 Intended status: Standards Track Motorola Labs 6 Expires: August 30, 2007 H. Tschofenig 7 Siemens Networks GmbH & Co KG 8 T. Tsou 9 Huawei 10 A. Doria 11 Lulea University of Technology 12 February 26, 2007 14 Diameter Quality of Service Application 15 draft-ietf-dime-diameter-qos-00.txt 17 Status of this Memo 19 By submitting this Internet-Draft, each author represents that any 20 applicable patent or other IPR claims of which he or she is aware 21 have been or will be disclosed, and any of which he or she becomes 22 aware will be disclosed, in accordance with Section 6 of BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF), its areas, and its working groups. Note that 26 other groups may also distribute working documents as Internet- 27 Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt. 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html. 40 This Internet-Draft will expire on August 30, 2007. 42 Copyright Notice 44 Copyright (C) The IETF Trust (2007). 46 Abstract 48 This document describes a Diameter application that performs 49 Authentication, Authorization, and Accounting for Quality of Service 50 (QoS) reservations. This protocol is used by elements along the path 51 of a given application flow to authenticate a reservation request, 52 ensure that the reservation is authorized, and to account for 53 resources consumed during the lifetime of the application flow. 54 Clients that implement the Diameter QoS application contact an 55 authorizing entity/application server that is located somewhere in 56 the network, allowing for a wide variety of flexible deployment 57 models. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 62 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 63 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 6 64 3.1. Network element functional model . . . . . . . . . . . . . 7 65 3.2. QoS Authorization Requirements . . . . . . . . . . . . . . 9 66 4. Diameter QoS Authorization Session Establishment and 67 Management . . . . . . . . . . . . . . . . . . . . . . . . . . 13 68 4.1. Parties involved . . . . . . . . . . . . . . . . . . . . . 13 69 4.2. Diameter QoS Authorization Session Establishment . . . . . 13 70 4.3. QoS authorization session re-authorization . . . . . . . . 17 71 4.3.1. Client-Side Initiated Re-Authorization . . . . . . . . 17 72 4.3.2. Server-Side Initiated Re-Authorization . . . . . . . . 19 73 4.4. Server-Side Initiated QoS Parameter Provisioning . . . . . 19 74 4.5. Session Termination . . . . . . . . . . . . . . . . . . . 20 75 4.5.1. Client-Side Initiated Session Termination . . . . . . 20 76 4.5.2. Server-Side Initiated Session Termination . . . . . . 21 77 5. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 23 78 6. Diameter QoS Authorization Application Messages . . . . . . . 24 79 6.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . . 25 80 6.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 25 81 6.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . . 26 82 6.4. QoS-Install Answer (QIA) . . . . . . . . . . . . . . . . . 27 83 6.5. Accounting Request (ACR) . . . . . . . . . . . . . . . . . 27 84 6.6. Accounting Answer (ACA) . . . . . . . . . . . . . . . . . 28 85 7. Diameter QoS Authorization Application AVPs . . . . . . . . . 29 86 7.1. Diameter Base Protocol AVPs . . . . . . . . . . . . . . . 29 87 7.2. Credit Control Application AVPs . . . . . . . . . . . . . 29 88 7.3. Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 30 89 7.4. Diameter QoS Application Defined AVPs . . . . . . . . . . 30 90 8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 91 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 92 10. Security Considerations . . . . . . . . . . . . . . . . . . . 39 93 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 40 94 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 41 95 13. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 42 96 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 43 97 14.1. Normative References . . . . . . . . . . . . . . . . . . . 43 98 14.2. Informative References . . . . . . . . . . . . . . . . . . 43 99 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 45 100 Intellectual Property and Copyright Statements . . . . . . . . . . 46 102 1. Introduction 104 To meet the Quality of Service needs of applications such as Voice- 105 over-IP in a heavily loaded network, packets belonging to real-time 106 application flows must be identified and segregated from other 107 traffic to ensure that bandwidth, delay, and loss rate requirements 108 are met. In addition, new flows should not be added to the network 109 when it is at or near capacity, which would result in degradation of 110 quality for all flows carried by the network. 112 In some cases, these goals can be achieved with mechanisms such as 113 differentiated services and/or end-to-end congestion and admission 114 control. However, when bandwidth is scarce and must be carefully 115 managed, such as in cellular networks, or when applications and 116 transport protocols lack the capability to perform end-to-end 117 congestion control, explicit reservation techniques are required. In 118 these cases, the endpoints will send reservation requests to edge 119 and/or interior nodes along the communication path. In addition to 120 verifying whether resources are available, the recipient of a 121 reservation request must also authenticate and authorize the request, 122 especially in an environment where the endpoints are not trusted. In 123 addition, these nodes will generate accounting information about the 124 resources used and attribute usage to the requesting endpoints. This 125 will enable the owner of the network element to generate usage- 126 sensitive billing records and to understand how to allocate new 127 network capacity. 129 A variety of protocols could be used to make a QoS request, including 130 RSVP [RFC2210], NSIS [I-D.ietf-nsis-qos-nslp], link-specific 131 signaling or even SIP/SDP [RFC2327]. This document aims to be 132 agnostic to the QoS signaling protocol used and to the QoS model to 133 which the signaling is directed. 135 2. Terminology 137 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 138 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 139 document are to be interpreted as described in RFC 2119 [RFC2119]. 141 The following terms are used in this document: 143 Application Server 145 An application server is a network entity that exchanges signaling 146 messages with an application endpoint. It may be a source of 147 authorization for QoS-enhanced application flows. For example, a 148 SIP server is one kind of application server. 150 Application Endpoint 152 An application endpoint is an entity in an end user device that 153 exchanges signaling messages with application servers or directly 154 with other application endpoints. Based on the result of this 155 signaling, the endpoint will make a request for QoS from the 156 network. For example, a SIP User Agent is one kind of application 157 endpoint. 159 Authorizing Entity 161 The authorizing entity is that entity responsible for authorizing 162 QoS requests for a particular application flow or aggregate. This 163 may be a Diameter server (with a subscriber database) or an 164 application server acting as a Diameter server. 166 AAA Cloud 168 An infrastructure of AAA entities (clients, agents, servers) based 169 on a AAA protocol, which provides trusted secure connections 170 between them. It offers authentication, authorization and 171 accounting services to applications in flexible local and roaming 172 scenarios. Diameter [RFC3588] and RADIUS [RFC2865] are both 173 widely deployed AAA protocols. 175 Network Element (NE) 177 QoS aware router that acts as Diameter client that implements the 178 Diameter QoS application in the context of this document. For 179 almost all scenarios this entity triggers the protocol interaction 180 described in this document. This entity corresponds to the Policy 181 Enforcement Point (PEP) (see [RFC2753]). 183 3. Framework 185 The Diameter QoS application runs between a network element receiving 186 QoS reservation requests (acting as a AAA client) and the resource 187 authorizing entity (acting as a AAA server). A high-level picture of 188 the resulting architecture is shown in Figure 1. 190 +-----------------+ 191 | Authorizing | 192 | Entity | 193 |(Diameter Server)| 194 +-------+---------+ 195 | 196 | 197 /\-----+-----/\ 198 //// \\\\ 199 || AAA Cloud || 200 | (Diameter application) | 201 || || 202 \\\\ //// 203 \-------+-----/ 204 | 205 +---+--+ +-----+----+ +---+--+ 206 | | | NE | | | Application 207 + NE +===+(Diameter +===+ NE +=============>> 208 | | | Client) | | | Flow 209 +------+ +----------+ +------+ 211 Figure 1: An Architecture supporting QoS-AAA 213 Figure 1 depicts network elements through which application flows 214 need to pass, a cloud of AAA servers, and an authorizing entity. 215 Note that there may be more than one router that needs to interact 216 with the AAA cloud along the path of a given application flow, 217 although the figure only depicts one for clarity. QoS aware network 218 elements will request authorization from the AAA cloud based on an 219 incoming QoS reservation request. The AAA entities will route the 220 request to a designated AAA authorizing entity, for example in the 221 home domain. The home authorizing entity will return the result of 222 the authorization decision. 224 In more complex deployment models, the authorization will be based on 225 dynamic application state, so that the request must be authenticated 226 and authorized based on information from one or more application 227 servers. If defined properly, the interface between the routers and 228 AAA cloud would be identical in both cases. Routers are therefore 229 insulated from the details of particular applications and need not 230 know that application servers are involved at all. Also, the AAA 231 cloud would naturally encompass business relationships such as those 232 between network operators and third-party application providers, 233 enabling flexible intra- or inter-domain authorization, accounting, 234 and settlement. 236 3.1. Network element functional model 238 Figure 2 depicts a logical operational model of resource management 239 in a router. 241 +-----------------------------------------------------+ 242 | DIAMETER Client | 243 | Functionality | 244 | +---------------++---------------++---------------+ | 245 | | User || Authorization || Accounting | | 246 | | Authentication|| of QoS || for QoS | | 247 | +---------------+| Requests || Traffic | | 248 | +---------------++---------------+ | 249 +-----------------------------------------------------+ 250 ^ 251 v 252 +--------------+ +----------+ 253 |QoS Signaling | | Resource | 254 |Msg Processing|<<<<<>>>>>>>|Management| 255 +--------------+ +----------+ 256 . ^ | * ^ 257 | v . * ^ 258 +-------------+ * ^ 259 |Signaling msg| * ^ 260 | Processing | * V 261 +-------------+ * V 262 | | * V 263 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 264 . . * V 265 | | * ............................. 266 . . * . Traffic Control . 267 | | * . +---------+. 268 . . * . |Admission|. 269 | | * . | Control |. 270 +----------+ +------------+ . +---------+. 271 <-.-| Input | | Outgoing |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-> 272 | Packet | | Interface | .+----------+ +---------+. 273 ===>|Processing|====| Selection |===.| Packet |====| Packet |.=> 274 | | |(Forwarding)| .|Classifier| Scheduler|. 275 +----------+ +------------+ .+----------+ +---------+. 276 ............................. 277 <.-.-> = signaling flow 278 =====> = data flow (sender --> receiver) 279 <<<>>> = control and configuration operations 280 ****** = routing table manipulation 282 Figure 2: Network element functional model 284 Processing of incoming QoS reservation requests includes three 285 actions: admission control, authorization and resource reservation. 287 The admission control function provides information for available 288 resources and determines whether there are enough resources to 289 fulfill the request. Authorization is performed by the Diameter 290 client function which involves contacting an authorization entity 291 through the AAA cloud shown in Section 3. If both checks are 292 successful, the authorized QoS parameters are set in the packet 293 classifier and the packet scheduler. Note that the parameters passed 294 to the Traffic Control function may be different from requested QoS 295 (depending on the authorization decision). Once the requested 296 resource is granted, the Resource Management function provides 297 accounting information to the Authorizing entity using the Diameter 298 client function. 300 3.2. QoS Authorization Requirements 302 A QoS authorization application must meet a number of requirements 303 applicable to a diverse set of networking environments and services. 304 It should be compliant with different deployment scenarios with 305 specific QoS signaling models and security issues. Satisfying the 306 requirements listed below while interworking with QoS signaling 307 protocols, a Diameter QoS application should accommodate the 308 capabilities of the QoS signaling protocols rather than introducing 309 functional requirements on them. A list of requirements for a QoS 310 authorization application is provided here: 312 Inter-domain support 314 In particular, users may roam outside their home network, leading 315 to a situation where the network element and authorizing entity 316 are in different administrative domains. 318 Identity-based Routing 320 The QoS AAA protocol MUST route AAA requests to the Authorizing 321 Entity, based on the provided identity of the QoS requesting 322 entity or the identity of the Authorizing entity encoded in the 323 provided authorization token. 325 Flexible Authentication Support 327 The QoS AAA protocol MUST support a variety of different 328 authentication protocols for verification of authentication 329 information present in QoS signaling messages. The support for 330 these protocols MAY be provided indirectly by tying the signaling 331 communication for QoS to a previous authentication protocol 332 exchange (e.g., using network access authentication). 334 Making an Authorization Decision 336 The QoS AAA protocol MUST exchange sufficient information between 337 the authorizing entity and the enforcing entity (and vice versa) 338 to compute an authorization decision and to execute this decision. 340 Triggering an Authorization Process 342 The QoS AAA protocol MUST allow periodic and event triggered 343 execution of the authorization process, originated at the 344 enforcing entity or even at the authorizing entity. 346 Associating QoS Reservations and Application State 348 The QoS AAA protocol MUST carry information sufficient for an 349 application server to identify the appropriate application session 350 and associate it with a particular QoS reservation. 352 Dynamic Authorization 354 It MUST be possible for the QoS AAA protocol to push updates 355 towards the network element(s) from authorizing entities. 357 Bearer Gating 359 The QoS AAA protocol MUST allow the authorizing entity to gate 360 (i.e., enable/disable) authorized application flows based on e.g., 361 application state transitions. 363 Accounting Records 365 The QoS AAA protocol MUST define QoS accounting records containing 366 duration, volume (byte count) usage information and description of 367 the QoS attributes (e.g., bandwidth, delay, loss rate) that were 368 supported for the flow. 370 Sending Accounting Records 372 The network element SHOULD send accounting records for a 373 particular QoS reservation state to the authorizing entity, which 374 plays the role of an accounting entity. 376 Failure Notification 378 The QoS AAA protocol MUST allow the network element to report 379 failures, such as loss of connectivity due to movement of a mobile 380 node or other reasons for packet loss, to the authorizing entity. 382 Accounting Correlation 384 The QoS AAA protocol MUST support the exchange of sufficient 385 information to allow for correlation between accounting records 386 generated by the network elements and accounting records generated 387 by an application server. 389 Interaction with other AAA Applications 391 Interaction with other AAA applications such as Diameter Network 392 Access (NASREQ) application [RFC4005] is required for exchange of 393 authorization, authentication and accounting information. 395 In deployment scenarios, where authentication of the QoS reservation 396 requesting entity (e.g., the user) is done by means outside the 397 Diameter QoS application protocol interaction the Authorizing Entity 398 is contacted only with a request for QoS authorization. 399 Authentication might have taken place already via the interaction 400 with the Diameter NASREQ application or as part of the QoS signaling 401 protocol (e.g., Transport Layer Security (TLS) handshake in the 402 General Internet Signaling Transport (GIST) protocol, see 403 [I-D.ietf-nsis-ntlp]). 405 Authentication of the QoS reservation requesting entity to the 406 Authorizing Entity is necessary if a particular Diameter QoS 407 application protocol run cannot be related (or if there is no 408 intention to relate it) to a prior authentication. In this case the 409 Authorizing Entity MUST authenticate the QoS reservation requesting 410 entity in order to authorize the QoS request as part of the Diameter 411 QoS protocol interaction. 413 The document refers to three types of sessions that need to be 414 properly correlated. 416 QoS signaling session 418 The time period during which a QoS signaling protocol establishes, 419 maintains and deletes a QoS reservation state at the QoS network 420 element is referred as QoS signaling session. Different QoS 421 signaling protocols use different ways to identify QoS signaling 422 sessions. The same applies to different usage environments. 423 Currently, this document supports three types of QoS session 424 identifiers, namely a signaling session id (e.g., the Session 425 Identifier used by the NSIS protocol suite), a flow id (e.g., 426 identifier assigned by an application to a certain flow as used in 427 the 3GPP) and a flow description based on the IP parameters of the 428 flow's end points. The details can be found in Section 7.4. 430 Diameter authorization session 432 The time period, for which a Diameter server authorizes a 433 requested service (i.e., QoS resource reservation) is referred to 434 as a Diameter authorization session. It is identified by a 435 Session-Id included in all Diameter messages used for management 436 of the authorized service (initial authorization, re- 437 authorization, termination), see [RFC3588]. 439 Application layer session 441 The application layer session identifies the duration of an 442 application layer service which requires provision of certain QoS. 443 An application layer session identifier is provided by the QoS 444 requesting entity in the QoS signaling messages, for example as 445 part of the authorization token. In general, the application 446 session identifier is opaque to the QoS aware network elements. 447 It is included in the authorization request message sent to the 448 Authorizing entity and helps it to correlate the QoS authorization 449 request to the application session state information. 451 Correlating these sessions is done at each of the three involved 452 entities: The QoS requesting entity correlates the application with 453 the QoS signaling sessions. The QoS network element correlates the 454 QoS signaling session with the Diameter authorization sessions. The 455 Authorizing entity SHOULD bind the information about the three 456 sessions together. Note that in certain scenarios not all of the 457 sessions are present. For example, the application session might not 458 be visible to QoS signaling protocol directly if there is no binding 459 between the application session and the QoS requesting entity using 460 the QoS signaling protocol. 462 4. Diameter QoS Authorization Session Establishment and Management 464 4.1. Parties involved 466 Authorization models supported by this application include three 467 parties: 468 o Resource requesting entity 469 o Network Elements (Diameter QoS clients) 470 o Authorizing Entity (Diameter QoS server) 471 Note that the QoS resource requesting entity is only indirectly 472 involved in the message exchange. This entity provides the trigger 473 to initiate the Diameter QoS protocol interaction by transmitting QoS 474 signaling messages. The Diameter QoS application is only executed 475 between the Network Element (i.e., Diameter QoS client) and the 476 Authorizing Entity (i.e., Diameter QoS server). 478 The QoS resource requesting entity may communicate with the 479 Authorizing Entity using application layer signaling for negotiation 480 of service parameters. As part of this application layer protocol 481 interaction, for example using SIP, authentication and authorization 482 might take place. This message exchange is, however, outside the 483 scope of this document. The protocol communication between the the 484 QoS resource requesting entity and the QoS Network Element might be 485 accomplished using the NSIS protocol suite, RSVP or a link layer 486 signaling protocol. A description of these protocols is also outside 487 the scope of this document and a tight coupling with these protocols 488 is not desirable since this applications aims to be generic. 490 4.2. Diameter QoS Authorization Session Establishment 492 Figure 4 shows the protocol interaction between a resource requesting 493 entity, a Network Element and the Authorizing Entity. 495 A request for a QoS reservation received by a Network Element 496 initiates a Diameter QoS authorization session. The Network Element 497 generates a QoS-Authorization-Request (QAR) message in which it maps 498 required objects from the QoS signaling message to Diameter payload 499 objects. 501 +----------------------------------+-------------------------------+ 502 | QoS specific Input Data | Diameter QoS AVPs | 503 +----------------------------------+-------------------------------+ 504 | Authorizing entity ID (e.g., | Destination-Host | 505 |taken from authorization token or | Destination-Realm | 506 |from Network Access ID (NAI), | | 507 |[RFC2486] of the QoS requesting | | 508 |entity) | | 509 +----------------------------------+-------------------------------+ 510 | Authorization Token | QoS-Authz-Data | 511 | Credentials of | User-Name | 512 | the QoS requesting entity | | 513 +----------------------------------+-------------------------------+ 514 | QoS parameters | QoS-Resources | 515 +----------------------------------+-------------------------------+ 516 | Flow Identifiers | ExtendedQoSFilterRule | 517 +----------------------------------+-------------------------------+ 519 The Authorizing Entity's identity, information about the application 520 session and/or identity and credentials of the QoS resource 521 requesting entity, requested QoS parameters, signaling session 522 identifier and/or QoS enabled data flows identifiers MAY be 523 encapsulated into respective Diameter AVPs and included into the 524 Diameter message sent to the Authorizing Entity. The QAR is sent to 525 a Diameter server that can either be the home server of the QoS 526 requesting entity or an application server. 528 Authorization processing starts at the Diameter QoS server when it 529 receives the QAR. Based on the information in the QoS- 530 Authentication-Data, User-Name and QoS-Resources AVPs the server 531 determines the authorized QoS resources and flow state (enabled/ 532 disabled) from locally available information (e.g., policy 533 information that may be previously established as part of an 534 application layer signaling exchange, or the user's subscription 535 profile). The authorization decision is then reflected in the 536 response returned to the Diameter client with the QoS-Authorization- 537 Answer message (QAA). 539 Authorizing 540 End-Host Network Element Entity 541 requesting QoS ( Diameter ( Diameter 542 QoS Client) QoS Server) 543 | | | 544 +---QoS-Reserve---->| | 545 | +- - - - - QAR - - - - - >| 546 | |(QoS-Resources,Cost, | 547 | | QoS-Auth-Data,User-ID)| 548 | | +--------+--------------+ 549 | | | Authorize request | 550 | | | Keep session data | 551 | | |/Authz-time,Session-Id/| 552 | | +--------+--------------+ 553 | |< - - - - QAA - - - - - -+ 554 | |(Result-Code,CC-Time,Cost| 555 | |QoS-Resources,Authz-time)| 556 | +-------+---------+ 557 | |Install QoS state| 558 | | + | 559 | | Authz. session | 560 | | /Authz-time, | QoS Responder 561 | | CC-Time,Cost/ | Node 562 | +-------+---------+ | 563 | +----------QoS-Reserve---....--->| 564 | | | 565 | |<---------QoS-Response--....----| 566 |<--QoS-Response----+ | 567 | | | 568 |=====================Data Flow==============....===>| 569 | | 570 | +- - - - - ACR - - - - - >| 571 | |(START,QoS-Resources,Cost| 572 | |CC-Time,Acc-Multisess-id)| 573 | | +--------+--------------+ 574 | | | Report for successful | 575 | | | QoS reservation | 576 | | |Update of reserved QoS | 577 | | | resources | 578 | | +--------+--------------+ 579 | |< - - - - ACA - - - - - -+ 580 | | | 582 Figure 4: Initial QoS Request Authorization 584 The Authorizing Entity keeps authorization session state and SHOULD 585 save additional information for management of the session (e.g., Acc- 586 Multi-Session-Id, Signaling-Session-Id, authentication data) as part 587 of the session state information. A Signaling-session-Id (if 588 present) SHOULD be used together with the generated Acc-Multi- 589 Session-Id AVP (see Section 7.3) for binding the authorization and 590 the accounting session information in case of end host mobility 591 (i.e., to correlate the Diameter sessions that are initiated for the 592 same signaling session from different QoS NE). 594 The final result of the authorization request is provided in the 595 Result-Code AVP of the QAA message sent by the Authorizing Entity. 596 In case of successful authorization (i.e., Result-Code = 597 DIAMETER_LIMITED_SUCCESS, (see Section 7.1)), information about the 598 authorized QoS resources and the status of the authorized flow 599 (enabled/disabled) is provided in the QoS-Resources AVP of the QAA 600 message. The QoS information provided via the QAA is installed by 601 the QoS Traffic Control function of the Network Element (see 602 Figure 2). The value DIAMETER_LIMITED_SUCCESS indicates that the 603 Authorizing entity expects confirmation via an accounting message for 604 successful QoS resource reservation and for final reserved QoS 605 resources (see bellow). 607 One important piece of information returned from the Authorizing 608 Entity is the authorization lifetime (carried inside the QAA). The 609 authorization lifetime allows the Network Element to determine how 610 long the authorization decision is valid for this particular QoS 611 reservation. A number of factors may influence the authorized 612 session duration, such as the user's subscription plan or currently 613 available credits at the user's account (see Section 5). The 614 authorization duration is time-based as specified in [RFC3588]. For 615 an extension of the authorization period, a new QoS-Authorization- 616 Request/Answer message exchange SHOULD be initiated. Further aspects 617 of QoS authorization session maintenance is discussed in Section 4.3, 618 Section 4.5 and Section 5. 620 The indication of a successful QoS reservation and activation of the 621 data flow, is provided by the transmission of an Accounting Request 622 (ACR) message, which reports the parameters of the established QoS 623 state: reserved resources, duration of the reservation, 624 identification of the QoS enabled flow/QoS signaling session and 625 accounting parameters. The Diameter QoS server acknowledges the 626 reserved QoS resources with the Accounting Answer (ACA) message where 627 the Result-Code is set to 'DIAMETER_SUCCESS'. Note that the reserved 628 QoS resources reported in the ACR message MAY be different than those 629 initially authorized with the QAA message, due to the QoS signaling 630 specific behavior (e.g., receiver-initiated reservations with One- 631 Path-With-Advertisements) or specific process of QoS negotiation 632 along the data path. 634 4.3. QoS authorization session re-authorization 636 Client and server-side initiated re-authorizations are considered in 637 the design of the Diameter QoS application. Whether the re- 638 authorization events are transparent for the resource requesting 639 entity or result in specific actions in the QoS signaling protocol is 640 outside the scope of the Diameter QoS application. It is directly 641 dependent on the capabilities of the QoS signaling protocol. 643 In addition, there are a number of options for policy rules according 644 to which the NE (AAA client) contacts the Authorizing Entity for re- 645 authorization. These rules depend on the semantics and contents of 646 the QAA message sent by the Authorizing Entity: 648 a. The QAA message contains the authorized parameters of the flow 649 and its QoS and sets their limits (presumably upper). With these 650 parameters the Authorizing Entity specifies the services that the 651 NE can provide and will be financially compensated for. 652 Therefore, any change or request for change of the parameters of 653 the flow and its QoS that do not conform to the authorized limits 654 requires contacting the Authorizing Entity for authorization. 655 b. The QAA message contains authorized parameters of the flow and 656 its QoS. The rules that determine whether parameters' changes 657 require re-authorization are agreed out of band, based on a 658 Service Level Agreement (SLA) between the domains of the NE and 659 the Authorizing Entity. 660 c. The QAA message contains the authorized parameters of the flow 661 and its QoS. Any change or request for change of these 662 parameters requires contacting the Authorizing entity for re- 663 authorization. 664 d. In addition to the authorized parameters of the flow and its QoS, 665 the QAA message contains policy rules that determine the NEs 666 actions in case of change or request for change in authorized 667 parameters. 669 Provided options are not exhaustive. Elaborating on any of the 670 listed approaches is deployment /solution specific and is not 671 considered in the current document. 673 4.3.1. Client-Side Initiated Re-Authorization 675 The Authorizing Entity provides the duration of the authorization 676 session as part of the QoS-Authorization-Answer message (QAA). At 677 any time before expiration of this period, a new QoS-Authorization- 678 Request message (QAR) MAY be sent to the Authorizing Entity. The 679 transmission of the QAR MAY be triggered when the Network Element 680 receives a QoS signaling message that requires modification of the 681 authorized parameters of an ongoing QoS session, when authorization 682 lifetime expires or by an accounting event, see Section 5 and 683 Figure 5). 685 Authorizing 686 End-Host Network Element Entity 687 requesting QoS ( Diameter ( Diameter 688 QoS Client) QoS Server) 689 | | | 690 |=====================Data Flow==========================> 691 | | | 692 | +-------+----------+ | 693 | |Authz-time/CC-Time| | 694 | | expires | | 695 | +-------+----------+ | 696 | +- - - - - QAR - - - - - >| 697 | |(QoS-Resources,Cost, | 698 | | QoS-Authz-Data,User-ID)| 699 | +--------+--------------+ 700 NOTE: | | Authorize request | 701 Re-authorization | | Update session data | 702 is transparent to | |/Authz-time,Session-Id/| 703 the End-Host | +--------+--------------+ 704 |< - - - - QAA - - - - - -+ 705 | |(Result-Code,CC-Time,Cost| 706 | |QoS-Resources,Authz-time)| 707 | +-------+---------+ | 708 | |Update QoS state | | 709 | | + | | 710 | | Authz. session | | 711 | | /Authz-time, | | 712 | | CC-Time,Cost/ | | 713 | +-------+---------+ | 714 | | | 715 | +- - - - - ACR - - - - - >| 716 | |(INTRM,QoS-Resources,Cost| 717 | |CC-Time,Acc-Multisess-id)| 718 | | +--------+--------------+ 719 | | |Update of QoS resources| 720 | | |/CC-Time,Cost/ used | 721 | | +--------+--------------+ 722 | |< - - - - ACA - - - - - -+ 723 | | | 724 |=====================Data Flow==========================> 725 | | 727 Figure 5: QoS request re-authorization 729 4.3.2. Server-Side Initiated Re-Authorization 731 The Authorizing Entity MAY optionally initiate a QoS re-authorization 732 by issuing a Re-Auth-Request message (RAR) as defined in the Diameter 733 base protocol [RFC3588]. A Network Element client that receives such 734 a RAR message with Session-Id matching a currently active QoS session 735 acknowledges the request by sending the Re-Auth-Answer (RAA) message 736 and MUST initiate a QoS reservation re-authorization by sending a 737 QoS-Authorization-Request (QAR) message towards the Authorizing 738 entity. 740 4.4. Server-Side Initiated QoS Parameter Provisioning 742 In certain deployment scenarios (mostly applicable for local QoS 743 provision) an active control over the QoS resource and QoS enabled 744 data flows from the network side is required. Therefore, the 745 Authorizing Entity is enabled to update installed QoS parameters and 746 flow state at the Network Element by sending a QoS-Install Request 747 message (QIR). Network Elements MUST apply the updates and respond 748 with an QoS-Install Answer message (QIA). This functionality, for 749 example, allows the update of already authorized flow status of an 750 established QoS reservation due to a change at the application layer 751 session (see Figure 6). 753 Authorizing 754 End-Host Network Element Entity 755 requesting QoS ( Diameter ( Diameter 756 QoS Client) QoS Server) 757 | | | 758 +===================+=Data Flow==========================> 759 | | +--------+--------------+ 760 | | |Data flow preemption | 761 | | +--------+--------------+ 762 | |< - - - - QIR - - - - - -+ 763 | |(QoS-Resources[QoS-Flow- | 764 | | -State=CLOSE]) | 765 | +-------+---------+ | 766 | |Update QoS state | | 767 | | + | | 768 | | Authz. session | | 769 | |/QoS-Flow-State= | | 770 | | CLOSE/ | | 771 | +-------+---------+ | 772 +====Data Flow=====>X | 773 | +- - - - - QIA - - - - - >| 774 | | (Result-Code) | 775 Figure 6: Server-Side Initiated QoS Parameter Provisioning 777 The Authorizing Entity MAY initiate a QoS authorization session 778 establishment and QoS reservation state installation (prior to a 779 request from a Network Element). This function requires that the 780 Authorizing Entity has knowledge of specific information identifying 781 the Network Element that should be contacted and the data flow for 782 which the QoS reservation should be established.(mostly applicable 783 for local scenarios) 785 4.5. Session Termination 787 4.5.1. Client-Side Initiated Session Termination 789 The authorization session for an installed QoS reservation state MAY 790 be terminated by the Diameter client by sending a Session- 791 Termination-Request message (STR) to the Diameter server. This is a 792 Diameter base protocol function and it is defined in [RFC3588]. 793 Session termination can be caused by a QoS signaling messaging 794 requesting deletion of the existing QoS reservation state or it can 795 be caused as a result of a soft-state expiration of the QoS 796 reservation state. After a successful termination of the 797 authorization session, final accounting messages MUST be exchanged 798 (see Figure 7). It should be noted that the two sessions 799 (authorization and accounting) have independent management by the 800 Diameter base protocol, which allows for finalizing the accounting 801 session after the end of the authorization session. 803 Authorizing 804 End-Host Network Element Entity 805 requesting QoS ( Diameter ( Diameter 806 QoS Client) QoS Server) 807 | | | 808 |==Data Flow==>X /Stop of the data flow/ | 809 | | | 810 +---QoS-Reserve---->| | 811 | (Delete QoS +- - - - - STR - - - - - >| 812 | reservation) | +--------+--------------+ 813 | | | Remove authorization | 814 |<--QoS-Response----+ | session state | 815 | | +--------+--------------+ 816 |< - - - - STA - - - - - -+ 817 +-------+--------+ | 818 |Delete QoS state| 819 | Report final | 820 | accounting data| QoS Responder 821 +-------+--------+ Node 822 +----------QoS-Reserve-----....--->| 823 | (Delete QoS | 824 | reservation) 825 | 826 +- - - - - ACR - - - - - >| 827 |(FINAL,QoS-Resources,Cost| 828 |CC-Time,Acc-Multisess-id)| 829 | +--------+--------------+ 830 | | Report for successful | 831 | | end of QoS session | 832 | +--------+--------------+ 833 |< - - - - ACA - - - - - -+ 834 | 835 | QoS Responder 836 | Node 837 |<---------QoS-Response----....----+ 838 | | 840 Figure 7: Client-Side Initiated Session Termination 842 4.5.2. Server-Side Initiated Session Termination 844 At anytime during a session the Authorizing Entity MAY send an Abort- 845 Session-Request message (ASR) to the Network Element. This is a 846 Diameter base protocol function and it is defined in [RFC3588]. 847 Possible reasons for initiating the ASR message to the Network 848 Element are insufficient credits or session termination at the 849 application layer. The ASR message results in termination of the 850 authorized session, release of the reserved resources at the Network 851 Element and transmission of an appropriate QoS signaling message 852 indicating a notification to other Network Elements aware of the 853 signaling session. A final accounting message exchange MUST be 854 triggered as a result of this ASR message exchange (see Figure 8). 856 Authorizing 857 End-Host Network Element Entity 858 requesting QoS ( Diameter ( Diameter 859 QoS Client) QoS Server) 860 | | | 861 |=====================Data Flow==========================> 862 | | 863 | |< - - - - ASR - - - - - -+ 864 | | | 865 |====Data Flow=====>X | QoS Responder 866 | | | Node 867 |<--QoS-Notify------+----------QoS-Reserve-----....--->| 868 | | (Delete QoS | | 869 | reservation) | 870 +-------+--------+ | 871 |Delete QoS state| | 872 | Report final | | 873 | accounting data| | 874 +-------+--------+ | 875 +- - - - - ASA - - - - - >| 876 | +--------+--------------+ 877 | | Remove authorization | 878 | | session state | 879 | +--------+--------------+ 880 +- - - - - ACR - - - - - >| 881 |(FINAL,QoS-Resources,Cost| 882 |CC-Time,Acc-Multisess-id)| 883 | +--------+--------------+ 884 | | Report for successful | 885 | | end of QoS session | 886 | +--------+--------------+ 887 |< - - - - ACA - - - - - -+ 888 | QoS Responder 889 | Node 890 |<---------QoS-Response----....----+ 891 | | 893 Figure 8: Server-Side Initiated Session Termination 895 5. Accounting 897 The Diameter QoS application provides accounting for usage of 898 reserved QoS resources. Diameter QoS accounting has built-in support 899 for online, duration based accounting. This accounting is based on 900 the notion that the Diameter QoS clients are in the best position to 901 determine the cost of those resources. 903 In the Diameter QoS application, the router MAY send a Cost- 904 Information AVP (see [RFC4006]) in the QAR. If the Cost-Information 905 AVP includes a Cost-Unit AVP (see [RFC4006]) then the Cost-Unit 906 SHOULD be "minute". The Cost-Information AVPs represent the cost to 907 allocate the resources requested in the QoS-Resources AVP included in 908 the same QAR message. The QAR MAY optionally contain a Tariff-Time- 909 Change AVP (see [RFC4006]) which is the time at which the cost will 910 change, a second Cost-Information AVP, which is the cost of the 911 reserved resources after the tariff time change, and a second Tariff- 912 Time-Change, which is the time at which the tariff would change 913 again. Either all three or none of these AVPs MUST be present in the 914 QAR. 916 The Resource Authorizing Entity returns a CC-Time AVP (see [RFC4006]) 917 in the QAA message which is the total authorized gate-on time for the 918 service. If the QAR included two Tariff-Time-Change AVPs, the 919 current time plus the CC-Time AVP returned in the QAA MUST NOT exceed 920 the second Tariff-Time-Change AVP from the QAR. Based on information 921 in the Cost-Information AVPs, the Resource Authorizing Entity can use 922 the CC-Time AVP to guarantee that the total cost of the session will 923 not exceed a certain threshold, which allows, for example, support of 924 prepaid users. 926 Each ACR message contains a triplet of QoS-Resources AVP, Cost- 927 Information AVP, and CC-Time AVP. This represents the total time 928 consumed at the given cost for the given resources. Note that an ACR 929 message MUST be sent separately for each interval defined by the 930 Tariff-Time-Change AVPs and the expiration of the CC-Time returned in 931 the QAA (see Figure 5). 933 The Network Element starts an accounting session by sending an 934 Accounting-Request message (ACR) after successful QoS reservation and 935 activation of the data flow (see Figure 4). After every successful 936 re-authorization procedure the Network element MUST initiate an 937 interim accounting message exchange (see Figure 5). After successful 938 session termination the Network element MUST initiate a final 939 exchange of accounting messages for terminating of the accounting 940 session and reporting final records for the usage of the QoS 941 resources reserved (see Figure 7). 943 6. Diameter QoS Authorization Application Messages 945 The Diameter QoS Application requires the definition of new mandatory 946 AVPs and Command-codes (see Section 3 of [RFC3588]). Four new 947 Diameter messages are defined along with Command-Codes whose values 948 MUST be supported by all Diameter implementations that conform to 949 this specification. 951 Command-Name Abbrev. Code Reference 952 QoS-Authz-Request QAR [TBD] Section 6.1 953 QoS-Authz-Answer QAA [TBD] Section 6.2 954 QoS-Install-Request QIR [TBD] Section 6.3 955 QoS-Install-Answer QIA [TBD] Section 6.4 957 In addition, the following Diameter Base protocol messages are used 958 in the Diameter QoS application: 960 Command-Name Abbrev. Code Reference 961 Accounting-Request ACR 271 RFC 3588 962 Accounting-Request ACR 271 RFC 3588 963 Accounting-Answer ACA 271 RFC 3588 964 Re-Auth-Request RAR 258 RFC 3588 965 Re-Auth-Answer RAA 258 RFC 3588 966 Abort-Session-Request ASR 274 RFC 3588 967 Abort-Session-Answer ASA 274 RFC 3588 968 Session-Term-Request STR 275 RFC 3588 969 Session-Term-Answer STA 275 RFC 3588 971 Diameter nodes conforming to this specification MAY advertise support 972 by including the value of TBD in the Auth-Application-Id or the Acct- 973 Application-Id AVP of the Capabilities-Exchange-Request and 974 Capabilities-Exchange-Answer commands, see [RFC3588]. 976 The value of TBD MUST be used as the Application-Id in all QAR/QAA 977 and QIR/QIA commands. 979 The value of TBD MUST be used as the Application-Id in all ACR/ACA 980 commands, because this application defines new, mandatory AVPs for 981 accounting. 983 The value of zero (0) SHOULD be used as the Application-Id in all 984 STR/STA, ASR/ASA, and RAR/RAA commands, because these commands are 985 defined in the Diameter base protocol and no additional mandatory 986 AVPs for those commands are defined in this document. 988 6.1. QoS-Authorization Request (QAR) 990 The QoS-Authorization-Request message (QAR) indicated by the Command- 991 Code field (see Section 3 of [RFC3588]) set to TBD and 'R' bit set in 992 the Command Flags field is used by Network elements to request 993 quality of service related resource authorization for a given flow. 995 The QAR message MUST carry information for signaling session 996 identification, Authorizing Entity identification, information about 997 the requested QoS, and the identity of the QoS requesting entity. In 998 addition, depending on the deployment scenario, an authorization 999 token and credentials of the QoS requesting entity SHOULD be 1000 included. 1002 The message format, presented in ABNF form [RFC2234], is defined as 1003 follows: 1005 ::= < Diameter Header: XXX, REQ, PXY > 1006 < Session-Id > 1007 { Auth-Application-Id } 1008 { Origin-Host } 1009 { Origin-Realm } 1010 { Destination-Realm } 1011 { Auth-Request-Type } 1012 [ Destination-Host ] 1013 [ User-Name ] 1014 * [ QoS-Resources ] 1015 [ QoS-Authz-Data ] 1016 [ Cost-Information ] 1017 [ Acc-Multisession-Id ] 1018 [ Bound-Auth-Session-Id ] 1019 * [ AVP ] 1021 6.2. QoS-Authorization Answer (QAA) 1023 The QoS-Authorization-Answer message (QAA), indicated by the Command- 1024 Code field set to TBD and 'R' bit cleared in the Command Flags field 1025 is sent in response to the QoS-Authorization-Request message (QAR). 1026 If the QoS authorization request is successfully authorized, the 1027 response will include the AVPs to allow authorization of the QoS 1028 resources as well as accounting and transport plane gating 1029 information. 1031 The message format is defined as follows: 1033 ::= < Diameter Header: XXX, PXY > 1034 < Session-Id > 1035 { Auth-Application-Id } 1036 { Auth-Request-Type } 1037 { Result-Code } 1038 { Origin-Host } 1039 { Origin-Realm } 1040 * [ QoS-Resources ] 1041 [ CC-Time ] 1042 [ Acc-Multisession-Id ] 1043 [ Session-Timeout ] 1044 [ Authz-Session-Lifetime ] 1045 [ Authz-Grace-Period ] 1046 * [ AVP ] 1048 6.3. QoS-Install Request (QIR) 1050 The QoS-Install Request message (QIR), indicated by the Command-Code 1051 field set to TDB and 'R' bit set in the Command Flags field is used 1052 by Authorizing entity to install or update the QoS parameters and the 1053 flow state of an authorized flow at the transport plane element. 1055 The message MUST carry information for signaling session 1056 identification or identification of the flow to which the provided 1057 QoS rules apply, identity of the transport plane element, description 1058 of provided QoS parameters, flow state and duration of the provided 1059 authorization. 1061 The message format is defined as follows: 1063 ::= < Diameter Header: XXX, REQ, PXY > 1064 < Session-Id > 1065 { Auth-Application-Id } 1066 { Origin-Host } 1067 { Origin-Realm } 1068 { Destination-Realm } 1069 { Auth-Request-Type } 1070 [ Destination-Host ] 1071 * [ QoS-Resources ] 1072 [ Session-Timeout ] 1073 [ Authz-Session-Lifetime ] 1074 [ Authz-Grace-Period ] 1075 [ Authz-Session-Volume ] 1076 * [ AVP ] 1078 6.4. QoS-Install Answer (QIA) 1080 The QoS-Install Answer message (QIA), indicated by the Command-Code 1081 field set to TBD and 'R' bit cleared in the Command Flags field is 1082 sent in response to the QoS-Install Request message (QIR) for 1083 confirmation of the result of the installation of the provided QoS 1084 reservation instructions. 1086 The message format is defined as follows: 1088 ::= < Diameter Header: XXX, PXY > 1089 < Session-Id > 1090 { Auth-Application-Id } 1091 { Origin-Host } 1092 { Origin-Realm } 1093 { Result-Code } 1094 * [ QoS-Resources ] 1095 * [ AVP ] 1097 6.5. Accounting Request (ACR) 1099 The Accounting Request message (ACR), indicated by the Command-Code 1100 field set to 271 and 'R' bit set in the Command Flags field is used 1101 by Network Element to report parameters of the authorized and 1102 established QoS reservation. 1104 The message MUST carry accounting information authorized QoS 1105 resources and its usage, e.g., QoS-Resources, CC-Time, CC-Cost, Acc- 1106 Multi-Session-Id. 1108 The message format is defined as follows: 1110 ::= < Diameter Header: XXX, REQ, PXY > 1111 < Session-Id > 1112 { Acct-Application-Id } 1113 { Destination-Realm } 1114 [ Destination-Host ] 1115 [ Accounting-Record-Type ] 1116 [ Accounting-Record-Number ] 1117 * [ QoS-Resources ] 1118 [ Cost-Information ] 1119 [ CC-Time ] 1120 [ Acc-Multi-Session-Id ] 1121 * [ AVP ] 1123 6.6. Accounting Answer (ACA) 1125 The Accounting Answer message (ACA), indicated by the Command-Code 1126 field set to 271 and 'R' bit cleared in the Command Flags field is 1127 sent in response to the Accounting Request message (ACR) as an 1128 acknowledgment of the ACR message and MAY carry additional management 1129 information for the accounting session, e.g. Acc-Interim-Interval 1130 AVP. 1132 The message format is defined as follows: 1134 ::= < Diameter Header: XXX, PXY > 1135 < Session-Id > 1136 { Acct-Application-Id } 1137 [ Result-Code ] 1138 [ Accounting-Record-Type ] 1139 [ Accounting-Record-Number ] 1140 [ Acc-Multi-Session-Id ] 1141 * [ AVP ] 1143 7. Diameter QoS Authorization Application AVPs 1145 Each of the AVPs identified in the QoS-Authorization-Request/Answer 1146 and QoS-Install-Request/Answer messages and the assignment of their 1147 value(s) is given in this section. 1149 7.1. Diameter Base Protocol AVPs 1151 The Diameter QoS application uses a number of session management 1152 AVPs, defined in the Base Protocol ([RFC3588]). 1154 Attribute Name AVP Code Reference [RFC3588] 1155 Origin-Host 264 Section 6.3 1156 Origin-Realm 296 Section 6.4 1157 Destination-Host 293 Section 6.5 1158 Destination-Realm 283 Section 6.6 1159 Auth-Application-Id 258 Section 6.8 1160 Result-Code 268 Section 7.1 1161 Auth-Request-Type 274 Section 8.7 1162 Session-Id 263 Section 8.8 1163 Authz-Lifetime 291 Section 8.9 1164 Authz-Grace-Period 276 Section 8.10 1165 Session-Timeout 27 Section 8.13 1166 User-Name 1 Section 8.14 1168 The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to 1169 Diameter applications. The value of the Auth-Application-Id for the 1170 Diameter QoS application is TBD. 1172 7.2. Credit Control Application AVPs 1174 The Diameter QoS application provides accounting for usage of 1175 reserved QoS resources. Diameter QoS accounting has built-in support 1176 for online, duration based accounting. For this purpose it re-uses a 1177 number of AVPs defined in Diameter Credit Control application. 1178 [RFC4006]. 1180 Attribute Name AVP Code Reference [RFC4006] 1181 Cost-Information AVP 423 Section 8.7 1182 Unit-Value AVP 445 Section 8.8 1183 Currency-Code AVP 425 Section 8.11 1184 Cost-Unit AVP 424 Section 8.12 1185 CC-Time AVP 420 Section 8.21 1186 Tariff-Time-Change AVP 451 Section 6.20 1188 Usage of the listed AVPs is described in Section 5 1189 Diameter QoS application is designed to independently provide credit 1190 control over the controlled QoS resources. However, deployment 1191 scenarios, where Diameter QoS application is collocated with Diameter 1192 Credit Control application, are not excluded. In such scenarios the 1193 credit control over the QoS resources might be managed by the Credit 1194 control application. Possible interworking approach might be a usage 1195 of Credit-Control AVP (AVP Code 426) with a newly defined value. It 1196 will indicate to the Diameter QoS entities that the credit control 1197 over the QoS resources would be handled in separate session by Credit 1198 Control application. An active cooperation of both applications 1199 would be required but it is not elaborated further in this document. 1201 7.3. Accounting AVPs 1203 The Diameter QoS application uses Diameter Accounting and accounting 1204 AVPs as defined in Section 9 of [RFC3588]. Additional description of 1205 the usage of some of them in the QoS authorization context is 1206 provided: 1208 Attribute Name AVP Code Reference [RFC3588] 1209 Acct-Application-Id 259 Section 6.9 1210 Accounting-Record-Type 480 Section 9.8.1 1211 Accounting-Interim-Interval 85 Section 9.8.2 1212 Accounting-Record-Number 485 Section 9.8.3 1213 Accounting-Realtime-Required 483 Section 9.8.7 1214 Acc-Multi-Session-ID 50 Section 9.8.5 1216 The following AVP needs further explanation: 1218 Acct-Application-Id AVP 1220 The Acct-Application-Id AVP (AVP Code 259)is assigned by IANA to 1221 Diameter applications. The value of the Acct-Application-Id for 1222 the Diameter QoS application is TBD (TBD). 1224 Acc-Multisession-ID 1226 Acc-Multi-Session-ID AVP (AVP Code 50) SHOULD be used to link 1227 multiple accounting sessions together, allowing the correlation of 1228 accounting information. This AVP MAY be returned by the Diameter 1229 server in a QoS-Authorization-Answer message (QAA), and MUST be 1230 used in all accounting messages for the given session. 1232 7.4. Diameter QoS Application Defined AVPs 1234 This section defines the Quality of Service AVPs that are specific to 1235 the Diameter QoS application. 1237 The following table describes the Diameter AVPs used in the QoS 1238 Application, their AVP code values, types, possible flag values, and 1239 whether the AVP may be encrypted. 1241 | AVP Flag rules | 1242 +----------------------------------------------|----+---+----+-----+ 1243 | AVP Section | | |SHLD| MUST| 1244 | Attribute Name Code Defined Data Type |MUST|MAY| NOT| NOT| 1245 +----------------------------------------------+----+---+----+-----+ 1246 |QoS-Flow-State TBD 7.4 Enumerated | M | P | | V | 1247 |QSPEC TBD 7.4 OctetSTring| M | P | | V | 1248 |ExtendedQoSFilterRule TBD 7.4 OctetString| M | P | | V | 1249 |QoS-Authz-Data TBD 7.4 Grouped | M | P | | V | 1250 |QoS-Resources TBD 7.4 Grouped | M | P | | V | 1251 |Bound-Auth-Session-Id TBD 7.4 UTF8String | M | P | | V | 1252 +----------------------------------------------+----+---+----+-----+ 1253 |M - Mandatory bit. An AVP with "M" bit set and its value MUST be | 1254 | supported and recognized by a Diameter entity in order the | 1255 | message, which carries this AVP, to be accepted. | 1256 |P - Indicates the need for encryption for end-to-end security. | 1257 |V - Vendor specific bit that indicates whether the AVP belongs to | 1258 | a address space. | 1259 +------------------------------------------------------------------+ 1261 ExtendedQoSFilterRule 1263 The ExtendedQoSFilterRule format is derived from the OctetString 1264 AVP Base Format. It uses the ASCII charset. 1266 The ExtendedQoSFilterRule MUST follow the format: 1268 action dir proto from src to dst [options] 1270 Labels Description 1272 action Action associated with the packet treatment. 1273 Basic actions are described in the IPFilterRule 1274 and extended for usage with QoS treatment. 1276 dir Direction of the packet follow the filter applies to. 1277 A basic description can be found with the 1278 IPFilterRule. Examples are in, out and both. 1280 proto Protocol 1281 A description can be found with the IPFilterRule. 1283 src and dst
[ports] 1284 A description can be found with the IPFilterRule. 1286 flow-label IPv6 Flow Label 1287 A description can be found in TBD. 1289 dscp Diffserv Codepoints 1290 A description can be found in TBD. 1292 ipsec-spi IPsec Security Parameter Index (SPI) 1293 A description can be found in TBD. 1295 qos-id A unique id referencing the applicable QoS parameters 1296 that need to be applied to the specified packets. 1298 Rules for the appropriate direction are evaluated in order, with 1299 the first matched rule terminating the evaluation. Each packet is 1300 evaluated once. If no rule matches, the packet is treated as best 1301 effort. An access device that is unable to interpret or apply a 1302 QoS rule SHOULD NOT terminate the session. 1304 QoS-ID 1306 The QoS-ID AVP (AVP Code TBD) is of type Unsigned32 and references 1307 the QSPEC. 1309 QoS-Flow-State 1311 The QoS-Flow-State AVP (AVP Code TBD) is of type Enumerated. It 1312 gives an indication by the Authorizing entity as to how the flow 1313 MUST be treated. When included in a QAA message, it contains an 1314 action to be performed on the state of the flow to which the 1315 message applies. The values supported are: 1317 0 Open - Enable the transport plane service, for which 1318 the signaling has been performed. 1319 1 Close - Disable the transport plane service 1320 2 Maintain - Do not alter the current state (enabled/disabled) 1321 of the transport plane service. 1323 The QoS-Flow-State is an optional AVP. When not included in a QAA 1324 response, the default behavior is to immediately allow the flow of 1325 packets (Open). 1327 The behavior of Close (0) for the QoS-Flow-State refers to the 1328 case where a QoS reservation exists but it is not activated and 1329 therefore not charged. For time-based charging the time interval 1330 where the gate is closed will not be included of the chargeable 1331 time interval. The QoS model might give some indication whether 1332 an established QoS reservation needs to be freed or needs to be 1333 removed only if not enough resources are available. 1335 QSPEC 1337 The QSPEC AVP (AVP Code TBD) is of type OctetString and contains 1338 QoS parameter information. The Quality of Service parameters are 1339 defined in [I-D.korhonen-dime-qos-parameters]. 1341 QoS-Resources 1343 The QoS-Resources AVP (AVP Code TBD) is of type Grouped and 1344 includes description of the resources that have been requested by 1345 the user or authorized for a particular QoS request. More than 1346 one MAY be included into a message. 1348 QoS-Resources ::= < AVP Header: XXX > 1349 * [ ExtendedQoSFilterRule ] 1350 * [ QoS-Parameter ] 1351 [ QoS-Flow-State ] 1352 * [ AVP ] 1354 QoS-Authz-Data 1356 The QoS-Authz-Data AVP (AVP Code TBD) is of type OctetString. It 1357 is a container that carries application session or user specific 1358 data that has to be supplied to the Authorizing entity as input to 1359 the computation of the authorization decision. 1361 Bound-Authentication-Session-Id 1363 The Bound-Authentication-Session AVP (AVP Code TBD) is of type 1364 UTF8String. It carries the id of the Diameter authentication 1365 session that is used for the network access authentication (NASREQ 1366 authentication session). It is used to tie the QoS authorization 1367 request to a prior authentication of the end host done by a co- 1368 located application for network access authentication (Diameter 1369 NASREQ) at the QoS NE. 1371 QoS-Parameter 1373 The QoS-Parameter AVP (AVP Code TBD) is of type Grouped and ties 1374 the QoS-ID AVP together to the QSPEC AVP. 1376 QoS-Parameter ::= < AVP Header: XXX > 1377 * [ QoS-ID ] 1378 * [ QSPEC ] 1379 * [ AVP ] 1381 8. Examples 1383 This section presents an example of the interaction between the 1384 application layer signaling and the QoS signaling along the data 1385 path. The application layer signaling is, in this example, provided 1386 using SIP. Signaling for a QoS resource reservation is done using 1387 the QoS NSLP. The authorization of the QoS reservation request is 1388 done by the Diameter QoS application (DQA). 1390 End-Host SIP Server Correspondent 1391 requesting QoS (DQA Server) Node 1393 | | | 1394 ..|....Application layer SIP signaling.......|..............|.. 1395 . | Invite (SDP) | | . 1396 . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-> | . 1397 . | 100 Trying | | . 1398 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ Invite (SDP)| . 1399 . | +-.-.-.....-.-.> . 1400 . | | 180 SDP' | . 1401 . | <-.-.-.....-.-.+ . 1402 . | +--------+--------+ | . 1403 . | |Authorize session| | . 1404 . | | parameters | | . 1405 . | 180 (Session parameters) +--------+--------+ | . 1406 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ | . 1407 ..|..........................................|... ..........|.. 1408 | | | 1409 | +------------+ | | 1410 | | NE | | | 1411 | |(DQA Client)| | | 1412 | +------+-----+ | | 1413 | | | | 1414 |QoS NSLP Reserve | | | 1415 +------------------> QAR | | 1416 | (POLICY_DATA>v +- - - - -<>- - - -> | 1417 | QSPEC) v >===>(Destination-Host, | | 1418 | v >=======>QoS-Authz-Data ++------------+ | 1419 | >===========>QoS-Resources, |Authorize | | 1420 | |Cost-Info) |QoS resources| | 1421 | | ++------------+ | 1422 | | QAA | | 1423 | <- - - - -<>- - - -+ | 1424 | |(Result-Code, | | 1425 | |QoS-Resources, | | 1426 | |CC-Time, | | 1427 | |Authz-Lifetime) | | 1428 | +---------+--------+ | | 1429 | |Install QoS state1| | | 1430 | |+ Authz. session | | | 1431 | +---------+--------+ | | 1432 | |QoS NSLP Reserve | 1433 | +---------------..............---------> 1434 | | | 1435 | | QoS NSLP Response| 1436 |QoS NSLP Response <---------------..............---------+ 1437 <------------------+ | 1438 | | QoS NSLP Query| 1439 |QoS NSLP Query <---------------..............---------+ 1440 <------------------+ | 1441 |QoS NSLP Reserve | | 1442 +------------------> QAR | | 1443 | +- - - - -<>- - - -> | 1444 | | +---+---------+ | 1445 | | |Authorize | | 1446 | | |QoS resources| | 1447 | | QAA +---+---------+ | 1448 | <- - - - -<>- - - -+ | 1449 | +---------+--------+ | | 1450 | |Install QoS state2| | 1451 | |+ Authz. session | | 1452 | +---------+--------+ | 1453 | | QoS NSLP Reserve | 1454 | +---------------..............---------> 1455 | | QoS NSLP Response| 1456 |QoS NSLP Response <---------------..............---------+ 1457 <------------------+ | 1458 | | | 1459 /------------------+--Data Flow---------------------------\ 1460 \------------------+--------------------------------------/ 1461 | | | 1463 .-.-.-.-. SIP signaling 1464 --------- QoS NSLP signaling 1465 - - - - - Diameter QoS Application messages 1466 ========= Mapping of objects between QoS and AAA protocol 1468 Figure 25: Token-based QoS Authorization Example 1470 The communication starts with SIP signaling between the two end 1471 points and the SIP server for negotiation and authorization of the 1472 requested service and its parameters (see Figure 25). As a part of 1473 the process, the SIP server verifies whether the user at Host A is 1474 authorized to use the requested service (and potentially the ability 1475 to be charged for the service usage). Negotiated session parameters 1476 are provided to the end host. 1478 Subsequently, Host A initiates a QoS signaling message towards Host 1479 B. It sends a QoS NSLP Reserve message, in which it includes 1480 description of the required QoS (QSPEC object) and authorization data 1481 for negotiated service session (part of the POLICY_DATA object). 1482 Authorization data includes, as a minimum, the identity of the 1483 authorizing entity (e.g., the SIP server) and an identifier of the 1484 application service session for which QoS resources are requested. 1486 A QoS NSLP Reserve message is intercepted and processed by the first 1487 QoS aware Network Element. The NE uses the Diameter QoS application 1488 to request authorization for the received QoS reservation request. 1489 The identity of the Authorizing Entity (in this case the SIP server 1490 that is co-located with a Diameter server) is put into the 1491 Destination-Host AVP, any additional session authorization data is 1492 encapsulated into the QoS-Authz-Data AVP and the description of the 1493 QoS resources is included into QoS-Resources AVP. In addition, the 1494 NE rates the requested QoS resources and announces the charging rate 1495 into the Cost-Information AVP. These AVPs are included into a QoS 1496 Authorization Request message, which is sent to the Authorizing 1497 entity. 1499 A Diameter QAR message will be routed through the AAA network to the 1500 Authorizing Entity. The Authorizing Entity verifies the requested 1501 QoS against the QoS resources negotiated for the service session and 1502 replies with QoS-Authorization answer (QAA) message. It carries the 1503 authorization result (Result-Code AVP) and the description of the 1504 authorized QoS parameters (QoS-Resources AVP), as well as duration of 1505 the authorization session (Authorization-Lifetime AVP) and duration 1506 of the time (CC-Time) for which the end-user should be charged with 1507 the rate announced in the QAR message. The NE interacts with the 1508 traffic control function and installs the authorized QoS resources 1509 and forwards the QoS NSLP Reserve message further along the data 1510 path. 1512 Note that the example above shows a sender-initiated reservation from 1513 the End-Host towards the corresponding node and a receiver-initiated 1514 reservation from the correspondent node towards the End-Host. 1516 9. IANA Considerations 1518 TBD 1520 10. Security Considerations 1522 This document describes a mechanism for performing authorization of a 1523 QoS reservation at a third party entity. Therefore, it is necessary 1524 that the QoS signaling application to carry sufficient information 1525 that should be forwarded to the backend AAA server. This 1526 functionality is particularly useful in roaming environments where 1527 the authorization decision is most likely provided at an entity where 1528 the user can be authorized, such as in the home realm. 1530 QoS signaling application MAY re-use the authenticated identities 1531 used for the establishment of the secured transport channel for the 1532 signaling messages, e.g., TLS or IPsec between the end host and the 1533 policy aware QoS NE. In addition, a collocation of the QoS NE with, 1534 for example, the Diameter NASREQ application (see [RFC4005]) may 1535 allow the QoS authorization to be based on the authenticated identity 1536 used during the network access authentication protocol run. If a co- 1537 located deployment is not desired then special security protection is 1538 required to ensure that arbitrary nodes cannot reuse a previous 1539 authentication exchange to perform an authorization decision. 1541 Additionally, QoS authorization might be based on the usage of 1542 authorization tokens that are generated by the Authorizing Entity and 1543 provided to the end host via application layer signaling. 1545 The impact of the existence of different authorization models is 1546 (with respect to this Diameter QoS application) the ability to carry 1547 different authentication and authorization information. 1549 11. Acknowledgements 1551 The authors would like to thank John Loughney and Allison Mankin for 1552 their input to this document. In September 2005 Robert Hancock, 1553 Jukka Manner, Cornelia Kappler, Xiaoming Fu, Georgios Karagiannis and 1554 Elwyn Davies provided a detailed review. Robert also provided us 1555 with good feedback earlier in 2005. Jerry Ash provided us review 1556 comments late 2005/early 2006. 1558 [Editor's Note: Acknowledgements need to be updated.] 1560 12. Contributors 1562 The authors would like to thank Tseno Tsenov (tseno.tsenov@gmail.com) 1563 and Frank Alfano (falfano@lucent.com) for starting the Diameter 1564 Quality of Service work within the IETF, for your significant draft 1565 contributions and for being the driving force for the first few draft 1566 versions. 1568 [Editor's Note: A bit of history needs to be included here.] 1570 13. Open Issues 1572 Open issues related to this draft are listed at the issue tracker 1573 available at: http://www.tschofenig.com:8080/diameter-qos/ 1575 14. References 1577 14.1. Normative References 1579 [I-D.korhonen-dime-qos-parameters] 1580 Korhonen, J. and H. Tschofenig, "Quality of Service 1581 Parameters for RADIUS and Diameter", 1582 draft-korhonen-dime-qos-parameters-00.txt (work in 1583 progress), February 2006. 1585 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1586 Requirement Levels", BCP 14, RFC 2119, March 1997. 1588 [RFC2234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 1589 Specifications: ABNF", RFC 2234, November 1997. 1591 [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. 1592 Arkko, "Diameter Base Protocol", RFC 3588, September 2003. 1594 [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, 1595 "Diameter Network Access Server Application", RFC 4005, 1596 August 2005. 1598 [RFC4006] Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. 1599 Loughney, "Diameter Credit-Control Application", RFC 4006, 1600 August 2005. 1602 14.2. Informative References 1604 [I-D.ietf-nsis-ntlp] 1605 Schulzrinne, H. and R. Hancock, "GIST: General Internet 1606 Signaling Transport", draft-ietf-nsis-ntlp-11 (work in 1607 progress), August 2006. 1609 [I-D.ietf-nsis-qos-nslp] 1610 Manner, J., "NSLP for Quality-of-Service Signaling", 1611 draft-ietf-nsis-qos-nslp-12 (work in progress), 1612 October 2006. 1614 [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated 1615 Services", RFC 2210, September 1997. 1617 [RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description 1618 Protocol", RFC 2327, April 1998. 1620 [RFC2486] Aboba, B. and M. Beadles, "The Network Access Identifier", 1621 RFC 2486, January 1999. 1623 [RFC2749] Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R., 1624 and A. Sastry, "COPS usage for RSVP", RFC 2749, 1625 January 2000. 1627 [RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework 1628 for Policy-based Admission Control", RFC 2753, 1629 January 2000. 1631 [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, 1632 "Remote Authentication Dial In User Service (RADIUS)", 1633 RFC 2865, June 2000. 1635 [RFC3313] Marshall, W., "Private Session Initiation Protocol (SIP) 1636 Extensions for Media Authorization", RFC 3313, 1637 January 2003. 1639 [RFC3520] Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh, 1640 "Session Authorization Policy Element", RFC 3520, 1641 April 2003. 1643 [RFC3521] Hamer, L-N., Gage, B., and H. Shieh, "Framework for 1644 Session Set-up with Media Authorization", RFC 3521, 1645 April 2003. 1647 [RFC4027] Josefsson, S., "Domain Name System Media Types", RFC 4027, 1648 April 2005. 1650 Authors' Addresses 1652 Glen Zorn (editor) 1653 Cisco 1655 Email: gwz@cisco.com 1657 Peter J. McCann 1658 Motorola Labs 1659 1301 E. Algonquin Rd 1660 Schaumburg, IL 60196 1661 USA 1663 Phone: +1 847 576 3440 1664 Email: pete.mccann@motorola.com 1666 Hannes Tschofenig 1667 Siemens Networks GmbH & Co KG 1668 Otto-Hahn-Ring 6 1669 Munich, Bavaria 81739 1670 Germany 1672 Email: Hannes.Tschofenig@siemens.com 1673 URI: http://www.tschofenig.com 1675 Tina Tsou 1676 Huawei 1677 Shenzhen, 1678 P.R.C 1680 Email: tena@huawei.com 1682 Avri Doria 1683 Lulea University of Technology 1684 Arbetsvetenskap 1685 Lulea, SE-97187 1686 Sweden 1688 Email: avri@ltu.se 1690 Full Copyright Statement 1692 Copyright (C) The IETF Trust (2007). 1694 This document is subject to the rights, licenses and restrictions 1695 contained in BCP 78, and except as set forth therein, the authors 1696 retain all their rights. 1698 This document and the information contained herein are provided on an 1699 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1700 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 1701 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 1702 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 1703 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1704 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1706 Intellectual Property 1708 The IETF takes no position regarding the validity or scope of any 1709 Intellectual Property Rights or other rights that might be claimed to 1710 pertain to the implementation or use of the technology described in 1711 this document or the extent to which any license under such rights 1712 might or might not be available; nor does it represent that it has 1713 made any independent effort to identify any such rights. Information 1714 on the procedures with respect to rights in RFC documents can be 1715 found in BCP 78 and BCP 79. 1717 Copies of IPR disclosures made to the IETF Secretariat and any 1718 assurances of licenses to be made available, or the result of an 1719 attempt made to obtain a general license or permission for the use of 1720 such proprietary rights by implementers or users of this 1721 specification can be obtained from the IETF on-line IPR repository at 1722 http://www.ietf.org/ipr. 1724 The IETF invites any interested party to bring to its attention any 1725 copyrights, patents or patent applications, or other proprietary 1726 rights that may cover technology that may be required to implement 1727 this standard. Please address the information to the IETF at 1728 ietf-ipr@ietf.org. 1730 Acknowledgment 1732 Funding for the RFC Editor function is provided by the IETF 1733 Administrative Support Activity (IASA).