idnits 2.17.1 draft-ietf-dime-diameter-qos-14.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Sep 2009 rather than the newer Notice from 28 Dec 2009. (See https://trustee.ietf.org/license-info/) 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 and authors 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 21, 2010) is 5177 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. 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: 'TBD1' is mentioned on line 1366, but not defined == Missing Reference: 'TBD2' is mentioned on line 1391, but not defined == Missing Reference: 'TBD3' is mentioned on line 1420, but not defined == Missing Reference: 'TBD4' is mentioned on line 1445, but not defined == Missing Reference: 'TBD5' is mentioned on line 1340, but not defined ** Obsolete normative reference: RFC 3588 (Obsoleted by RFC 6733) ** Obsolete normative reference: RFC 4005 (Obsoleted by RFC 7155) -- Obsolete informational reference (is this intentional?): RFC 4282 (Obsoleted by RFC 7542) -- Obsolete informational reference (is this intentional?): RFC 4566 (Obsoleted by RFC 8866) -- Obsolete informational reference (is this intentional?): RFC 5246 (Obsoleted by RFC 8446) Summary: 3 errors (**), 0 flaws (~~), 6 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Diameter Maintenance and D. Sun, Ed. 3 Extensions (DIME) Alcatel-Lucent 4 Internet-Draft P. McCann 5 Intended status: Standards Track Motorola Labs 6 Expires: August 25, 2010 H. Tschofenig 7 Nokia Siemens Networks 8 T. Tsou 9 Huawei 10 A. Doria 11 Lulea University of Technology 12 G. Zorn, Ed. 13 Network Zen 14 February 21, 2010 16 Diameter Quality of Service Application 17 draft-ietf-dime-diameter-qos-14.txt 19 Abstract 21 This document describes the framework, messages and procedures for 22 the Diameter Quality of Service (QoS) application. The Diameter QoS 23 application allows network elements to interact with Diameter servers 24 when allocating QoS resources in the network. In particular, two 25 modes of operation, namely "Pull" and "Push", are defined. 27 Status of this Memo 29 This Internet-Draft is submitted to IETF in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF), its areas, and its working groups. Note that 34 other groups may also distribute working documents as Internet- 35 Drafts. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 The list of current Internet-Drafts can be accessed at 43 http://www.ietf.org/ietf/1id-abstracts.txt. 45 The list of Internet-Draft Shadow Directories can be accessed at 46 http://www.ietf.org/shadow.html. 48 This Internet-Draft will expire on August 25, 2010. 50 Copyright Notice 52 Copyright (c) 2010 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (http://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 68 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 69 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 7 70 3.1. Network Element Functional Model . . . . . . . . . . . . . 8 71 3.2. Implications of Endpoint QoS Capabilities . . . . . . . . 10 72 3.2.1. Endpoint Categories . . . . . . . . . . . . . . . . . 10 73 3.2.2. Interaction Modes Between the Authorizing Entity 74 and Network Element . . . . . . . . . . . . . . . . . 10 75 3.3. Authorization Schemes . . . . . . . . . . . . . . . . . . 12 76 3.3.1. Pull Mode Schemes . . . . . . . . . . . . . . . . . . 12 77 3.3.2. Push Mode Schemes . . . . . . . . . . . . . . . . . . 15 78 3.4. QoS Application Requirements . . . . . . . . . . . . . . . 16 79 4. QoS Application Session Establishment and Management . . . . . 20 80 4.1. Parties Involved . . . . . . . . . . . . . . . . . . . . . 20 81 4.2. Session Establishment . . . . . . . . . . . . . . . . . . 20 82 4.2.1. Session Establishment for Pull Mode . . . . . . . . . 21 83 4.2.2. Session Establishment for Push Mode . . . . . . . . . 23 84 4.2.3. Discovery and Selection of Peer Diameter QoS 85 Application Node . . . . . . . . . . . . . . . . . . . 26 86 4.3. Session Re-authorization . . . . . . . . . . . . . . . . . 26 87 4.3.1. Client-Side Initiated Re-Authorization . . . . . . . . 27 88 4.3.2. Server-Side Initiated Re-Authorization . . . . . . . . 28 89 4.4. Session Termination . . . . . . . . . . . . . . . . . . . 29 90 4.4.1. Client-Side Initiated Session Termination . . . . . . 29 91 4.4.2. Server-Side Initiated Session Termination . . . . . . 30 92 5. QoS Application Messages . . . . . . . . . . . . . . . . . . . 32 93 5.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . . 33 94 5.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 33 95 5.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . . 34 96 5.4. QoS-Install Answer (QIA) . . . . . . . . . . . . . . . . . 35 97 5.5. Re-Auth-Request (RAR) . . . . . . . . . . . . . . . . . . 35 98 5.6. Re-Auth-Answer (RAA) . . . . . . . . . . . . . . . . . . . 36 99 6. QoS Application State Machine . . . . . . . . . . . . . . . . 37 100 6.1. Supplemented States for Push Mode . . . . . . . . . . . . 37 101 7. QoS Application AVPs . . . . . . . . . . . . . . . . . . . . . 39 102 7.1. Reused Base Protocol AVPs . . . . . . . . . . . . . . . . 39 103 7.2. QoS Application Defined AVPs . . . . . . . . . . . . . . . 39 104 8. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 41 105 9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 106 9.1. Example Call Flow for Pull Mode . . . . . . . . . . . . . 42 107 9.2. Example Call Flow for Push Mode . . . . . . . . . . . . . 44 108 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 47 109 10.1. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 47 110 10.2. Application IDs . . . . . . . . . . . . . . . . . . . . . 47 111 10.3. Command Codes . . . . . . . . . . . . . . . . . . . . . . 47 112 11. Security Considerations . . . . . . . . . . . . . . . . . . . 48 113 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 50 114 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 51 115 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 52 116 14.1. Normative References . . . . . . . . . . . . . . . . . . . 52 117 14.2. Informative References . . . . . . . . . . . . . . . . . . 52 118 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 54 120 1. Introduction 122 This document describes the framework, messages and procedures for 123 the Diameter [RFC3588] Quality of Service (QoS) application. The 124 Diameter QoS application allows Network Elements (NEs) to interact 125 with Diameter servers when allocating QoS resources in the network. 127 Two modes of operation are defined. In the first, called "Pull" 128 mode, the network element requests QoS authorization from the 129 Diameter server based on some trigger (such as a QoS signaling 130 protocol) that arrives along the data path. In the second, called 131 "Push" mode, the Diameter server pro-actively sends a command to the 132 network element(s) to install QoS authorization state. This could be 133 triggered, for instance, by off-path signaling, such as Session 134 Initiation Protocol (SIP) [RFC3261] call control. 136 A set of command codes is specified that allows a single Diameter QoS 137 application server to support both Pull and Push modes based on the 138 requirements of network technologies, deployment scenarios and end- 139 host capabilities. In conjunction with Diameter AVPs defined in 140 [I-D.ietf-dime-qos-attributes] and in [RFC5624], this document 141 depicts basic call flow procedures used to establish, modify and 142 terminate a Diameter QoS application session. 144 This document defines a number of Diameter-encoded Attribute Value 145 Pairs (AVPs), which are described using a modified version of the 146 Augmented Backus-Naur Form (ABNF), see [RFC3588]. 148 2. Terminology 150 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 151 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 152 document are to be interpreted as described in RFC 2119 [RFC2119]. 154 The following terms are used in this document: 156 AAA Cloud 157 An infrastructure of Authentication, Authorization and Accounting 158 (AAA) entities (clients, agents, servers) communicating via a AAA 159 protocol over trusted, secure connections. It offers 160 authentication, authorization and accounting services to 161 applications in local and roaming scenarios. Diameter and RADIUS 162 [RFC2865] are both widely deployed AAA protocols. 164 Application Endpoint (AppE) 165 An Application Endpoint is an entity in an end-user device that 166 exchanges signaling messages with Application Servers or directly 167 with other Application Endpoints. Based on the result of this 168 signaling, the Endpoint may make a request for QoS from the 169 network. For example, a SIP User Agent is one kind of Application 170 Endpoint. 172 Application Server (AppS) 173 An Application Server is an entity that exchanges signaling 174 messages with an Application Endpoint (see above). It may be a 175 source of authorization for QoS-enhanced application flows. For 176 example, a SIP server is one kind of Application Server. 178 Authorizing Entity (AE) 179 The Authorizing Entity is a Diameter server that supports the QoS 180 application. It is responsible for authorizing QoS requests for a 181 particular application flow or aggregate. The Authorizing Entity 182 may be a standalone entity or may be integrated with an 183 Application Server and may be co-located with a subscriber 184 database. This entity corresponds to the Policy Decision Point 185 (PDP) [RFC2753]. 187 Network Element (NE) 188 A QoS aware router that acts as a Diameter client for the QoS 189 application. This entity triggers the protocol interaction for 190 the Pull mode, and it is the recipient of QoS information in the 191 Push mode. The Diameter Client at an Network Element corresponds 192 to the Policy Enforcement Point (PEP) [RFC2753]. 194 Pull Mode 195 In this mode, the QoS authorization process is invoked by the QoS 196 reservation request received from the Application Endpoint. The 197 Network Element then requests the QoS authorization decision from 198 the Authorizing Entity. 200 Push Mode 201 In this mode, the QoS authorization process is invoked by the 202 request from Application Server or local policies in the 203 Authorizing Entity. The Authorizing Entity then installs the QoS 204 authorization decision to the Network Element directly. 206 Resource Requesting Entity (RRE) 207 A Resource Requesting Entity is a logical entity that supports the 208 protocol interaction for QoS resources. The RRE resides in the 209 end-host and is able to communicate with peer logical entities in 210 an Authorizing Entity or a Network Element to trigger the QoS 211 authorization process. 213 3. Framework 215 The Diameter QoS application runs between a NE (acting as a Diameter 216 client) and the resource AE (acting as a Diameter server). A high- 217 level picture of the resulting architecture is shown in Figure 1. 219 +-------+---------+ 220 | Authorizing | 221 | Entity | 222 |(Diameter Server)| 223 +-------+---------+ 224 | 225 | 226 /\-----+-----/\ 227 //// \\\\ 228 || AAA Cloud || 229 | (Diameter application) | 230 || || 231 \\\\ //// 232 \-------+-----/ 233 | 234 +---+--+ +-----+----+ +---+--+ 235 | | | NE | | | Media 236 + NE +===+(Diameter +===+ NE +=============>> 237 | | | Client) | | | Flow 238 +------+ +----------+ +------+ 240 Figure 1: An Architecture Supporting QoS-AAA 242 Figure 1 depicts NEs through which media flows need to pass, a cloud 243 of AAA servers, and an AE. Note that there may be more than one 244 router that needs to interact with the AAA cloud along the path of a 245 given application flow, although the figure only depicts one for 246 clarity. 248 In some deployment scenarios, NEs may request authorization through 249 the AAA cloud based on an incoming QoS reservation request. The NE 250 will route the request to a designated AE. The AE will return the 251 result of the authorization decision. In other deployment scenarios, 252 the authorization will be initiated upon dynamic application state, 253 so that the request must be authenticated and authorized based on 254 information from one or more AppSs. After receiving the 255 authorization request from the AppS or the NE, the AE decides the 256 appropriate mode (i.e., Push or Pull). The usage Push or Pull mode 257 can be determined by the authorizing entity either statically or 258 dynamically. Static determination might be based on a configurable 259 defined policy in the authorizing entity, while dynamic determination 260 might be based on information received from an application server. 261 For Push mode, the authorizing entity needs to identify the 262 appropriate NE(s) to which QoS authorization information needs to be 263 pushed. It might determine this based on information received from 264 the AppS, such as the IP addresses of media flows. 266 In some deployment scenarios, there is a mapping between access 267 network type and the service logic (e.g., selection of the Push or 268 Pull mode, and other differentiated handling of the resource 269 admission and control). The access network type might be derived 270 from the authorization request from the AppS or the NE, and in this 271 case, the authorizing entity can identify the corresponding service 272 logic based on the mapping. 274 If the interface between the NEs and the AAA cloud is identical 275 regardless of whether the AE communicates with an AppS or not, 276 routers are insulated from the details of particular applications and 277 need not know that Application Servers are involved. Also, the AAA 278 cloud may also encompass business relationships such as those between 279 network operators and third-party application providers. This 280 enables flexible intra- or inter-domain authorization, accounting, 281 and settlement. 283 3.1. Network Element Functional Model 285 Figure 2 depicts a logical operational model of resource management 286 in a router. 288 +-------------------------------------------------------+ 289 | DIAMETER Client | 290 | Functionality | 291 | +---------------++-----------------++---------------+ | 292 | | User || QoS Application || Accounting | | 293 | | Authentication|| Client || Client (e.g., | | 294 | | Client || (Authorization ||for QoS Traffic| | 295 | +---------------+| of QoS Requests)|+---------------+ | 296 | +-----------------+ | 297 +-------------------------------------------------------+ 298 ^ 299 v 300 +--------------+ +----------+ 301 |QoS Signaling | | Resource | 302 |Msg Processing|<<<<<>>>>>>>|Management| 303 +--------------+ +----------+ 304 . ^ | * ^ 305 | v . * ^ 306 +-------------+ * ^ 307 |Signaling msg| * ^ 308 | Processing | * V 309 +-------------+ * V 310 | | * V 311 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 312 . . * V 313 | | * ............................. 314 . . * . Traffic Control . 315 | | * . +---------+. 316 . . * . |Admission|. 317 | | * . | Control |. 318 +----------+ +------------+ . +---------+. 319 <.->| Input | | Outgoing |<.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-> 320 | Packet | | Interface | .+----------+ +---------+. 321 ===>|Processing|====| Selection |===.| Packet |====| Packet |.=> 322 | | |(Forwarding)| .|Classifier| Scheduler|. 323 +----------+ +------------+ .+----------+ +---------+. 324 ............................. 325 <.-.-> = signaling flow 326 =====> = data flow (sender --> receiver) 327 <<<>>> = control and configuration operations 328 ****** = routing table manipulation 330 Figure 2: Network Element Functional Model 332 Processing of incoming QoS reservation requests includes three 333 actions: admission control, authorization and resource reservation. 335 The admission control function provides information about available 336 resources and determines whether there are enough resources to 337 fulfill the request. Authorization is performed by the Diameter 338 client, which involves contacting an authorization entity through the 339 AAA cloud shown in Section 3. If both checks are successful, the 340 authorized QoS parameters are set in the packet classifier and the 341 packet scheduler. Note that the parameters passed to the Traffic 342 Control function may be different from the ones requested QoS 343 (depending on the authorization decision). Once the requested 344 resource is granted, the Resource Management function provides 345 accounting information to the AE via the Diameter client. 347 3.2. Implications of Endpoint QoS Capabilities 349 3.2.1. Endpoint Categories 351 The QoS capabilities of Application Endpoints are varied, and can be 352 categorized as follows: 354 Category 1 355 A Category 1 Application Endpoint has no QoS capability at either 356 the application or the network level. This type of AppE may set 357 up a connection through application signaling, but it is incapable 358 of specifying resource/QoS requirements through either application 359 or network-level signaling. 361 Category 2 362 A Category 2 Application Endpoint only has QoS capability at the 363 application level. This type of AppE is able to set up a 364 connection through application signaling with certain resource/QoS 365 requirements (e.g., application attributes), but it is unable to 366 signal any resource/QoS requirements at the network level. 368 Category 3 369 A Category 3 Application Endpoint has QoS capability at the 370 network level. This type of AppE may set up a connection through 371 application signaling, translate service characteristics into 372 network resource/QoS requirements (e.g., network QoS class) 373 locally, and request the resources through network signaling, 374 e.g., Resource ReSerVation Protocol (RSVP) [RFC2205] or NSIS 375 [I-D.ietf-nsis-qos-nslp]. 377 3.2.2. Interaction Modes Between the Authorizing Entity and Network 378 Element 380 Different QoS mechanisms are employed in packet networks. Those QoS 381 mechanisms can be categorized into two schemes: IntServ [RFC2211], 382 [RFC2212] and DiffServ [RFC2474]. In the IntServ scheme, network 383 signaling (e.g., RSVP, NSIS, or link specific signaling) is commonly 384 used to initiate a request from an AppE for the desired QoS resource. 385 In the DiffServ scheme, QoS resources are provisioned based upon some 386 predefined QoS service classes rather than AppE-initiated, flow-based 387 QoS requests. 389 It is obvious that the eligible QoS scheme is correlated to the 390 AppE's capability in the context of QoS authorization. Since 391 Category 1 and 2 AppEs cannot initiate the QoS resource requests by 392 means of network signaling, using the current mechanism of IntServ 393 model to signal QoS information across the network is not applicable 394 to them in general. Depending on network technology and operator 395 requirements, a Category 3 AppE may either make use of network 396 signaling for resource requests or not. 398 The diversity of QoS capabilities of endpoints and QoS schemes of 399 network technology leads to the distinction on the interaction mode 400 between QoS authorization system and underlying NEs. When the 401 IntServ scheme is employed by a Category 3 endpoint, the 402 authorization process is typically initiated by a NE when a trigger 403 is received from the endpoint such as network QoS signaling. In the 404 DiffServ scheme, since the NE is unable to request the resource 405 authorization on its own initiative, the authorization process is 406 typically triggered by either the request of AppSs or policies 407 defined by the operator. 409 As a consequence, two interaction modes are needed in support of 410 different combinations of QoS schemes and endpoint's QoS 411 capabilities: Push mode and Pull mode. 413 Push mode 414 The QoS authorization process is triggered by AppSs or local 415 network conditions (e.g., time of day on resource usage and QoS 416 classes), and the authorization decisions are installed by the AE 417 to the network element on its own initiative without explicit 418 request. In order to support the push mode, the AE (i.e., 419 Diameter server) should be able to initiate a Diameter 420 authorization session to communicate with the NE (i.e., Diameter 421 client) without any pre-established connection from the network 422 element. 424 Pull mode 425 The QoS authorization process is triggered by the network 426 signaling received from end-user equipment or by a local event in 427 the NE according to pre-configured policies, and authorization 428 decisions are produced upon the request of the NE. In order to 429 support the pull mode, the NE (i.e., Diameter client) will 430 initiate a Diameter authorization session to communicate with the 431 authorizing entity (i.e., Diameter server). 433 For Category 1 and 2 Application Endpoints, Push mode is REQUIRED. 434 For a Category 3 AppE, either Push mode or Pull mode MAY be used. 436 Push mode is applicable to certain networks, for example, Cable 437 network, DSL, Ethernet, and Diffserv-enabled IP/MPLS. The Pull mode 438 is more appropriate to IntServ-enabled IP networks or certain 439 wireless networks such as the GPRS networks defined by 3GPP. Some 440 networks (for example, WiMAX) may require both Push and Pull modes. 442 3.3. Authorization Schemes 444 3.3.1. Pull Mode Schemes 446 Three types of basic authorization schemes for Pull mode exist: one 447 type of two-party scheme and two types of three-party schemes. The 448 notation adopted here is in respect to the entity that performs the 449 QoS authorization (QoS Authz). The authentication of the QoS 450 requesting entity might be done at the NE as part of the QoS 451 signaling protocol, or by an off-path protocol (on the application 452 layer or for network access authentication) or the AE might be 453 contacted with request for authentication and authorization of the 454 QoS requesting entity. From the Diameter QoS application's point of 455 view these schemes differ in type of information that need to be 456 carried. Here we focus on the 'Basic Three Party Scheme' (see 457 Figure 3) and the 'Token-based Three Party Scheme' (see Figure 4). 458 In the 'Two Party Scheme', the QoS RRE is authenticated by the NE and 459 the authorization decision is made either locally at the NE itself or 460 offloaded to a trusted entity (most likely within the same 461 administrative domain). In the two-party case no Diameter QoS 462 protocol interaction is required. 464 +--------------+ 465 | Authorizing | 466 | Entity | 467 | authorizing | <......+ 468 | resource | . 469 | request | . 470 +------------+-+ . 471 --^----------|-- . . 472 ///// | | \\\\\ . 473 // | | \\ . 474 | QoS | QoS AAA | QoS |. 475 | authz| protocol |authz |. 476 | req.| | res. |. 477 \\ | | // . 478 \\\\\ | | ///// . 479 QoS --|----------v-- . . 480 +-------------+ request +-+------------+ . 481 | Entity |----------------->| NE | . 482 | requesting | | performing | . 483 | resource |granted / rejected| QoS | <.....+ 484 | |<-----------------| reservation | financial 485 +-------------+ +--------------+ settlement 487 Figure 3: Three Party Scheme 489 In the 'Basic Three Party Scheme' a QoS reservation request that 490 arrives at the NE is forwarded to the Authorizing Entity (e.g., in 491 the user's home network), where the authorization decision is made. 492 As shown, financial settlement - a business relationship, such as a 493 roaming agreement, between the visited network and the home network 494 ensures that the visited network is compensated for the resources 495 consumed by the user via the home network. 497 financial settlement 498 ...........................+ 499 Authorization V ------- . 500 Token Request +--------------+ / QoS AAA \ . 501 +-------------->| | / protocol \ . 502 | | Authorizing +--------------+ \ . 503 | | Entity | | | | . 504 | +------+ |<--+----+ | | . 505 | | +--------------+ |QoS | |QoS |. 506 | | |authz| |authz|. 507 | |Authorization |req.+| |res. |. 508 | |Token |Token| | |. 509 | | | | | . | . 510 | | \ | | . / . 511 | | \ | | / . 512 | | QoS request |-----V . . 513 +-------------+ + Authz. Token +--------+-----+ . 514 | Entity |----------------->| NE | . 515 | requesting | | performing | . 516 | resource |granted / rejected| QoS | <....+ 517 | |<-----------------| reservation | 518 +-------------+ +--------------+ 520 Figure 4: Token-based Three Party Scheme 522 The 'Token-based Three Party Scheme' is applicable to environments 523 where a previous protocol interaction is used to request 524 authorization tokens to assist the authorization process at the NE or 525 the AE [RFC3521]. 527 The QoS RRE may be involved in an application layer protocol 528 interaction, for example using SIP [RFC3313], with the AE. As part 529 of this interaction, authentication and authorization at the 530 application layer might take place. As a result of a successful 531 authorization decision, which might involve the user's home AAA 532 server, an authorization token is generated by the AE (e.g., the SIP 533 proxy and an entity trusted by the SIP proxy) and returned to the end 534 host for inclusion into the QoS signaling protocol. The 535 authorization token will be used by a NE that receives the QoS 536 signaling message to authorize the QoS request. Alternatively, the 537 Diameter QoS application will be used to forward the authorization 538 token to the user's home network. The authorization token allows 539 that the authorization decision performed at the application layer 540 can be associated with a corresponding QoS signaling session. Note 541 that the authorization token might either refer to established state 542 concerning the authorization decision or the token might itself carry 543 the authorized parameters (protected by a digital signature or a 544 keyed message digest to prevent tampering). In the latter case the 545 authorization token may contain several pieces of information 546 pertaining to the authorized application session, but at minimum it 547 should contain: 548 o An identifier for the AE (for example, an AppS) that issued the 549 authorization token 550 o An identifier referring to a specific application protocol session 551 for which the token was issued and 552 o A keyed message digest or digital signature protecting the content 553 of the authorization token 555 A possible structure for the authorization token and the policy 556 element carrying it are proposed in context of RSVP [RFC3520]. 558 In the scenario mentioned above, where the QoS resource requesting 559 entity is involved in an application layer protocol interaction with 560 the AE, it may be worthwhile to consider a token-less binding 561 mechanism also. The application layer protocol interaction may have 562 indicated the transport port numbers at the QoS RRE where it might 563 receive media streams (for example in SIP/SDP [RFC4566] signalling, 564 these port numbers are advertised). The QoS RRE may also use these 565 port numbers in some IP filter indications to the NE performing QoS 566 reservation so that it may properly tunnel the inbound packets. The 567 NE performing QoS reservation will forward the QoS resource 568 requesting entity's IP address and the IP filter indications to the 569 AE in the QoS authorization request. The AE will use the QoS RRE's 570 IP address and the port numbers in the IP filter indication, which 571 will match the port numbers advertised in the earlier application 572 layer protocol interaction, to identify the right piece of policy 573 information to be sent to the NE performing the QoS reservation in 574 the QoS Authorization. response. 576 3.3.2. Push Mode Schemes 578 The push mode can be further divided into two types: endpoint- 579 initiated and network-initiated. In the former case, the 580 authorization process is triggered by AppS in response to an explicit 581 QoS request from an endpoint through application signaling, e.g., 582 SIP; in the latter case, the authorization process is triggered by 583 the AppS without an explicit QoS request from an endpoint. 585 In the endpoint-initiated scheme, the QoS RRE (i.e., the AppE) 586 determines the required application level QoS and sends a QoS request 587 through an application signaling message. The AppS will extract 588 application-level QoS information and trigger the authorization 589 process to the AE. In the network-initiated scheme, the AE and/or 590 AppS should derive and determine the QoS requirements according to 591 application attribute, subscription and endpoint's capability when 592 the endpoint does not explicitly indicate the QoS attributes. The AE 593 makes an authorization decision based on application level QoS 594 information, network policies, end-user subscription, network 595 resource availability, etc., and installs the decision to NE 596 directly. 598 A Category 1 AppE requires network-initiated Push mode and a Category 599 2 AppE may use either type of Push Mode. 601 financial settlement 602 ...........................+ 603 Application V ------- . 604 signaling msg +--------------+ / QoS AAA \ . 605 +-------------->| | / protocol \ . 606 | | Authorizing +--------------+ \ . 607 | | Entity | | | | . 608 | + |<--+----+ | | . 609 | +--------------+ |QoS | |QoS |. 610 | install| |install 611 | |rsp. | |req. |. 612 | | | | |. 613 | | | | . | . 614 | \ | | . / . 615 | \ | | / . 616 V |-----V . . 617 +-------------+ +--------+-----+ . 618 | Entity | | NE | . 619 | requesting | | performing | . 620 | resource |QoS rsrc granted | QoS | <....+ 621 | |<-----------------| reservation | 622 +-------------+ +--------------+ 624 Figure 5: Scheme for Push Mode 626 3.4. QoS Application Requirements 628 A QoS application must meet a number of requirements applicable to a 629 diverse set of networking environments and services. It should be 630 compatible with different deployment scenarios having specific QoS 631 signaling models and security issues. Satisfying the requirements 632 listed below while interworking with QoS signaling protocols, a 633 Diameter QoS application should accommodate the capabilities of the 634 QoS signaling protocols rather than introducing functional 635 requirements on them. A list of requirements for a QoS authorization 636 application is provided here: 638 Identity-based Routing 639 The Diameter QoS application MUST route AAA requests to the 640 Authorizing Entity, based on the provided identity of the QoS 641 requesting entity or the identity of the AE encoded in the 642 provided authorization token. 644 Flexible Authentication Support 645 The Diameter QoS application MUST support a variety of different 646 authentication protocols for verification of authentication 647 information present in QoS signaling messages. The support for 648 these protocols MAY be provided indirectly by tying the signaling 649 communication for QoS to a previous authentication protocol 650 exchange (e.g., using network access authentication). 652 Making an Authorization Decision 653 The Diameter QoS application MUST exchange sufficient information 654 between the AE and the enforcing entity (and vice versa) to 655 compute an authorization decision and to execute this decision. 657 Triggering an Authorization Process 658 The Diameter QoS application MUST allow periodic and event 659 triggered execution of the authorization process, originated at 660 the enforcing entity or even at the AE. 662 Associating QoS Reservations and Application State 663 The Diameter QoS application MUST carry information sufficient for 664 an AppS to identify the appropriate application session and 665 associate it with a particular QoS reservation. 667 Dynamic Authorization 668 It MUST be possible for the Diameter QoS application to push 669 updates towards the NE(s) from authorizing entities. 671 Bearer Gating 672 The Diameter QoS application MUST allow the AE to gate (i.e., 673 enable/disable) authorized application flows based on, e.g., 674 application state transitions. 676 Accounting Records 677 The Diameter QoS application MAY define QoS accounting records 678 containing duration, volume (byte count) usage information and 679 description of the QoS attributes (e.g., bandwidth, delay, loss 680 rate) that were supported for the flow. 682 Sending Accounting Records 683 The NE SHOULD be able to send accounting records for a particular 684 QoS reservation state to an accounting entity. 686 Failure Notification 687 The Diameter QoS application MUST allow the NE to report failures, 688 such as loss of connectivity due to movement of a mobile node or 689 other reasons for packet loss, to the authorizing entity. 691 Accounting Correlation 692 The Diameter QoS application MAY support the exchange of 693 sufficient information to allow for correlation between accounting 694 records generated by the NEs and accounting records generated by 695 an AppS. 697 Interaction with other AAA Applications 698 Interaction with other AAA applications, such as the Diameter 699 Network Access (NASREQ) application [RFC4005], may be required for 700 exchange of authorization, authentication and accounting 701 information. 703 In deployment scenarios where authentication of the QoS reservation 704 requesting entity (e.g., the user) is done by means outside the 705 Diameter QoS application protocol interaction, the AE is contacted 706 only with a request for QoS authorization. Authentication might have 707 taken place already via the interaction with the Diameter NASREQ 708 application or as part of the QoS signaling protocol (e.g., Transport 709 Layer Security (TLS) [RFC5246] in the General Internet Signaling 710 Transport (GIST) protocol [I-D.ietf-nsis-ntlp]). 712 Authentication of the QoS reservation requesting entity to the AE is 713 necessary if a particular Diameter QoS application protocol cannot be 714 related (or if there is no intention to relate it) to a prior 715 authentication. In this case the AE MUST authenticate the QoS 716 reservation requesting entity in order to authorize the QoS request 717 as part of the Diameter QoS protocol interaction. 719 The document refers to three types of sessions that need to be 720 properly correlated. 722 QoS Signaling Session 723 The time period during which a QoS signaling protocol establishes, 724 maintains and deletes a QoS reservation state at the QoS network 725 element is referred to as QoS signaling session. Different QoS 726 signaling protocols use different ways to identify QoS signaling 727 sessions. The same applies to different usage environments. 728 Currently, this document supports three types of QoS session 729 identifiers, namely a signaling session id (e.g., the Session 730 Identifier used by the NSIS protocol suite), a flow id (e.g., 731 identifier assigned by an application to a certain flow as used in 732 the 3GPP) and a flow description based on the IP parameters of the 733 flow's end points. 735 Diameter Authorization Session 736 The time period, for which a Diameter server authorizes a 737 requested service (i.e., QoS resource reservation) is referred to 738 as a Diameter authorization session. It is identified by a 739 Session-Id included in all Diameter messages used for management 740 of the authorized service (initial authorization, re- 741 authorization, termination), see [RFC3588]. 743 Application-layer Session 744 The application layer session identifies the duration of an 745 application layer service which requires provision of certain QoS. 746 An application layer session identifier is provided by the QoS 747 requesting entity in the QoS signaling messages, for example as 748 part of the authorization token. In general, the application 749 session identifier is opaque to the QoS aware NEs. It is included 750 in the authorization request message sent to the AE and helps it 751 to correlate the QoS authorization request to the application 752 session state information. 754 Correlating these sessions is done at each of the three involved 755 entities: The QoS requesting entity correlates the application with 756 the QoS signaling sessions. The QoS NE correlates the QoS signaling 757 session with the Diameter authorization sessions. The AE SHOULD bind 758 the information about the three sessions together. Note that in 759 certain scenarios not all of the sessions are present. For example, 760 the application session might not be visible to QoS signaling 761 protocol directly if there is no binding between the application 762 session and the QoS requesting entity using the QoS signaling 763 protocol. 765 4. QoS Application Session Establishment and Management 767 4.1. Parties Involved 769 Authorization models supported by this application include three 770 parties: 771 o Resource Requesting Entity 772 o Network Elements (Diameter QoS application (DQA) client) 773 o Authorizing Entity (Diameter QoS application (DQA) server) 775 Note that the QoS RRE is only indirectly involved in the message 776 exchange. This entity provides the trigger to initiate the Diameter 777 QoS protocol interaction by transmitting QoS signaling messages. The 778 Diameter QoS application is only executed between the Network Element 779 (i.e., DQA client) and the Authorizing Entity (i.e., DQA server). 781 The QoS RRE may communicate with the AE using application layer 782 signaling for negotiation of service parameters. As part of this 783 application layer protocol interaction, for example using SIP, 784 authentication and authorization might take place. This message 785 exchange is, however, outside the scope of this document. The 786 protocol communication between the QoS resource requesting entity and 787 the QoS NE might be accomplished using the NSIS protocol suite, RSVP 788 or a link layer signaling protocol. A description of these protocols 789 is also outside the scope of this document. 791 4.2. Session Establishment 793 The Pull and Push modes use a different set of command codes for 794 session establishment. For other operations, such as session 795 modification and termination, they use the same set of command codes. 797 The selection of Pull mode or Push mode operation is based on the 798 trigger of the QoS Authorization session. When a QoS-Authorization- 799 Request (QAR, see Section 5.1) message with a new session ID is 800 received, the AE operates in the Pull mode; when other triggers are 801 received, the AE operates in the Push mode. Similarly, when a QoS- 802 Install-Request (QIR, see Section 5.3} with a new session ID is 803 received, the NE operates in the Push mode; when other triggers are 804 received, the NE operation in the Pull mode. 806 The QoS authorization session is typically established per subscriber 807 base (i.e., all requests with the same user ID), but it is also 808 possible to be established on per node or per request base. The 809 concurrent sessions between an NE and an AE are identified by 810 different Session-ID. 812 4.2.1. Session Establishment for Pull Mode 814 A request for a QoS reservation or local events received by a NE can 815 trigger the initiation of a Diameter QoS authorization session. The 816 NE converts the required objects from the QoS signaling message to 817 Diameter AVPs and generates a QAR message. 819 Figure 6 shows the protocol interaction between a Resource Requesting 820 Entity, a Network Element and the Authorizing Entity. 822 The AE's identity, information about the application session and/or 823 identity and credentials of the QoS RRE, requested QoS parameters, 824 signaling session identifier and/or QoS enabled data flows 825 identifiers MAY be encapsulated into respective Diameter AVPs and 826 included in the Diameter message sent to the AE. The QAR is sent to 827 a Diameter server that can either be the home server of the QoS 828 requesting entity or an AppS. 830 +------------------------------------------+------------------------+ 831 | QoS-specific Input Data | Diameter AVPs | 832 +------------------------------------------+------------------------+ 833 | Authorizing entity ID (e.g., | Destination-Host | 834 | Destination-Host taken from | Destination-Realm | 835 | authorization token, Destination-Realm | | 836 | or derived from the NAI of the QoS | | 837 | requesting entity) | | 838 | | | 839 | Authorization Token Credentials of the | QoS-Authorization-Data | 840 | QoS requesting entity | User-Name | 841 | | | 842 | QoS-Resources (including QoS parameters) | | 843 +------------------------------------------+------------------------+ 845 Table 1: Mapping Input Data to QoS AVPs--Pull Mode 847 Authorization processing starts at the Diameter QoS server when it 848 receives the QAR. Based on the information in the QoS- 849 Authentication-Data, User-Name and QoS-Resources AVPs the server 850 determines the authorized QoS resources and flow state (enabled/ 851 disabled) from locally available information (e.g., policy 852 information that may be previously established as part of an 853 application layer signaling exchange, or the user's subscription 854 profile). The QoS-Resources AVP is defined in 855 [I-D.ietf-dime-qos-attributes]. The authorization decision is then 856 reflected in the response returned to the Diameter client with the 857 QoS-Authorization-Answer message (QAA). 859 Authorizing 860 End-Host Network Element Entity 861 requesting QoS ( Diameter ( Diameter 862 QoS Client) QoS Server) 863 | | | 864 +---QoS-Reserve---->| | 865 | +- - - - - QAR - - - - - >| 866 | |(QoS-Resources, | 867 | | QoS-Auth-Data,User-ID)| 868 | | +--------+--------------+ 869 | | | Authorize request | 870 | | | Keep session data | 871 | | |/Authz-time,Session-Id/| 872 | | +--------+--------------+ 873 | |< - - - - QAA - - - - - -+ 874 | |(Result-Code, | 875 | |QoS-Resources,Authz-time)| 876 | +-------+---------+ 877 | |Install QoS state| 878 | | + | 879 | | Authz. session | 880 | | /Authz-time/ | QoS Responder 881 | | | Node 882 | +-------+---------+ | 883 | +----------QoS-Reserve---....--->| 884 | | | 885 | |<---------QoS-Response--....----| 886 |<--QoS-Response----+ | 887 | | | 888 |=====================Data Flow==============....===>| 890 Figure 6: Initial QoS Request Authorization for Pull Mode 892 The Authorizing Entity keeps authorization session state and SHOULD 893 save additional information for management of the session (e.g., 894 Signaling-Session-Id, authentication data) as part of the session 895 state information. 897 The final result of the authorization request is provided in the 898 Result-Code AVP of the QAA message sent by the Authorizing Entity. 899 In case of successful authorization (i.e., Result-Code = 900 DIAMETER_LIMITED_SUCCESS, (see Section 7.1)), information about the 901 authorized QoS resources and the status of the authorized flow 902 (enabled/disabled) is provided in the QoS-Resources AVP of the QAA 903 message. The QoS information provided via the QAA is installed by 904 the QoS Traffic Control function of the NE. The value 905 DIAMETER_LIMITED_SUCCESS indicates that the AE expects confirmation 906 via another QAR message for successful QoS resource reservation and 907 for final reserved QoS resources (see below). 909 One important piece of information returned from the Authorizing 910 Entity is the authorization lifetime (carried inside the QAA). The 911 authorization lifetime allows the NE to determine how long the 912 authorization decision is valid for this particular QoS reservation. 913 A number of factors may influence the authorized session duration, 914 such as the user's subscription plan or currently available credits 915 at the user's account (see Section 8). The authorization duration is 916 time-based, as specified in [RFC3588]. For an extension of the 917 authorization period, a new QoS-Authorization-Request/Answer message 918 exchange SHOULD be initiated. Further aspects of QoS authorization 919 session maintenance is discussed in Section 4.3, Section 4.4 and 920 Section 8. 922 The indication of a successful QoS reservation and activation of the 923 data flow is provided by the transmission of a QAR message, which 924 reports the parameters of the established QoS state: reserved 925 resources, duration of the reservation, and identification of the QoS 926 enabled flow/QoS signaling session. The Diameter QoS server 927 acknowledges the reserved QoS resources with the QA Answer (QAA) 928 message where the Result-Code is set to 'DIAMETER_SUCCESS'. Note 929 that the reserved QoS resources reported in this QAR message MAY be 930 different than those authorized with the initial QAA message, due to 931 the QoS signaling specific behavior (e.g., receiver-initiated 932 reservations with One-Path-With-Advertisements) or specific process 933 of QoS negotiation along the data path. 935 4.2.2. Session Establishment for Push Mode 937 The Diameter QoS server in the AE initiates a Diameter QoS 938 authorization session upon the request for QoS reservation triggered 939 by application layer signaling or by local events, and generates a 940 QoS-Install-Request (QIR) message to Diameter QoS client in the NE in 941 which it maps required objects to Diameter payload objects. 943 Figure 7 shows the protocol interaction between the AE, a Network 944 Element and a RRE. 946 The NE's identity, information about the application session and/or 947 identity and credentials of the QoS resource requesting entity, 948 requested QoS parameters, signaling session identifier and/or QoS 949 enabled data flows identifiers MAY be encapsulated into respective 950 Diameter AVPs and included into the Diameter message sent from a 951 Diameter QoS server in the Authorizing Entity to a Diameter QoS 952 client in the NE. This requires that the AE has knowledge of 953 specific information for allocating and identifying the NE that 954 should be contacted and the data flow for which the QoS reservation 955 should be established. This information can be statically configured 956 or dynamically discovered, see Section 4.2.3 for details. 958 +-----------------------------------------+-------------------------+ 959 | QoS-specific Input Data | Diameter AVPs | 960 +-----------------------------------------+-------------------------+ 961 | Network Element ID | Destination-Host | 962 | | Destination-Realm | 963 | | | 964 | Authorization Token Credentials of the | QoS-Authorization-Data | 965 | QoS requesting entity | User-Name | 966 | | | 967 | QoS-Resources (including QoS | | 968 | parameters) | | 969 +-----------------------------------------+-------------------------+ 971 Table 2: Mapping Input Data to QoS AVPs--Push Mode 973 Authorization processing starts at the Diameter QoS server when it 974 receives a request from a RRE through an AppS (e.g., SIP Invite) or 975 is triggered by a local event (e.g., pre-configured timer). Based on 976 the received information the server determines the authorized QoS 977 resources and flow state (enabled/disabled) from locally available 978 information (e.g., policy information that may be previously 979 established as part of an application layer signaling exchange, or 980 the user's subscription profile). The authorization decision is then 981 reflected in the QoS-Install-Request message (QIR) to the Diameter 982 QoS client. 984 Authorizing 985 End-Host Network Element Entity 986 requesting QoS ( Diameter ( Diameter 987 QoS Client) QoS Server) 988 | | | 989 | | |<-- Trigger -- 990 | | +--------+--------------+ 991 | | | Authorize request | 992 | | | Keep session data | 993 | | |/Authz-time,Session-Id/| 994 | | +--------+--------------+ 995 | | | 996 | |<-- - -- - QIR - - - - - -+ 997 | |(Initial Request,Decision | 998 | |(QoS-Resources,Authz-time)| 999 | +-------+---------+ 1000 | |Install QoS state| 1001 | | + | 1002 | | Authz. session | 1003 | | /Authz-time/ | 1004 | | | 1005 | +-------+---------+ 1006 | + - - - - QIA - - - - - ->| 1007 | | (Result-Code, | 1008 | | QoS-Resources) | 1009 | | +--------+--------------+ 1010 | | | Report for successful | 1011 | | | QoS reservation | 1012 | | |Update of reserved QoS | 1013 | | | resources | 1014 | | +--------+--------------+ 1015 | | QoS Responder 1016 | | Node 1017 | | | 1018 |=====================Data Flow==============....===>| 1020 Figure 7: Initial QoS Request Authorization for Push Mode 1022 The AE keeps authorization session state and SHOULD save additional 1023 information for management of the session (e.g., 1024 Signaling-Session-Id, authentication data) as part of the session 1025 state information. 1027 The final result of the authorization decision is provided in the 1028 QoS-Resources AVP of the QIR message sent by the AE. The QoS 1029 information provided via the QIR is installed by the QoS Traffic 1030 Control function of the NE. 1032 One important piece of information from the AE is the authorization 1033 lifetime (carried inside the QIR). The authorization lifetime allows 1034 the NE to determine how long the authorization decision is valid for 1035 this particular QoS reservation. A number of factors may influence 1036 the authorized session duration, such as the user's subscription plan 1037 or currently available credits at the user's account (see Section 8). 1038 The authorization duration is time-based as specified in [RFC3588]. 1039 For an extension of the authorization period, a new QoS-Install- 1040 Request/Answer message or QoS-Authorization-Request/Answer message 1041 exchange SHOULD be initiated. Further aspects of QoS authorization 1042 session maintenance are discussed in Section 4.3, Section 4.4 and 1043 Section 8. 1045 The indication of QoS reservation and activation of the data flow can 1046 be provided by the QoS-Install-Answer message immediately. In the 1047 case of successful enforcement, the Result-Code (= DIAMETER_SUCCESS, 1048 (see Section 7.1)) information is provided in the QIA message. Note 1049 that the reserved QoS resources reported in the QIA message may be 1050 different than those initially authorized with the QIR message, due 1051 to the QoS signaling specific behavior (e.g., receiver-initiated 1052 reservations with One-Path-With-Advertisements) or specific process 1053 of QoS negotiation along the data path. In the case Multiple AEs 1054 control the same NE, the NE should make the selection on the 1055 authorization decision to be enforced based on the priority of the 1056 request. 1058 4.2.3. Discovery and Selection of Peer Diameter QoS Application Node 1060 The Diameter QoS application node may obtain information of its peer 1061 nodes (e.g., FQDN, IP address) through static configuration or 1062 dynamic discovery as described in Section 5.2 of [RFC3588]. In 1063 particular, the NE shall perform the relevant operation for Pull 1064 mode; the AE shall perform the relevant operations for Push mode. 1066 Upon receipt of a trigger to initiate a new Diameter QoS 1067 authorization session, the Diameter QoS application node selects and 1068 retrieves the location information of the peer node that is 1069 associated with the affected user based on some index information 1070 provided by the RRE. For instance, it can be the Authorization 1071 Entity's ID stored in the authorization token, the end-user's 1072 identity (e.g., NAI [RFC4282]) or a globally routable IP address. 1074 4.3. Session Re-authorization 1076 Client and server-side initiated re-authorizations are considered in 1077 the design of the Diameter QoS application. Whether the re- 1078 authorization events are transparent for the resource requesting 1079 entity or result in specific actions in the QoS signaling protocol is 1080 outside the scope of the Diameter QoS application. It is directly 1081 dependent on the capabilities of the QoS signaling protocol. 1083 There are a number of options for policy rules according to which the 1084 NE (AAA client) contacts the AE for re-authorization. These rules 1085 depend on the semantics and contents of the QAA message sent by the 1086 AE: 1088 a. The QAA message contains the authorized parameters of the flow 1089 and its QoS and sets their limits (presumably upper). With these 1090 parameters the AE specifies the services that the NE can provide 1091 and will be financially compensated for. Therefore, any change 1092 or request for change of the parameters of the flow and its QoS 1093 that do not conform to the authorized limits requires contacting 1094 the AE for authorization. 1095 b. The QAA message contains authorized parameters of the flow and 1096 its QoS. The rules that determine whether parameters' changes 1097 require re-authorization are agreed out of band, based on a 1098 Service Level Agreement (SLA) between the domains of the NE and 1099 the AE. 1100 c. The QAA message contains the authorized parameters of the flow 1101 and its QoS. Any change or request for change of these 1102 parameters requires contacting the AE for re-authorization. 1103 d. In addition to the authorized parameters of the flow and its QoS, 1104 the QAA message contains policy rules that determine the NEs 1105 actions in case of change or request for change in authorized 1106 parameters. 1108 Provided options are not exhaustive. Elaborating on any of the 1109 listed approaches is deployment /solution specific and is not 1110 considered in the current document. 1112 In addition, the AE may use a RAR (Re-Authorization-Request) to 1113 perform re-authorization with the authorized parameters directly when 1114 the re-authorization is triggered by service request or local events/ 1115 policy rules. 1117 4.3.1. Client-Side Initiated Re-Authorization 1119 The AE provides the duration of the authorization session as part of 1120 the QoS-Authorization-Answer message (QAA). At any time before 1121 expiration of this period, a new QoS-Authorization-Request message 1122 (QAR) MAY be sent to the AE. The transmission of the QAR MAY be 1123 triggered when the NE receives a QoS signaling message that requires 1124 modification of the authorized parameters of an ongoing QoS session, 1125 or authorization lifetime expires. 1127 Authorizing 1128 End-Host Network Element Entity 1129 requesting QoS ( Diameter ( Diameter 1130 QoS Client) QoS Server) 1131 | | | 1132 |=====================Data Flow==========================> 1133 | | | 1134 | +-------+----------+ | 1135 | |Authz-time/CC-Time| | 1136 | | expires | | 1137 | +-------+----------+ | 1138 | +- - - - - QAR - - - - - >| 1139 | |(QoS-Resources, | 1140 | | QoS-Authorization-Data,User-ID) | 1141 | +--------+--------------+ 1142 NOTE: | | Authorize request | 1143 Re-authorization | | Update session data | 1144 is transparent to | |/Authz-time,Session-Id/| 1145 the End-Host | +--------+--------------+ 1146 |< - - - - QAA - - - - - -+ 1147 | |(Result-Code, | 1148 | |QoS-Resources,Authz-time)| 1149 | +-------+---------+ | 1150 | |Update QoS state | | 1151 | | + | | 1152 | | Authz. session | | 1153 | | /Authz-time/ | | 1154 | | | | 1155 | +-------+---------+ | 1156 | | | 1157 |=====================Data Flow==========================> 1158 | | 1160 Figure 8: Client-side Initiated QoS Re-Authorization 1162 4.3.2. Server-Side Initiated Re-Authorization 1164 The AE MAY initiate a QoS re-authorization by issuing a Re-Auth- 1165 Request message (RAR) as defined in the Diameter base protocol 1166 [RFC3588], which may include the parameters of the re-authorized QoS 1167 state: reserved resources, duration of the reservation, 1168 identification of the QoS enabled flow/QoS signaling session for re- 1169 installation of the resource state by the QoS Traffic Control 1170 function of the NE. 1172 A NE that receives such a RAR message with Session-Id matching a 1173 currently active QoS session acknowledges the request by sending the 1174 Re-Auth-Answer (RAA) message towards the AE. 1176 If RAR does not include any parameters of the re-authorized QoS 1177 state, the NE MUST initiate a QoS re-authorization by sending a QoS- 1178 Authorization-Request (QAR) message towards the AE. 1180 Authorizing 1181 End-Host Network Element Entity 1182 requesting QoS ( Diameter ( Diameter 1183 QoS Client) QoS Server) 1184 | | | 1185 | | |<-- Trigger -- 1186 | | +--------+--------------+ 1187 | | | Authorize request | 1188 | | | Keep session data | 1189 | | |/Authz-time,Session-Id/| 1190 | | +--------+--------------+ 1191 | | | 1192 | |<-- - -- - RAR - - - - - -+ 1193 | |(Request,Decision | 1194 | |(QoS-Resources,Authz-time)| 1195 | +-------+---------+ 1196 | |Install QoS state| 1197 | | + | 1198 | | Authz. session | 1199 | | /Authz-time/ | 1200 | | | 1201 | +-------+---------+ 1202 | + - - - - RAA - - - - - ->| 1203 | | (Result-Code, | 1204 | | QoS-Resources) | 1205 | | +--------+--------------+ 1206 | | | Report for successful | 1207 | | | QoS reservation | 1208 | | |Update of reserved QoS | 1209 | | | resources | 1210 | | +--------+--------------+ 1211 | | | 1213 Figure 9: Server-side Initiated QoS Re-Authorization 1215 4.4. Session Termination 1217 4.4.1. Client-Side Initiated Session Termination 1219 The authorization session for an installed QoS reservation state MAY 1220 be terminated by the Diameter client by sending a Session- 1221 Termination-Request message (STR) to the Diameter server with a 1222 response Session-Termination-Acknowledgement message (STA). This is 1223 a Diameter base protocol function and it is defined in [RFC3588]. 1224 Session termination can be caused by a QoS signaling messaging 1225 requesting deletion of the existing QoS reservation state or it can 1226 be caused as a result of a soft-state expiration of the QoS 1227 reservation state. 1229 Authorizing 1230 End-Host Network Element Entity 1231 requesting QoS ( Diameter ( Diameter 1232 QoS Client) QoS Server) 1233 | | | 1234 |==Data Flow==>X /Stop of the data flow/ | 1235 | | | 1236 +---QoS-Reserve---->| | 1237 | (Delete QoS +- - - - - STR - - - - - >| 1238 | reservation) | +--------+--------------+ 1239 | | | Remove authorization | 1240 | | | session state | 1241 | | +--------+--------------+ 1242 | |< - - - - STA - - - - - -+ 1243 | +-------+--------+ | 1244 | |Delete QoS state| 1245 | +-------+--------+ QoS Responder 1246 | | Node 1247 | +----------QoS-Reserve-----....--->| 1248 | | (Delete QoS | 1249 | | reservation) | 1250 | |<---------QoS-Response----....----+ 1251 |<--QoS-Response----+ | 1253 Figure 10: Client-Side Initiated Session Termination 1255 4.4.2. Server-Side Initiated Session Termination 1257 At anytime during a session the AE MAY send an Abort-Session-Request 1258 message (ASR) to the NE. This is a Diameter base protocol function 1259 and it is defined in [RFC3588]. Possible reasons for initiating the 1260 ASR message to the NE are insufficient credits or session termination 1261 at the application layer. The ASR message results in termination of 1262 the authorized session, release of the reserved resources at the NE 1263 and transmission of an appropriate QoS signaling message indicating a 1264 notification to other Network Elements aware of the signaling 1265 session. 1267 Authorizing 1268 End-Host Network Element Entity 1269 requesting QoS ( Diameter ( Diameter 1270 QoS Client) QoS Server) 1271 | | | 1272 |=====================Data Flow==========================> 1273 | | 1274 | |< - - - - ASR - - - - - -+ 1275 | | | 1276 |====Data Flow=====>X | QoS Responder 1277 | | | Node 1278 |<--QoS-Notify------+----------QoS-Reserve-----....--->| 1279 | | (Delete QoS | | 1280 | reservation) | 1281 +-------+--------+ | 1282 |Delete QoS state| | 1283 +-------+--------+ | 1284 +- - - - - ASA - - - - - >| 1285 | +--------+--------------+ 1286 | | Remove authorization | 1287 | | session state | 1288 | +--------+--------------+ 1289 | QoS Responder 1290 | Node 1291 |<---------QoS-Response----....----+ 1292 | | 1294 Figure 11: Server-Side Initiated Session Termination 1296 5. QoS Application Messages 1298 The Diameter QoS application requires the definition of new mandatory 1299 AVPs and Command-codes (see Section 3 of [RFC3588]). Four new 1300 Diameter messages are defined along with Command-Codes whose values 1301 MUST be supported by all Diameter implementations that conform to 1302 this specification. 1304 +---------------------------+---------+--------+-------------+ 1305 | Command Name | Abbrev. | Code | Reference | 1306 +---------------------------+---------+--------+-------------+ 1307 | QoS-Authorization-Request | QAR | [TBD1] | Section 5.1 | 1308 | | | | | 1309 | QoS-Authorization-Answer | QAA | [TBD2] | Section 5.2 | 1310 | | | | | 1311 | QoS-Install-Request | QIR | [TBD3] | Section 5.3 | 1312 | | | | | 1313 | QoS-Install-Answer | QIA | [TBD4] | Section 5.4 | 1314 +---------------------------+---------+--------+-------------+ 1316 Table 3: Diameter QoS Commands 1318 In addition, the following Diameter Base protocol messages are used 1319 in the Diameter QoS application: 1321 +-----------------------+---------+------+-----------+ 1322 | Command-Name | Abbrev. | Code | Reference | 1323 +-----------------------+---------+------+-----------+ 1324 | Re-Auth-Request | RAR | 258 | [RFC3588] | 1325 | | | | | 1326 | Re-Auth-Answer | RAA | 258 | [RFC3588] | 1327 | | | | | 1328 | Abort-Session-Request | ASR | 274 | [RFC3588] | 1329 | | | | | 1330 | Abort-Session-Answer | ASA | 274 | [RFC3588] | 1331 | | | | | 1332 | Session-Term-Request | STR | 275 | [RFC3588] | 1333 | | | | | 1334 | Session-Term-Answer | STA | 275 | [RFC3588] | 1335 +-----------------------+---------+------+-----------+ 1337 Table 4: Diameter Base Commands 1339 Diameter nodes conforming to this specification MAY advertise support 1340 for the Diameter QoS application by including the value of [TBD5] in 1341 the Auth-Application-Id or the Acct-Application-Id AVP of the 1342 Capabilities-Exchange-Request and Capabilities-Exchange-Answer 1343 commands, see [RFC3588]. 1345 The value of {TBD5] MUST be used as the Application-Id in all QAR/QAA 1346 and QIR/QIA commands. 1348 The value of zero (0) SHOULD be used as the Application-Id in all 1349 STR/STA, ASR/ASA, and RAR/RAA commands. 1351 5.1. QoS-Authorization Request (QAR) 1353 The QoS-Authorization-Request message (QAR) indicated by the Command- 1354 Code field (see Section 3 of [RFC3588]) set to [TBD1] and 'R' bit set 1355 in the Command Flags field is used by NEs to request quality of 1356 service related resource authorization for a given flow. 1358 The QAR message MUST carry information for signaling session 1359 identification, AE identification, information about the requested 1360 QoS, and the identity of the QoS requesting entity. In addition, 1361 depending on the deployment scenario, an authorization token and 1362 credentials of the QoS requesting entity SHOULD be included. 1364 The message format is defined as follows: 1366 ::= < Diameter Header: [TBD1], REQ, PXY > 1367 < Session-Id > 1368 { Auth-Application-Id } 1369 { Origin-Host } 1370 { Origin-Realm } 1371 { Destination-Realm } 1372 { Auth-Request-Type } 1373 [ Destination-Host ] 1374 [ User-Name ] 1375 * [ QoS-Resources ] 1376 [ QoS-Authorization-Data ] 1377 [ Bound-Auth-Session-Id ] 1378 * [ AVP ] 1380 5.2. QoS-Authorization Answer (QAA) 1382 The QoS-Authorization-Answer message (QAA), indicated by the Command- 1383 Code field set to [TBD2] and 'R' bit cleared in the Command Flags 1384 field is sent in response to the QoS-Authorization-Request message 1385 (QAR). If the QoS authorization request is successfully authorized, 1386 the response will include the AVPs to allow authorization of the QoS 1387 resources and transport plane gating information. 1389 The message format is defined as follows: 1391 ::= < Diameter Header: [TBD2], PXY > 1392 < Session-Id > 1393 { Auth-Application-Id } 1394 { Auth-Request-Type } 1395 { Result-Code } 1396 { Origin-Host } 1397 { Origin-Realm } 1398 * [ QoS-Resources ] 1399 [ Acct-Multisession-Id ] 1400 [ Session-Timeout ] 1401 [ Authorization-Session-Lifetime ] 1402 [ Authorization-Grace-Period ] 1403 * [ AVP ] 1405 5.3. QoS-Install Request (QIR) 1407 The QoS-Install Request message (QIR), indicated by the Command-Code 1408 field set to [TBD3] and 'R' bit set in the Command Flags field is 1409 used by AE to install or update the QoS parameters and the flow state 1410 of an authorized flow at the transport plane element. 1412 The message MUST carry information for signaling session 1413 identification or identification of the flow to which the provided 1414 QoS rules apply, identity of the transport plane element, description 1415 of provided QoS parameters, flow state and duration of the provided 1416 authorization. 1418 The message format is defined as follows: 1420 ::= < Diameter Header: [TBD3], REQ, PXY > 1421 < Session-Id > 1422 { Auth-Application-Id } 1423 { Origin-Host } 1424 { Origin-Realm } 1425 { Destination-Realm } 1426 { Auth-Request-Type } 1427 [ Destination-Host ] 1428 * [ QoS-Resources ] 1429 [ Session-Timeout ] 1430 [ Authorization-Session-Lifetime ] 1431 [ Authorization-Grace-Period ] 1432 [ Authorization-Session-Volume ] 1433 * [ AVP ] 1435 5.4. QoS-Install Answer (QIA) 1437 The QoS-Install Answer message (QIA), indicated by the Command-Code 1438 field set to [TBD4] and 'R' bit cleared in the Command Flags field is 1439 sent in response to the QoS-Install Request message (QIR) for 1440 confirmation of the result of the installation of the provided QoS 1441 reservation instructions. 1443 The message format is defined as follows: 1445 ::= < Diameter Header: [TBD4], PXY > 1446 < Session-Id > 1447 { Auth-Application-Id } 1448 { Origin-Host } 1449 { Origin-Realm } 1450 { Result-Code } 1451 * [ QoS-Resources ] 1452 * [ AVP ] 1454 5.5. Re-Auth-Request (RAR) 1456 The Re-Auth-Request message (RAR), indicated by the Command-Code 1457 field set to 258 and the 'R' bit set in the Command Flags field, is 1458 sent by the AE to the NE in order to initiate the QoS re- 1459 authorization from DQA server side. 1461 If the RAR command is received by the NE without any parameters of 1462 the re-authorized QoS state, the NE MUST initiate a QoS re- 1463 authorization by sending a QoS-Authorization-Request (QAR) message 1464 towards the AE. 1466 The message format is defined as follows: 1468 ::= < Diameter Header: 258, REQ, PXY > 1469 < Session-Id > 1470 { Origin-Host } 1471 { Origin-Realm } 1472 { Destination-Realm } 1473 { Destination-Host } 1474 { Auth-Application-Id } 1475 { Re-Auth-Request-Type } 1476 [ User-Name ] 1477 [ Origin-State-Id ] 1478 * [ Proxy-Info ] 1479 * [ Route-Record ] 1480 * [ QoS-Resources ] 1481 [ Session-Timeout ] 1482 [ Authorization-Session-Lifetime ] 1483 [ Authorization-Grace-Period ] 1484 [ Authorization-Session-Volume ] 1485 * [ AVP ] 1487 5.6. Re-Auth-Answer (RAA) 1489 The Re-Auth-Answer message (RAA), indicated by the Command-Code field 1490 set to 258 and the 'R' bit cleared in the Command Flags field, is 1491 sent by the NE to the AE in response to the RAR command. 1493 The message format is defined as follows: 1495 ::= < Diameter Header: 258, PXY > 1496 < Session-Id > 1497 { Result-Code } 1498 { Origin-Host } 1499 { Origin-Realm } 1500 [ User-Name ] 1501 [ Origin-State-Id ] 1502 [ Error-Message ] 1503 [ Error-Reporting-Host ] 1504 * [ Failed-AVP ] 1505 * [ Redirect-Host ] 1506 [ Redirect-Host-Usage ] 1507 [ Redirect-Host-Cache-Time ] 1508 * [ Proxy-Info ] 1509 * [ QoS-Resources ] 1510 * [ AVP ] 1512 6. QoS Application State Machine 1514 The QoS application defines its own state machine that is based on 1515 the authorization state machine defined in Section 8.1 of the Base 1516 Protocol ([RFC3588]). The Qos state machine uses own messages as 1517 defined in Section 5 and QoS AVPs as defined in Section 7. 1519 6.1. Supplemented States for Push Mode 1521 Using the Base Protocol state machine as a basis, the following 1522 states are supplemented to first 2 state machines in which the 1523 session state is maintained on the Server. These MUST be supported 1524 in any QoS application implementations in support of server initiated 1525 push mode (see (Section 4.2.2)). 1527 The following states are supplemented to the state machine on the 1528 Server when state is maintained on the client as defined in Section 1529 8.1 of the Base Protocol [RFC3588]: 1531 SERVER, STATEFUL 1532 State Event Action New State 1533 ------------------------------------------------------------- 1534 Idle An application or local Send Pending 1535 event triggers an initial QIR initial 1536 QoS request to the server request 1538 Pending Received QIA with a failed Cleanup Idle 1539 Result-Code 1541 Pending Received QIA with Result-Code Update Open 1542 = SUCCESS session 1543 Pending Error in processing received Send Discon 1544 QIA with Result-Code = SUCCESS ASR 1546 The following states are supplemented to the state machine on the 1547 client when state is maintained on the server as defined in Section 1548 8.1 of the Base Protocol [RFC3588]: 1550 CLIENT, STATEFUL 1551 State Event Action New State 1552 ------------------------------------------------------------- 1553 Idle QIR initial request Send Open 1554 received and successfully QIA initial 1555 processed answer, 1556 reserve resources 1558 Idle QIR initial request Send Idle 1559 received but not QIA initial 1560 successfully processed answer with 1561 Result-Code 1562 != SUCCESS 1564 7. QoS Application AVPs 1566 Each of the AVPs identified in the QoS-Authorization-Request/Answer 1567 and QoS-Install-Request/Answer messages and the assignment of their 1568 value(s) is given in this section. 1570 7.1. Reused Base Protocol AVPs 1572 The QoS application uses a number of session management AVPs, defined 1573 in the Base Protocol ([RFC3588]). 1575 Attribute Name AVP Code Reference [RFC3588] 1576 Origin-Host 264 Section 6.3 1577 Origin-Realm 296 Section 6.4 1578 Destination-Host 293 Section 6.5 1579 Destination-Realm 283 Section 6.6 1580 Auth-Application-Id 258 Section 6.8 1581 Result-Code 268 Section 7.1 1582 Auth-Request-Type 274 Section 8.7 1583 Session-Id 263 Section 8.8 1584 Authorization-Lifetime 291 Section 8.9 1585 Authorization-Grace-Period 276 Section 8.10 1586 Session-Timeout 27 Section 8.13 1587 User-Name 1 Section 8.14 1589 The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to 1590 Diameter applications. The value of the Auth-Application-Id for the 1591 Diameter QoS application is TBD. 1593 7.2. QoS Application Defined AVPs 1595 This document reuses the AVPs defined in Section 4 of 1596 [I-D.ietf-dime-qos-attributes]. 1598 This section lists the AVPs that are introduced specifically for the 1599 QoS application. The following new AVPs are defined: Bound-Auth- 1600 Session-Id and the QoS-Authorization-Data AVP. 1602 The following table describes the Diameter AVPs newly defined in this 1603 document for usage with the QoS Application, their AVP code values, 1604 types, possible flag values, and whether the AVP may be encrypted. 1606 +-------------------+ 1607 | AVP Flag rules | 1608 +----------------------------------------------|----+--------+-----+ 1609 | AVP Section | | SHLD| MUST| 1610 | Attribute Name Code Defined Data Type |MUST| NOT| NOT| 1611 +----------------------------------------------+----+--------+-----+ 1612 |QoS-Authorization-Data TBD 7.2 OctetString| M | | V | 1613 |Bound-Auth-Session-Id TBD 7.2 UTF8String | M | | V | 1614 +----------------------------------------------+----+--------+-----+ 1615 |M - Mandatory bit. An AVP with "M" bit set and its value MUST be | 1616 | supported and recognized by a Diameter entity in order the | 1617 | message, which carries this AVP, to be accepted. | 1618 |V - Vendor specific bit that indicates whether the AVP belongs to | 1619 | a address space. | 1620 +------------------------------------------------------------------+ 1622 QoS-Authorization-Data 1623 The QoS-Authorization-Data AVP (AVP Code TBD) is of type 1624 OctetString. It is a container that carries application session 1625 or user specific data that has to be supplied to the AE as input 1626 to the computation of the authorization decision. 1628 Bound-Authentication-Session-Id 1629 The Bound-Authentication-Session AVP (AVP Code TBD) is of type 1630 UTF8String. It carries the id of the Diameter authentication 1631 session that is used for the network access authentication (NASREQ 1632 authentication session). It is used to tie the QoS authorization 1633 request to a prior authentication of the end host done by a co- 1634 located application for network access authentication (Diameter 1635 NASREQ) at the QoS NE. 1637 8. Accounting 1639 A NE MAY start an accounting session by sending an Accounting-Request 1640 message (ACR) after successful QoS reservation and activation of the 1641 data flow (see Figure 6 and Figure 7). After every successful re- 1642 authorization procedure (see Figure 8 and Figure 9), the NE MAY 1643 initiate an interim accounting message exchange. After successful 1644 session termination (see Figure 10 and Figure 11), the NE may 1645 initiate a final exchange of accounting messages for terminating of 1646 the accounting session and reporting final records for the usage of 1647 the QoS resources reserved. It should be noted that the two sessions 1648 (authorization and accounting) have independent management by the 1649 Diameter base protocol, which allows for finalizing the accounting 1650 session after the end of the authorization session. 1652 The detailed QoS accounting procedures are out of scope in this 1653 document. 1655 9. Examples 1657 9.1. Example Call Flow for Pull Mode 1659 This section presents an example of the interaction between the end 1660 host and Diameter QoS application entities using Pull mode. The 1661 application layer signaling is, in this example, provided using SIP. 1662 Signaling for a QoS resource reservation is done using the QoS NSLP. 1663 The authorization of the QoS reservation request is done by the 1664 Diameter QoS application (DQA). 1666 End-Host SIP Server Correspondent 1667 requesting QoS (DQA Server) Node 1669 | | | 1670 ..|....Application layer SIP signaling.......|..............|.. 1671 . | Invite (SDP) | | . 1672 . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-> | . 1673 . | 100 Trying | | . 1674 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ Invite (SDP)| . 1675 . | +-.-.-.....-.-.> . 1676 . | | 180 SDP' | . 1677 . | <-.-.-.....-.-.+ . 1678 . | +--------+--------+ | . 1679 . | |Authorize session| | . 1680 . | | parameters | | . 1681 . | 180 (Session parameters) +--------+--------+ | . 1682 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ | . 1683 ..|..........................................|... ..........|.. 1684 | | | 1685 | +------------+ | | 1686 | | NE | | | 1687 | |(DQA Client)| | | 1688 | +------+-----+ | | 1689 | | | | 1690 |QoS NSLP Reserve | | | 1691 +------------------> QAR | | 1692 | (POLICY_DATA>v +- - - - -<>- - - -> | 1693 | QSPEC) v >===>(Destination-Host, | | 1694 | v >=======>QoS-Authorization-Data++------------+ | 1695 | >===========>QoS-Resources) |Authorize | | 1696 | | |QoS resources| | 1697 | | ++------------+ | 1698 | | QAA | | 1699 | <- - - - -<>- - - -+ | 1700 | |(Result-Code, | | 1701 | |QoS-Resources, | | 1702 | |Authorization-Lifetime)| | 1703 | +---------+--------+ | | 1704 | |Install QoS state1| | | 1705 | |+ Authz. session | | | 1706 | +---------+--------+ | | 1707 | |QoS NSLP Reserve | 1708 | +---------------..............---------> 1709 | | | 1710 | | QoS NSLP Response| 1711 |QoS NSLP Response <---------------..............---------+ 1712 <------------------+ | 1713 | | QoS NSLP Query| 1714 |QoS NSLP Query <---------------..............---------+ 1715 <------------------+ | 1716 |QoS NSLP Reserve | | 1717 +------------------> QAR | | 1718 | +- - - - -<>- - - -> | 1719 | | +---+---------+ | 1720 | | |Authorize | | 1721 | | |QoS resources| | 1722 | | QAA +---+---------+ | 1723 | <- - - - -<>- - - -+ | 1724 | +---------+--------+ | | 1725 | |Install QoS state2| | 1726 | |+ Authz. session | | 1727 | +---------+--------+ | 1728 | | QoS NSLP Reserve | 1729 | +---------------..............---------> 1730 | | QoS NSLP Response| 1731 |QoS NSLP Response <---------------..............---------+ 1732 <------------------+ | 1733 | | | 1734 /------------------+--Data Flow---------------------------\ 1735 \------------------+--------------------------------------/ 1736 | | | 1738 .-.-.-.-. SIP signaling 1739 --------- QoS NSLP signaling 1740 - - - - - Diameter QoS Application messages 1741 ========= Mapping of objects between QoS and AAA protocol 1743 Figure 12: QoS Authorization Example - Pull Mode 1745 The communication starts with SIP signaling between the two end 1746 points and the SIP server for negotiation and authorization of the 1747 requested service and its parameters (see Figure 12). As a part of 1748 the process, the SIP server verifies whether the user at Host A is 1749 authorized to use the requested service (and potentially the ability 1750 to be charged for the service usage). Negotiated session parameters 1751 are provided to the end host. 1753 Subsequently, Host A initiates a QoS signaling message towards Host 1754 B. It sends a QoS NSLP Reserve message, in which it includes 1755 description of the required QoS (QSPEC object) and authorization data 1756 for negotiated service session (part of the POLICY_DATA object). 1757 Authorization data includes, as a minimum, the identity of the AE 1758 (e.g., the SIP server) and an identifier of the application service 1759 session for which QoS resources are requested. 1761 A QoS NSLP Reserve message is intercepted and processed by the first 1762 QoS aware Network Element. The NE uses the Diameter QoS application 1763 to request authorization for the received QoS reservation request. 1764 The identity of the AE (in this case the SIP server that is co- 1765 located with a Diameter server) is put into the Destination-Host AVP, 1766 any additional session authorization data is encapsulated into the 1767 QoS-Authorization-Data AVP and the description of the QoS resources 1768 is included into QoS-Resources AVP. These AVPs are included into a 1769 QoS Authorization Request message, which is sent to the AE. 1771 A QAR message will be routed through the AAA network to the AE. The 1772 AE verifies the requested QoS against the QoS resources negotiated 1773 for the service session and replies with QoS-Authorization answer 1774 (QAA) message. It carries the authorization result (Result-Code AVP) 1775 and the description of the authorized QoS parameters (QoS-Resources 1776 AVP), as well as duration of the authorization session 1777 (Authorization-Lifetime AVP). 1779 The NE interacts with the traffic control function and installs the 1780 authorized QoS resources and forwards the QoS NSLP Reserve message 1781 further along the data path. Moreover, the NE may serve as a 1782 signaling proxy and process the QoS signaling (e.g., initiation or 1783 termination of QoS signaling) based on the QoS decision received from 1784 the authorizing entity. 1786 9.2. Example Call Flow for Push Mode 1788 This section presents an example of the interaction between the end- 1789 host and Diameter QoS application entities using Push mode. The 1790 application layer signaling is, in this example, provided using SIP. 1791 Signaling for a QoS resource reservation is done using the QoS NSLP. 1792 The authorization of the QoS reservation request is done by the 1793 Diameter QoS application (DQA). 1795 End-Host NE SIP Server Correspondent 1796 requesting QoS (DQA Client) (DQA Server) Node 1797 | | | | 1798 ..|....Application layer SIP signaling..........|..............|.. 1799 . | Invite(SDP offer)| | | . 1800 . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.> | . 1801 . | 100 Trying | | | . 1802 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+ | . 1803 . |.............................................|..............| . 1804 | | +---------+-------------+| 1805 | | | Authorize request || 1806 | | | Keep session data || 1807 | | |/Authz-time,Session-Id/|| 1808 | | +---------+-------------+| 1809 | | | | 1810 | |<-- - -- - QIR - -- - -- -+ | 1811 | |(Initial Request,Decision | | 1812 | |(QoS-Resources,Authz-time)| | 1813 | +-------+---------+ | | 1814 | |Install QoS state| | | 1815 | | + | | | 1816 | | Authz. session | | | 1817 | | /Authz-time/ | | | 1818 | +-------+---------+ | | 1819 | + - - -- - QIA - - - - - ->| | 1820 | | (Result-Code, | | 1821 | | QoS-Resources) | | 1822 | | +----------+------------+ | 1823 | | | Report for successful | | 1824 | | | QoS reservation | | 1825 | | |Update of reserved QoS | | 1826 | | | resources | | 1827 | | +----------+------------+ | 1828 . | | | Invite (SDP) | . 1829 . | | +-.-.-.....-.-.> . 1830 . | 180 (Ringing) | | . 1831 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.<.-.-.-.-.-.-.-+ . 1832 . | | | 200 OK (SDP)| . 1833 . | | <-.-.-.....-.-.+ . 1834 | | +--------+-----------+ | 1835 | | |re-Authorize session| | 1836 | | | parameters | | 1837 | | +--------+-----------+ | 1838 | <- - - - - - RAR - - - - - + | 1839 | +---------+--------+ | | 1840 | |Activate QoS state| | | 1841 | +---------+--------+ | | 1842 | +- - - - - - RAA - - - - - > | 1843 . | 200 (SDP answer) | | | . 1844 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+ | . 1846 | | | 1847 /------------------+-----Data Flow---------------------------\ 1848 \------------------+-----------------------------------------/ 1849 | | | 1851 .-.-.-.-. SIP signaling 1852 - - - - - Diameter QoS Application messages 1854 Figure 13: QoS Authorization Example - Push Mode 1856 The communication starts with SIP signaling between the two end 1857 points and the SIP server for negotiation and authorization of the 1858 requested service and its parameters (see Figure 13). As a part of 1859 the process, the SIP server verifies whether the user at Host A is 1860 authorized to use the requested service (and potentially the ability 1861 to be charged for the service usage). The DQA server is triggered to 1862 authorize the QoS request based on session parameters (i.e., SDP 1863 offer), initiate a Diameter QoS authorization session and install 1864 authorized QoS state to the Network Element via QIR message. 1866 The DQA server may obtain the info of peer DQA client from pre- 1867 configured information or query the DNS based on Host A's identity or 1868 IP address (In this case a DQA server is co-located with a SIP server 1869 and a DQA client is co-located with a NE). The identity of Network 1870 Element is put into the Destination-Host AVP, the description of the 1871 QoS resources is included into QoS-Resources AVP, as well as duration 1872 of the authorization session (Authorization-Lifetime AVP). The NE 1873 interacts with the traffic control function and reserves the 1874 authorized QoS resources accordingly, for instance, the NE may serve 1875 as a signaling proxy and process the QoS signaling (e.g., initiation 1876 or termination of QoS signaling) based on the QoS decision received 1877 from the authorizing entity. 1879 With successful QoS authorization, the SDP offer in SIP Invite is 1880 forwarded to Host B. Host B sends back a 18x (ringing) message 1881 towards Host A and processes the SDP. Once Host B accepts the call, 1882 it sends back a 200 OK, in which it includes description of the 1883 accepted session parameters (i.e., SDP answer). 1885 The DQA server may verify the accepted QoS against the pre-authorized 1886 QoS resources, and sends a Diameter RAR message to the DQA client in 1887 the NE for activating the installed policies and commit the resource 1888 allocation. With successful QoS enforcement, the 200 OK is forwarded 1889 towards Host A. 1891 Note that the examples above show a sender-initiated reservation from 1892 the end host towards the corresponding node and a receiver-initiated 1893 reservation from the correspondent node towards the end host. 1895 10. IANA Considerations 1897 This section contains the namespaces that have either been created in 1898 this specification or had their values assigned to existing 1899 namespaces managed by IANA. 1901 10.1. AVP Codes 1903 IANA is requested to allocate two AVP codes to the registry defined 1904 in [RFC3588]: 1906 Registry: 1907 AVP Code AVP Name Reference 1908 ----------------------------------------------------------- 1909 to be assigned QoS-Authorization-Data Section 7.2 1910 to be assigned Bound-Auth-Session-Id Section 7.2 1912 10.2. Application IDs 1914 IANA is requested to allocate the following application ID from the 1915 registry defined in [RFC3588] (using the next available value from 1916 the 7-16777215 range). 1918 Registry: 1919 ID values Name Reference 1920 ----------------------------------------------------------- 1921 to be assigned Diameter QoS application Section 5 1923 10.3. Command Codes 1925 IANA is requested to allocate command code values from the registry 1926 defined in [RFC3588]. 1928 Registry: 1929 Code Value Name Reference 1930 ----------------------------------------------------------- 1931 TBD QoS-Authorization-Request (QAR) Section 5.1 1932 TBD QoS-Authorization-Answer (QAA) Section 5.2 1933 TBD QoS-Install-Request (QIR) Section 5.3 1934 TBD QoS-Install-Answer (QIA) Section 5.4 1936 11. Security Considerations 1938 This document describes a mechanism for performing authorization of a 1939 QoS reservation at a third party entity. The Authorizing Entity 1940 needs sufficient information to make such an authorization decision. 1941 Information may come from various sources, including the application 1942 layer signaling, the Diameter protocol (with its security 1943 mechanisms), from policy information stored available with a AAA 1944 server and from a QoS signaling protocol. 1946 Below there is a discussion about considerations for the Diameter QoS 1947 interaction between an Authorizing Entity and a Network Element. 1948 Security between the Authorizing Entity and the Network Element has a 1949 number of components: authentication, authorization, integrity and 1950 confidentiality. 1952 Authentication refers to confirming the identity of an originator for 1953 all datagrams received from the originator. Lack of authentication 1954 of Diameter messages between the Authorizing Entity and the Network 1955 Element can seriously jeopardize the fundamental service rendered by 1956 the Network Element. A consequence of not authenticating the message 1957 sender by the Network Element would be that an attacker could spoof 1958 the identity of a "legitimate" Authorizing Entity in order to 1959 allocate resources, change resource assignments or free resources. 1960 The adversary can also manipulate the state at the Network Element in 1961 such a way that it leads to a denial of service attack by, for 1962 example, setting the allowed bandwidth to zero or allocating the 1963 entire bandwidth available to a single flow. 1965 A consequence of not authenticating the Network Element to an 1966 Authorizing Entity is that an attacker could impact the policy based 1967 admission control procedure operated by the Authorizing Entity that 1968 provides a wrong view of the resources used in the network. Failing 1969 to provide the required credentials should be subject to logging. 1971 Authorization refers to whether a particular Authorizing Entity is 1972 authorized to signal a Network Element with requests for one or more 1973 applications, adhering to a certain policy profile. Failing the 1974 authorization process might indicate a resource theft attempt or 1975 failure due to administrative and/or credential deficiencies. In 1976 either case, the Network Element should take the proper measures to 1977 log such attempts. 1979 Integrity is required to ensure that a Diameter message has not been 1980 maliciously altered. The result of a lack of data integrity 1981 enforcement in an untrusted environment could be that an imposter 1982 will alter the messages exchanged between a Network Entity and an 1983 Authorizing Entity potentially causing a denial of service. 1985 Confidentiality protection of Diameter messages ensures that the 1986 signaling data is accessible only to the authorized entities. When 1987 signaling messages from the Application Server, via the Authorizing 1988 Entity towards the Network Element traverse untrusted networks, lack 1989 of confidentiality will allow eavesdropping and traffic analysis. 1990 Additionally, Diamater QoS messages may carry authorization tokens 1991 that require confidentiality protection. 1993 Diameter offers security mechanisms to deal with the functionality 1994 demanded in the paragraphs above. In particular, Diameter offers 1995 communication security between neighboring Diameter peers using 1996 Transport Layer Security (TLS) or IPsec. Authorization capabilities 1997 are application specific and part of the overal implementation. 1999 12. Acknowledgements 2001 The authors would like to thank John Loughney and Allison Mankin for 2002 their input to this document. In September 2005 Robert Hancock, 2003 Jukka Manner, Cornelia Kappler, Xiaoming Fu, Georgios Karagiannis and 2004 Elwyn Davies provided a detailed review. Robert also provided us 2005 with good feedback earlier in 2005. Jerry Ash provided us review 2006 comments late 2005/early 2006. Rajith R provided some inputs to the 2007 document early 2007. 2009 We would also like to thanks Alexey Melnikov, Adrian Farrel, and 2010 Robert Sparks for their IESG reviews. 2012 13. Contributors 2014 The authors would like to thank Tseno Tsenov and Frank Alfano for 2015 starting the Diameter Quality of Service work within the IETF, for 2016 your significant draft contributions and for being the driving force 2017 for the first few draft versions. 2019 14. References 2021 14.1. Normative References 2023 [I-D.ietf-dime-qos-attributes] 2024 Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., 2025 and A. Lior, "Traffic Classification and Quality of 2026 Service Attributes for Diameter", 2027 draft-ietf-dime-qos-attributes-15 (work in progress), 2028 December 2009. 2030 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2031 Requirement Levels", BCP 14, RFC 2119, March 1997. 2033 [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. 2034 Arkko, "Diameter Base Protocol", RFC 3588, September 2003. 2036 [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, 2037 "Diameter Network Access Server Application", RFC 4005, 2038 August 2005. 2040 [RFC5624] Korhonen, J., Tschofenig, H., and E. Davies, "Quality of 2041 Service Parameters for Usage with Diameter", RFC 5624, 2042 August 2009. 2044 14.2. Informative References 2046 [I-D.ietf-nsis-ntlp] 2047 Schulzrinne, H. and M. Stiemerling, "GIST: General 2048 Internet Signalling Transport", draft-ietf-nsis-ntlp-20 2049 (work in progress), June 2009. 2051 [I-D.ietf-nsis-qos-nslp] 2052 Manner, J., Karagiannis, G., and A. McDonald, "NSLP for 2053 Quality-of-Service Signaling", draft-ietf-nsis-qos-nslp-18 2054 (work in progress), January 2010. 2056 [RFC2205] Braden, B., Zhang, L., Berson, S., Herzog, S., and S. 2057 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 2058 Functional Specification", RFC 2205, September 1997. 2060 [RFC2211] Wroclawski, J., "Specification of the Controlled-Load 2061 Network Element Service", RFC 2211, September 1997. 2063 [RFC2212] Shenker, S., Partridge, C., and R. Guerin, "Specification 2064 of Guaranteed Quality of Service", RFC 2212, 2065 September 1997. 2067 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 2068 "Definition of the Differentiated Services Field (DS 2069 Field) in the IPv4 and IPv6 Headers", RFC 2474, 2070 December 1998. 2072 [RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework 2073 for Policy-based Admission Control", RFC 2753, 2074 January 2000. 2076 [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, 2077 "Remote Authentication Dial In User Service (RADIUS)", 2078 RFC 2865, June 2000. 2080 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 2081 A., Peterson, J., Sparks, R., Handley, M., and E. 2082 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 2083 June 2002. 2085 [RFC3313] Marshall, W., "Private Session Initiation Protocol (SIP) 2086 Extensions for Media Authorization", RFC 3313, 2087 January 2003. 2089 [RFC3520] Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh, 2090 "Session Authorization Policy Element", RFC 3520, 2091 April 2003. 2093 [RFC3521] Hamer, L-N., Gage, B., and H. Shieh, "Framework for 2094 Session Set-up with Media Authorization", RFC 3521, 2095 April 2003. 2097 [RFC4282] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The 2098 Network Access Identifier", RFC 4282, December 2005. 2100 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 2101 Description Protocol", RFC 4566, July 2006. 2103 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 2104 (TLS) Protocol Version 1.2", RFC 5246, August 2008. 2106 Authors' Addresses 2108 Dong Sun (editor) 2109 Alcatel-Lucent 2110 600 Mountain Ave 2111 Murray Hill, NJ 07974 2112 USA 2114 Phone: +1 908 582 2617 2115 Email: d.sun@alcatel-lucent.com 2117 Peter J. McCann 2118 Motorola Labs 2119 1301 E. Algonquin Rd 2120 Schaumburg, IL 60196 2121 USA 2123 Phone: +1 847 576 3440 2124 Email: pete.mccann@motorola.com 2126 Hannes Tschofenig 2127 Nokia Siemens Networks 2128 Linnoitustie 6 2129 Espoo 02600 2130 Finland 2132 Phone: +358 (50) 4871445 2133 Email: Hannes.Tschofenig@gmx.net 2134 URI: http://www.tschofenig.priv.at 2136 Tina Tsou 2137 Huawei 2138 Shenzhen, 2139 P.R.C 2141 Email: tena@huawei.com 2142 Avri Doria 2143 Lulea University of Technology 2144 Arbetsvetenskap 2145 Lulea, SE-97187 2146 Sweden 2148 Email: avri@ltu.se 2150 Glen Zorn (editor) 2151 Network Zen 2152 1310 East Thomas Street 2153 #306 2154 Seattle, Washington 98102 2155 USA 2157 Phone: +1 (206) 377-9035 2158 Email: gwz@net-zen.net