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