idnits 2.17.1 draft-ietf-dime-rfc4005bis-11.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. 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 : ---------------------------------------------------------------------------- == There are 7 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. -- The document has examples using IPv4 documentation addresses according to RFC6890, but does not use any IPv6 documentation addresses. Maybe there should be IPv6 examples, too? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 31, 2012) is 4286 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'BASE' is mentioned on line 219, but not defined -- Possible downref: Non-RFC (?) normative reference: ref. 'ANITypes' -- Obsolete informational reference (is this intentional?): RFC 1334 (Obsoleted by RFC 1994) -- Obsolete informational reference (is this intentional?): RFC 5246 (Obsoleted by RFC 8446) Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group G. Zorn, Ed. 3 Internet-Draft Network Zen 4 Obsoletes: 4005 (if approved) July 31, 2012 5 Intended status: Standards Track 6 Expires: February 1, 2013 8 Diameter Network Access Server Application 9 draft-ietf-dime-rfc4005bis-11 11 Abstract 13 This document describes the Diameter protocol application used for 14 Authentication, Authorization, and Accounting (AAA) services in the 15 Network Access Server (NAS) environment; it obsoletes RFC 4005. When 16 combined with the Diameter Base protocol, Transport Profile, and 17 Extensible Authentication Protocol specifications, this application 18 specification satisfies typical network access services requirements. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on February 1, 2013. 37 Copyright Notice 39 Copyright (c) 2012 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 55 1.1. Changes from RFC 4005 . . . . . . . . . . . . . . . . . . 5 56 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6 57 1.3. Requirements Language . . . . . . . . . . . . . . . . . . 7 58 1.4. Advertising Application Support . . . . . . . . . . . . . 7 59 1.5. Application Identification . . . . . . . . . . . . . . . . 8 60 1.6. Accounting Model . . . . . . . . . . . . . . . . . . . . . 8 61 2. NAS Calls, Ports, and Sessions . . . . . . . . . . . . . . . . 8 62 2.1. Diameter Session Establishment . . . . . . . . . . . . . . 9 63 2.2. Diameter Session Reauthentication or Reauthorization . . . 9 64 2.3. Diameter Session Termination . . . . . . . . . . . . . . . 10 65 3. Diameter NAS Application Messages . . . . . . . . . . . . . . 10 66 3.1. AA-Request (AAR) Command . . . . . . . . . . . . . . . . . 11 67 3.2. AA-Answer (AAA) Command . . . . . . . . . . . . . . . . . 13 68 3.3. Re-Auth-Request (RAR) Command . . . . . . . . . . . . . . 15 69 3.4. Re-Auth-Answer (RAA) Command . . . . . . . . . . . . . . . 16 70 3.5. Session-Termination-Request (STR) Command . . . . . . . . 17 71 3.6. Session-Termination-Answer (STA) Command . . . . . . . . . 18 72 3.7. Abort-Session-Request (ASR) Command . . . . . . . . . . . 19 73 3.8. Abort-Session-Answer (ASA) Command . . . . . . . . . . . . 20 74 3.9. Accounting-Request (ACR) Command . . . . . . . . . . . . . 21 75 3.10. Accounting-Answer (ACA) Command . . . . . . . . . . . . . 23 76 4. Diameter NAS Application AVPs . . . . . . . . . . . . . . . . 24 77 4.1. Derived AVP Data Formats . . . . . . . . . . . . . . . . . 24 78 4.1.1. QoSFilterRule . . . . . . . . . . . . . . . . . . . . 24 79 4.2. NAS Session AVPs . . . . . . . . . . . . . . . . . . . . . 25 80 4.2.1. Call and Session Information . . . . . . . . . . . . . 25 81 4.2.2. NAS-Port AVP . . . . . . . . . . . . . . . . . . . . . 26 82 4.2.3. NAS-Port-Id AVP . . . . . . . . . . . . . . . . . . . 26 83 4.2.4. NAS-Port-Type AVP . . . . . . . . . . . . . . . . . . 27 84 4.2.5. Called-Station-Id AVP . . . . . . . . . . . . . . . . 27 85 4.2.6. Calling-Station-Id AVP . . . . . . . . . . . . . . . . 27 86 4.2.7. Connect-Info AVP . . . . . . . . . . . . . . . . . . . 28 87 4.2.8. Originating-Line-Info AVP . . . . . . . . . . . . . . 28 88 4.2.9. Reply-Message AVP . . . . . . . . . . . . . . . . . . 29 89 4.3. NAS Authentication AVPs . . . . . . . . . . . . . . . . . 29 90 4.3.1. User-Password AVP . . . . . . . . . . . . . . . . . . 30 91 4.3.2. Password-Retry AVP . . . . . . . . . . . . . . . . . . 30 92 4.3.3. Prompt AVP . . . . . . . . . . . . . . . . . . . . . . 30 93 4.3.4. CHAP-Auth AVP . . . . . . . . . . . . . . . . . . . . 30 94 4.3.5. CHAP-Algorithm AVP . . . . . . . . . . . . . . . . . . 31 95 4.3.6. CHAP-Ident AVP . . . . . . . . . . . . . . . . . . . . 31 96 4.3.7. CHAP-Response AVP . . . . . . . . . . . . . . . . . . 31 97 4.3.8. CHAP-Challenge AVP . . . . . . . . . . . . . . . . . . 31 98 4.3.9. ARAP-Password AVP . . . . . . . . . . . . . . . . . . 31 99 4.3.10. ARAP-Challenge-Response AVP . . . . . . . . . . . . . 31 100 4.3.11. ARAP-Security AVP . . . . . . . . . . . . . . . . . . 32 101 4.3.12. ARAP-Security-Data AVP . . . . . . . . . . . . . . . . 32 102 4.4. NAS Authorization AVPs . . . . . . . . . . . . . . . . . . 32 103 4.4.1. Service-Type AVP . . . . . . . . . . . . . . . . . . . 34 104 4.4.2. Callback-Number AVP . . . . . . . . . . . . . . . . . 34 105 4.4.3. Callback-Id AVP . . . . . . . . . . . . . . . . . . . 35 106 4.4.4. Idle-Timeout AVP . . . . . . . . . . . . . . . . . . . 35 107 4.4.5. Port-Limit AVP . . . . . . . . . . . . . . . . . . . . 35 108 4.4.6. NAS-Filter-Rule AVP . . . . . . . . . . . . . . . . . 35 109 4.4.7. Filter-Id AVP . . . . . . . . . . . . . . . . . . . . 35 110 4.4.8. Configuration-Token AVP . . . . . . . . . . . . . . . 36 111 4.4.9. QoS-Filter-Rule AVP . . . . . . . . . . . . . . . . . 36 112 4.4.10. Framed Access Authorization AVPs . . . . . . . . . . . 37 113 4.4.10.1. Framed-Protocol AVP . . . . . . . . . . . . . . . 37 114 4.4.10.2. Framed-Routing AVP . . . . . . . . . . . . . . . 37 115 4.4.10.3. Framed-MTU AVP . . . . . . . . . . . . . . . . . 37 116 4.4.10.4. Framed-Compression AVP . . . . . . . . . . . . . 37 117 4.4.10.5. IP Access Authorization AVPs . . . . . . . . . . 38 118 4.4.10.5.1. Framed-IP-Address AVP . . . . . . . . . . . . 38 119 4.4.10.5.2. Framed-IP-Netmask AVP . . . . . . . . . . . . 38 120 4.4.10.5.3. Framed-Route AVP . . . . . . . . . . . . . . 38 121 4.4.10.5.4. Framed-Pool AVP . . . . . . . . . . . . . . . 39 122 4.4.10.5.5. Framed-Interface-Id AVP . . . . . . . . . . . 39 123 4.4.10.5.6. Framed-IPv6-Prefix AVP . . . . . . . . . . . 39 124 4.4.10.5.7. Framed-IPv6-Route AVP . . . . . . . . . . . . 39 125 4.4.10.5.8. Framed-IPv6-Pool AVP . . . . . . . . . . . . 40 126 4.4.10.6. IPX Access AVPs . . . . . . . . . . . . . . . . . 40 127 4.4.10.6.1. Framed-IPX-Network AVP . . . . . . . . . . . 40 128 4.4.10.7. AppleTalk Network Access AVPs . . . . . . . . . . 40 129 4.4.10.7.1. Framed-AppleTalk-Link AVP . . . . . . . . . . 40 130 4.4.10.7.2. Framed-AppleTalk-Network AVP . . . . . . . . 41 131 4.4.10.7.3. Framed-AppleTalk-Zone AVP . . . . . . . . . . 41 132 4.4.10.8. AppleTalk Remote Access AVPs . . . . . . . . . . 41 133 4.4.10.8.1. ARAP-Features AVP . . . . . . . . . . . . . . 41 134 4.4.10.8.2. ARAP-Zone-Access AVP . . . . . . . . . . . . 42 135 4.4.11. Non-Framed Access Authorization AVPs . . . . . . . . . 42 136 4.4.11.1. Login-IP-Host AVP . . . . . . . . . . . . . . . . 42 137 4.4.11.2. Login-IPv6-Host AVP . . . . . . . . . . . . . . . 42 138 4.4.11.3. Login-Service AVP . . . . . . . . . . . . . . . . 43 139 4.4.11.4. TCP Services . . . . . . . . . . . . . . . . . . 43 140 4.4.11.4.1. Login-TCP-Port AVP . . . . . . . . . . . . . 43 141 4.4.11.5. LAT Services . . . . . . . . . . . . . . . . . . 43 142 4.4.11.5.1. Login-LAT-Service AVP . . . . . . . . . . . . 43 143 4.4.11.5.2. Login-LAT-Node AVP . . . . . . . . . . . . . 44 144 4.4.11.5.3. Login-LAT-Group AVP . . . . . . . . . . . . . 44 145 4.4.11.5.4. Login-LAT-Port AVP . . . . . . . . . . . . . 45 146 4.5. NAS Tunneling AVPs . . . . . . . . . . . . . . . . . . . . 45 147 4.5.1. Tunneling AVP . . . . . . . . . . . . . . . . . . . . 46 148 4.5.2. Tunnel-Type AVP . . . . . . . . . . . . . . . . . . . 46 149 4.5.3. Tunnel-Medium-Type AVP . . . . . . . . . . . . . . . . 47 150 4.5.4. Tunnel-Client-Endpoint AVP . . . . . . . . . . . . . . 47 151 4.5.5. Tunnel-Server-Endpoint AVP . . . . . . . . . . . . . . 48 152 4.5.6. Tunnel-Password AVP . . . . . . . . . . . . . . . . . 48 153 4.5.7. Tunnel-Private-Group-Id AVP . . . . . . . . . . . . . 48 154 4.5.8. Tunnel-Assignment-Id AVP . . . . . . . . . . . . . . . 49 155 4.5.9. Tunnel-Preference AVP . . . . . . . . . . . . . . . . 50 156 4.5.10. Tunnel-Client-Auth-Id AVP . . . . . . . . . . . . . . 51 157 4.5.11. Tunnel-Server-Auth-Id AVP . . . . . . . . . . . . . . 51 158 4.6. NAS Accounting AVPs . . . . . . . . . . . . . . . . . . . 51 159 4.6.1. Accounting-Input-Octets AVP . . . . . . . . . . . . . 52 160 4.6.2. Accounting-Output-Octets AVP . . . . . . . . . . . . . 52 161 4.6.3. Accounting-Input-Packets AVP . . . . . . . . . . . . . 52 162 4.6.4. Accounting-Output-Packets AVP . . . . . . . . . . . . 53 163 4.6.5. Acct-Session-Time AVP . . . . . . . . . . . . . . . . 53 164 4.6.6. Acct-Authentic AVP . . . . . . . . . . . . . . . . . . 53 165 4.6.7. Accounting-Auth-Method AVP . . . . . . . . . . . . . . 53 166 4.6.8. Acct-Delay-Time AVP . . . . . . . . . . . . . . . . . 53 167 4.6.9. Acct-Link-Count AVP . . . . . . . . . . . . . . . . . 54 168 4.6.10. Acct-Tunnel-Connection AVP . . . . . . . . . . . . . . 54 169 4.6.11. Acct-Tunnel-Packets-Lost AVP . . . . . . . . . . . . . 55 170 5. AVP Occurrence Tables . . . . . . . . . . . . . . . . . . . . 55 171 5.1. AA-Request/Answer AVP Table . . . . . . . . . . . . . . . 55 172 5.2. Accounting AVP Tables . . . . . . . . . . . . . . . . . . 58 173 5.2.1. Framed Access Accounting AVP Table . . . . . . . . . . 59 174 5.2.2. Non-Framed Access Accounting AVP Table . . . . . . . . 61 175 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 62 176 7. Security Considerations . . . . . . . . . . . . . . . . . . . 63 177 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 63 178 8.1. Normative References . . . . . . . . . . . . . . . . . . . 63 179 8.2. Informative References . . . . . . . . . . . . . . . . . . 64 180 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 67 181 A.1. RFC 4005 . . . . . . . . . . . . . . . . . . . . . . . . . 67 182 A.2. RFC 4005bis . . . . . . . . . . . . . . . . . . . . . . . 68 184 1. Introduction 186 This document describes the Diameter protocol application used for 187 AAA in the Network Access Server (NAS) environment. When combined 188 with the Diameter Base protocol [I-D.ietf-dime-rfc3588bis], Transport 189 Profile [RFC3539], and EAP [RFC4072] specifications, this 190 specification satisfies the NAS-related requirements defined in 191 Aboba, et al. [RFC2989] and Beadles & Mitton [RFC3169]. 193 First, this document describes the operation of a Diameter NAS 194 application. Then it defines the Diameter message Command-Codes. 195 The following sections list the AVPs used in these messages, grouped 196 by common usage. These are session identification, authentication, 197 authorization, tunneling, and accounting. The authorization AVPs are 198 further broken down by service type. 200 1.1. Changes from RFC 4005 202 This document obsoletes RFC 4005 and is not backward compatible with 203 that document. An overview of some the major changes are given 204 below. 206 o All of the material regarding RADIUS/Diameter protocol 207 interactions has been removed. 209 o The Command Code Format (CCF) [I-D.ietf-dime-rfc3588bis] for the 210 Accounting-Request and Accounting-Answer messages has been changed 211 to explicitly require the inclusion of the Acct-Application-Id AVP 212 and exclude the Vendor-Specific-Application-Id AVP. Normally, 213 this type of change would also require the allocation of a new 214 command code and consequently, a new application-id (See Section 215 1.3.3 of [I-D.ietf-dime-rfc3588bis]). However, the presence of an 216 instance of the Acct-Application-Id AVP was required in RFC 4005, 217 as well: 219 The ACR message [BASE] is sent by the NAS to report its session 220 information to a target server downstream. 222 Either of Acct-Application-Id or Vendor-Specific-Application-Id 223 AVPs MUST be present. If the Vendor-Specific-Application-Id 224 grouped AVP is present, it must have an Acct-Application-Id 225 inside. 227 Thus, though the syntax of the commands has changed, the semantics 228 have not (with the caveat that the Acct-Application-Id AVP can no 229 longer be contained in the Vendor-Specific-Application-Id AVP). 231 o The lists of RADIUS attribute values have been deleted in favor of 232 references to the appropriate IANA registries. 234 o The accounting model to be used is now specified (see 235 Section 1.6). 237 There are many other many miscellaneous fixes that have been 238 introduced in this document that may not be considered significant 239 but they are useful nonetheless. Examples are fixes to example IP 240 addresses, addition of clarifying references, etc. All of the errata 241 previously filed against RFC 4005 have been fixed. A comprehensive 242 list of changes is not shown here for practical reasons. 244 1.2. Terminology 246 Section 1.2 of the Diameter base protocol specification 247 [I-D.ietf-dime-rfc3588bis] defines most of the terminology used in 248 this document. Additionally, the following terms and acronyms are 249 used in this application: 251 NAS (Network Access Server) 252 A device that provides an access service for a user to a network. 253 The service may be a network connection or a value-added service 254 such as terminal emulation [RFC2881]. 256 PPP (Point-to-Point Protocol) 257 A multiprotocol serial datalink. PPP is the primary IP datalink 258 used for dial-in NAS connection service [RFC1661]. 260 CHAP (Challenge Handshake Authentication Protocol) 261 An authentication process used in PPP [RFC1994]. 263 PAP (Password Authentication Protocol) 264 A deprecated PPP authentication process, but often used for 265 backward compatibility [RFC1334]. 267 SLIP (Serial Line Interface Protocol) 268 A serial datalink that only supports IP. A design prior to PPP. 270 ARAP (Appletalk Remote Access Protocol) 271 A serial datalink for accessing Appletalk networks [ARAP]. 273 IPX (Internet Packet Exchange) 274 The network protocol used by NetWare networks [IPX]. 276 L2TP (Layer Two Tunneling Protocol) 278 L2TP [RFC3931] provides a dynamic mechanism for tunneling Layer 2 279 "circuits" across a packet-oriented data network. 281 LAC (L2TP Access Concentrator) 283 An L2TP Control Connection Endpoint being used to cross-connect an 284 L2TP session directly to a data link [RFC3931]. 286 LAT (Local Area Transport) 287 A Digital Equipment Corp. LAN protocol for terminal services 288 [LAT]. 290 LCP (Link Control Protocol) 292 One of the three major components of PPP [RFC1661]. LCP is used 293 to automatically agree upon encapsulation format options, handle 294 varying limits on sizes of packets, detect a looped-back link and 295 other common misconfiguration errors, and terminate the link. 296 Other optional facilities provided are authentication of the 297 identity of its peer on the link, and determination when a link is 298 functioning properly and when it is failing. 300 PPTP (Point-to-Point Tunneling Protocol) 302 A protocol which allows PPP to be tunneled through an IP network 303 [RFC2637]. 305 VPN (Virtual Private Network) 306 In this document, this term is used to describe access services 307 that use tunneling methods. 309 1.3. Requirements Language 311 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 312 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 313 "OPTIONAL" in this document are to be interpreted as described in RFC 314 2119 [RFC2119]. 316 1.4. Advertising Application Support 318 Diameter nodes conforming to this specification MUST advertise 319 support by including the value of one (1) in the Auth-Application-Id 320 of the Capabilities-Exchange-Request (CER) message. 322 1.5. Application Identification 324 When used in this application, the Auth-Application-Id AVP MUST be 325 set to the value one (1) in the following messages 327 o AA-Request (Section 3.1) 329 o Re-Auth-Request(Section 3.3) 331 o Session-Termination-Request (Section 3.5) 333 o Abort-Session-Request (Section 3.7) 335 1.6. Accounting Model 337 It is RECOMMENDED that the coupled accounting model (Section 9.3 of 338 [I-D.ietf-dime-rfc3588bis]) be used with this application; therefore, 339 the value of the Acct-Application-Id AVP in the Accounting-Request 340 (Section 3.10) and Accounting-Answer (Section 3.9) messages SHOULD be 341 set to one (1). 343 2. NAS Calls, Ports, and Sessions 345 The arrival of a new call or service connection at a port of a 346 Network Access Server (NAS) starts a Diameter NAS message exchange. 347 Information about the call, the identity of the user, and the user's 348 authentication information are packaged into a Diameter AA-Request 349 (AAR) message and sent to a server. 351 The server processes the information and responds with a Diameter AA- 352 Answer (AAA) message that contains authorization information for the 353 NAS, or a failure code (Result-Code AVP). A value of 354 DIAMETER_MULTI_ROUND_AUTH indicates an additional authentication 355 exchange, and several AAR and AAA messages may be exchanged until the 356 transaction completes. 358 Depending on the value of the Auth-Request-Type AVP, the Diameter 359 protocol allows authorization-only requests that contain no 360 authentication information from the client. This capability goes 361 beyond the Call Check capabilities provided by RADIUS (Section 5.6 of 362 [RFC2865]) in that no access decision is requested. As a result, 363 service cannot be started as a result of a response to an 364 authorization-only request without introducing a significant security 365 vulnerability. 367 2.1. Diameter Session Establishment 369 When the authentication or authorization exchange completes 370 successfully, the NAS application SHOULD start a session context. If 371 the Result-Code of DIAMETER_MULTI_ROUND_AUTH is returned, the 372 exchange continues until a success or error is returned. 374 If accounting is active, the application MUST also send an Accounting 375 message [I-D.ietf-dime-rfc3588bis]. An Accounting-Record-Type of 376 START_RECORD is sent for a new session. If a session fails to start, 377 the EVENT_RECORD message is sent with the reason for the failure 378 described. 380 Note that the return of an unsupportable Accounting-Realtime-Required 381 value [I-D.ietf-dime-rfc3588bis] would result in a failure to 382 establish the session. 384 2.2. Diameter Session Reauthentication or Reauthorization 386 The Diameter Base protocol allows users to be periodically 387 reauthenticated and/or reauthorized. In such instances, the 388 Session-Id AVP in the AAR message MUST be the same as the one present 389 in the original authentication/authorization message. 391 A Diameter server informs the NAS of the maximum time allowed before 392 reauthentication or reauthorization via the Authorization-Lifetime 393 AVP [I-D.ietf-dime-rfc3588bis]. A NAS MAY reauthenticate and/or 394 reauthorize before the end, but A NAS MUST reauthenticate and/or 395 reauthorize at the end of the period provided by the Authorization- 396 Lifetime AVP. The failure of a reauthentication exchange will 397 terminate the service. 399 Furthermore, it is possible for Diameter servers to issue an 400 unsolicited reauthentication and/or reauthorization request (e.g., 401 Re-Auth-Request (RAR) message [I-D.ietf-dime-rfc3588bis]) to the NAS. 402 Upon receipt of such a message, the NAS MUST respond to the request 403 with a Re-Auth-Answer (RAA) message [I-D.ietf-dime-rfc3588bis]. 405 If the RAR properly identifies an active session, the NAS will 406 initiate a new local reauthentication or authorization sequence as 407 indicated by the Re-Auth-Request-Type value. This will cause the NAS 408 to send a new AAR message using the existing Session-Id. The server 409 will respond with an AAA message to specify the new service 410 parameters. 412 If accounting is active, every change of authentication or 413 authorization SHOULD generate an accounting message. If the NAS 414 service is a continuation of the prior user context, then an 415 Accounting-Record-Type of INTERIM_RECORD indicating the new session 416 attributes and cumulative status would be appropriate. If a new user 417 or a significant change in authorization is detected by the NAS, then 418 the service may send two messages of the types STOP_RECORD and 419 START_RECORD. Accounting may change the subsession identifiers 420 (Acct-Session-ID, or Acct-Sub-Session-Id) to indicate such sub- 421 sessions. A service may also use a different Session-Id value for 422 accounting (see Section 9.6 of [I-D.ietf-dime-rfc3588bis]). 424 However, the Diameter Session-ID AVP value used for the initial 425 authorization exchange MUST be used to generate an STR message when 426 the session context is terminated. 428 2.3. Diameter Session Termination 430 When a NAS receives an indication that a user's session is being 431 disconnected by the client (e.g., an LCP Terminate-Request message 432 [RFC1661] is received) or an administrative command, the NAS MUST 433 issue a Session-Termination-Request (STR) [I-D.ietf-dime-rfc3588bis] 434 to its Diameter Server. This will ensure that any resources 435 maintained on the servers are freed appropriately. 437 Furthermore, a NAS that receives an Abort-Session-Request (ASR) 438 [I-D.ietf-dime-rfc3588bis] MUST issue an Abort-Session-Answer (ASA) 439 if the session identified is active and disconnect the PPP (or 440 tunneling) session. 442 If accounting is active, an Accounting STOP_RECORD message 443 [I-D.ietf-dime-rfc3588bis] MUST be sent upon termination of the 444 session context. 446 More information on Diameter Session Termination can be found in 447 Sections 8.4 and 8.5 of [I-D.ietf-dime-rfc3588bis]. 449 3. Diameter NAS Application Messages 451 This section defines the Diameter message Command-Code 452 [I-D.ietf-dime-rfc3588bis] values that MUST be supported by all 453 Diameter implementations conforming to this specification. The 454 Command Codes are as follows: 456 +-----------------------------------+---------+------+--------------+ 457 | Command Name | Abbrev. | Code | Reference | 458 +-----------------------------------+---------+------+--------------+ 459 | AA-Request | AAR | 265 | Section 3.1 | 460 | AA-Answer | AAA | 265 | Section 3.2 | 461 | Re-Auth-Request | RAR | 258 | Section 3.3 | 462 | Re-Auth-Answer | RAA | 258 | Section 3.4 | 463 | Session-Termination-Request | STR | 275 | Section 3.5 | 464 | Session-Termination-Answer | STA | 275 | Section 3.6 | 465 | Abort-Session-Request | ASR | 274 | Section 3.7 | 466 | Abort-Session-Answer | ASA | 274 | Section 3.8 | 467 | Accounting-Request | ACR | 271 | Section 3.9 | 468 | Accounting-Answer | ACA | 271 | Section 3.10 | 469 +-----------------------------------+---------+------+--------------+ 471 Note that the message formats in the following sub-sections use the 472 standard Diameter Command Code Format ([I-D.ietf-dime-rfc3588bis], 473 Section 3.2). 475 3.1. AA-Request (AAR) Command 477 The AA-Request (AAR), which is indicated by setting the Command-Code 478 field to 265 and the 'R' bit in the Command Flags field, is used to 479 request authentication and/or authorization for a given NAS user. 480 The type of request is identified through the Auth-Request-Type AVP 481 [I-D.ietf-dime-rfc3588bis]. The recommended value for most 482 situations is AUTHORIZE_AUTHENTICATE. 484 If Authentication is requested, the User-Name attribute SHOULD be 485 present, as well as any additional authentication AVPs that would 486 carry the password information. A request for authorization SHOULD 487 only include the information from which the authorization will be 488 performed, such as the User-Name, Called-Station-Id, or Calling- 489 Station-Id AVPs. All requests SHOULD contain AVPs uniquely 490 identifying the source of the call, such as Origin-Host and NAS-Port. 491 Certain networks MAY use different AVPs for authorization purposes. 492 A request for authorization will include some AVPs defined in 493 Section 4.4. 495 It is possible for a single session to be authorized first and then 496 for an authentication request to follow. 498 This AA-Request message MAY be the result of a multi-round 499 authentication exchange, which occurs when the AA-Answer message is 500 received with the Result-Code AVP set to DIAMETER_MULTI_ROUND_AUTH. 501 A subsequent AAR message SHOULD be sent, with the User-Password AVP 502 that includes the user's response to the prompt, and MUST include any 503 State AVPs that were present in the AAA message. 505 Message Format 507 ::= < Diameter Header: 265, REQ, PXY > 508 < Session-Id > 509 { Auth-Application-Id } 510 { Origin-Host } 511 { Origin-Realm } 512 { Destination-Realm } 513 { Auth-Request-Type } 514 [ Destination-Host ] 515 [ NAS-Identifier ] 516 [ NAS-IP-Address ] 517 [ NAS-IPv6-Address ] 518 [ NAS-Port ] 519 [ NAS-Port-Id ] 520 [ NAS-Port-Type ] 521 [ Origin-AAA-Protocol ] 522 [ Origin-State-Id ] 523 [ Port-Limit ] 524 [ User-Name ] 525 [ User-Password ] 526 [ Service-Type ] 527 [ State ] 528 [ Authorization-Lifetime ] 529 [ Auth-Grace-Period ] 530 [ Auth-Session-State ] 531 [ Callback-Number ] 532 [ Called-Station-Id ] 533 [ Calling-Station-Id ] 534 [ Originating-Line-Info ] 535 [ Connect-Info ] 536 [ CHAP-Auth ] 537 [ CHAP-Challenge ] 538 * [ Framed-Compression ] 539 [ Framed-Interface-Id ] 540 [ Framed-IP-Address ] 541 * [ Framed-IPv6-Prefix ] 542 [ Framed-IP-Netmask ] 543 [ Framed-MTU ] 544 [ Framed-Protocol ] 545 [ ARAP-Password ] 546 [ ARAP-Security ] 547 * [ ARAP-Security-Data ] 548 * [ Login-IP-Host ] 549 * [ Login-IPv6-Host ] 550 [ Login-LAT-Group ] 551 [ Login-LAT-Node ] 552 [ Login-LAT-Port ] 554 [ Login-LAT-Service ] 555 * [ Tunneling ] 556 * [ Proxy-Info ] 557 * [ Route-Record ] 558 * [ AVP ] 560 3.2. AA-Answer (AAA) Command 562 The AA-Answer (AAA) message is indicated by setting the Command-Code 563 field to 265 and clearing the 'R' bit in the Command Flags field. It 564 is sent in response to the AA-Request (AAR) message. If 565 authorization was requested, a successful response will include the 566 authorization AVPs appropriate for the service being provided, as 567 defined in Section 4.4. 569 For authentication exchanges requiring more than a single round trip, 570 the server MUST set the Result-Code AVP to DIAMETER_MULTI_ROUND_AUTH. 571 An AAA message with this result code MAY include one Reply-Message or 572 more and MAY include zero or one State AVPs. 574 If the Reply-Message AVP was present, the network access server 575 SHOULD send the text to the user's client to display to the user, 576 instructing the client to prompt the user for a response. For 577 example, this capability can be achieved in PPP via PAP. If the 578 access client is unable to prompt the user for a new response, it 579 MUST treat the AA-Answer (AAA) with the Reply-Message AVP as an error 580 and deny access. 582 Message Format 584 ::= < Diameter Header: 265, PXY > 585 < Session-Id > 586 { Auth-Application-Id } 587 { Auth-Request-Type } 588 { Result-Code } 589 { Origin-Host } 590 { Origin-Realm } 591 [ User-Name ] 592 [ Service-Type ] 593 * [ Class ] 594 * [ Configuration-Token ] 595 [ Acct-Interim-Interval ] 596 [ Error-Message ] 597 [ Error-Reporting-Host ] 598 * [ Failed-AVP ] 599 [ Idle-Timeout ] 600 [ Authorization-Lifetime ] 601 [ Auth-Grace-Period ] 603 [ Auth-Session-State ] 604 [ Re-Auth-Request-Type ] 605 [ Multi-Round-Time-Out ] 606 [ Session-Timeout ] 607 [ State ] 608 * [ Reply-Message ] 609 [ Origin-AAA-Protocol ] 610 [ Origin-State-Id ] 611 * [ Filter-Id ] 612 [ Password-Retry ] 613 [ Port-Limit ] 614 [ Prompt ] 615 [ ARAP-Challenge-Response ] 616 [ ARAP-Features ] 617 [ ARAP-Security ] 618 * [ ARAP-Security-Data ] 619 [ ARAP-Zone-Access ] 620 [ Callback-Id ] 621 [ Callback-Number ] 622 [ Framed-Appletalk-Link ] 623 * [ Framed-Appletalk-Network ] 624 [ Framed-Appletalk-Zone ] 625 * [ Framed-Compression ] 626 [ Framed-Interface-Id ] 627 [ Framed-IP-Address ] 628 * [ Framed-IPv6-Prefix ] 629 [ Framed-IPv6-Pool ] 630 * [ Framed-IPv6-Route ] 631 [ Framed-IP-Netmask ] 632 * [ Framed-Route ] 633 [ Framed-Pool ] 634 [ Framed-IPX-Network ] 635 [ Framed-MTU ] 636 [ Framed-Protocol ] 637 [ Framed-Routing ] 638 * [ Login-IP-Host ] 639 * [ Login-IPv6-Host ] 640 [ Login-LAT-Group ] 641 [ Login-LAT-Node ] 642 [ Login-LAT-Port ] 643 [ Login-LAT-Service ] 644 [ Login-Service ] 645 [ Login-TCP-Port ] 646 * [ NAS-Filter-Rule ] 647 * [ QoS-Filter-Rule ] 648 * [ Tunneling ] 649 * [ Redirect-Host ] 650 [ Redirect-Host-Usage ] 652 [ Redirect-Max-Cache-Time ] 653 * [ Proxy-Info ] 654 * [ AVP ] 656 3.3. Re-Auth-Request (RAR) Command 658 A Diameter server may initiate a re-authentication and/or re- 659 authorization service for a particular session by issuing a Re-Auth- 660 Request (RAR) message [I-D.ietf-dime-rfc3588bis]. 662 For example, for pre-paid services, the Diameter server that 663 originally authorized a session may need some confirmation that the 664 user is still using the services. 666 If a NAS receives an RAR message with Session-Id equal to a currently 667 active session and a Re-Auth-Type that includes authentication, it 668 MUST initiate a re-authentication toward the user, if the service 669 supports this particular feature. 671 Message Format 673 ::= < Diameter Header: 258, REQ, PXY > 674 < Session-Id > 675 { Origin-Host } 676 { Origin-Realm } 677 { Destination-Realm } 678 { Destination-Host } 679 { Auth-Application-Id } 680 { Re-Auth-Request-Type } 681 [ User-Name ] 682 [ Origin-AAA-Protocol ] 683 [ Origin-State-Id ] 684 [ NAS-Identifier ] 685 [ NAS-IP-Address ] 686 [ NAS-IPv6-Address ] 687 [ NAS-Port ] 688 [ NAS-Port-Id ] 689 [ NAS-Port-Type ] 690 [ Service-Type ] 691 [ Framed-IP-Address ] 692 [ Framed-IPv6-Prefix ] 693 [ Framed-Interface-Id ] 694 [ Called-Station-Id ] 695 [ Calling-Station-Id ] 696 [ Originating-Line-Info ] 697 [ Acct-Session-Id ] 698 [ Acct-Multi-Session-Id ] 699 [ State ] 700 * [ Class ] 701 [ Reply-Message ] 702 * [ Proxy-Info ] 703 * [ Route-Record ] 704 * [ AVP ] 706 3.4. Re-Auth-Answer (RAA) Command 708 The Re-Auth-Answer (RAA) message [I-D.ietf-dime-rfc3588bis] is sent 709 in response to the RAR. The Result-Code AVP MUST be present and 710 indicates the disposition of the request. 712 A successful RAA transaction MUST be followed by an AAR message. 714 Message Format 716 ::= < Diameter Header: 258, PXY > 717 < Session-Id > 718 { Result-Code } 719 { Origin-Host } 720 { Origin-Realm } 721 [ User-Name ] 722 [ Origin-AAA-Protocol ] 723 [ Origin-State-Id ] 724 [ Error-Message ] 725 [ Error-Reporting-Host ] 726 * [ Failed-AVP ] 727 * [ Redirected-Host ] 728 [ Redirected-Host-Usage ] 729 [ Redirected-Host-Cache-Time ] 730 [ Service-Type ] 731 * [ Configuration-Token ] 732 [ Idle-Timeout ] 733 [ Authorization-Lifetime ] 734 [ Auth-Grace-Period ] 735 [ Re-Auth-Request-Type ] 736 [ State ] 737 * [ Class ] 738 * [ Reply-Message ] 739 [ Prompt ] 740 * [ Proxy-Info ] 741 * [ AVP ] 743 3.5. Session-Termination-Request (STR) Command 745 The Session-Termination-Request (STR) message 746 [I-D.ietf-dime-rfc3588bis] is sent by the NAS to inform the Diameter 747 Server that an authenticated and/or authorized session is being 748 terminated. 750 Message Format 752 ::= < Diameter Header: 275, REQ, PXY > 753 < Session-Id > 754 { Origin-Host } 755 { Origin-Realm } 756 { Destination-Realm } 757 { Auth-Application-Id } 758 { Termination-Cause } 759 [ User-Name ] 760 [ Destination-Host ] 761 * [ Class ] 762 [ Origin-AAA-Protocol ] 763 [ Origin-State-Id ] 764 * [ Proxy-Info ] 765 * [ Route-Record ] 766 * [ AVP ] 768 3.6. Session-Termination-Answer (STA) Command 770 The Session-Termination-Answer (STA) message 771 [I-D.ietf-dime-rfc3588bis] is sent by the Diameter Server to 772 acknowledge the notification that the session has been terminated. 773 The Result-Code AVP MUST be present and MAY contain an indication 774 that an error occurred while the STR was being serviced. 776 Upon sending or receiving the STA, the Diameter Server MUST release 777 all resources for the session indicated by the Session-Id AVP. Any 778 intermediate server in the Proxy-Chain MAY also release any 779 resources, if necessary. 781 Message Format 783 ::= < Diameter Header: 275, PXY > 784 < Session-Id > 785 { Result-Code } 786 { Origin-Host } 787 { Origin-Realm } 788 [ User-Name ] 789 * [ Class ] 790 [ Error-Message ] 791 [ Error-Reporting-Host ] 792 * [ Failed-AVP ] 793 [ Origin-AAA-Protocol ] 794 [ Origin-State-Id ] 795 * [ Redirect-Host ] 796 [ Redirect-Host-Usase ] 797 [ Redirect-Max-Cache-Time ] 798 * [ Proxy-Info ] 799 * [ AVP ] 801 3.7. Abort-Session-Request (ASR) Command 803 The Abort-Session-Request (ASR) message [I-D.ietf-dime-rfc3588bis] 804 may be sent by any Diameter server to the NAS providing session 805 service, to request that the session identified by the Session-Id be 806 stopped. 808 Message Format 810 ::= < Diameter Header: 274, REQ, PXY > 811 < Session-Id > 812 { Origin-Host } 813 { Origin-Realm } 814 { Destination-Realm } 815 { Destination-Host } 816 { Auth-Application-Id } 817 [ User-Name ] 818 [ Origin-AAA-Protocol ] 819 [ Origin-State-Id ] 820 [ NAS-Identifier ] 821 [ NAS-IP-Address ] 822 [ NAS-IPv6-Address ] 823 [ NAS-Port ] 824 [ NAS-Port-Id ] 825 [ NAS-Port-Type ] 826 [ Service-Type ] 827 [ Framed-IP-Address ] 828 [ Framed-IPv6-Prefix ] 829 [ Framed-Interface-Id ] 830 [ Called-Station-Id ] 831 [ Calling-Station-Id ] 832 [ Originating-Line-Info ] 833 [ Acct-Session-Id ] 834 [ Acct-Multi-Session-Id ] 835 [ State ] 836 * [ Class ] 837 * [ Reply-Message ] 838 * [ Proxy-Info ] 839 * [ Route-Record ] 840 * [ AVP ] 842 3.8. Abort-Session-Answer (ASA) Command 844 The ASA message [I-D.ietf-dime-rfc3588bis] is sent in response to the 845 ASR. The Result-Code AVP MUST be present and indicates the 846 disposition of the request. 848 If the session identified by Session-Id in the ASR was successfully 849 terminated, Result-Code is set to DIAMETER_SUCCESS. If the session 850 is not currently active, the Result-Code AVP is set to 851 DIAMETER_UNKNOWN_SESSION_ID. If the access device does not stop the 852 session for any other reason, the Result-Code AVP is set to 853 DIAMETER_UNABLE_TO_COMPLY. 855 Message Format 857 ::= < Diameter Header: 274, PXY > 858 < Session-Id > 859 { Result-Code } 860 { Origin-Host } 861 { Origin-Realm } 862 [ User-Name ] 863 [ Origin-AAA-Protocol ] 864 [ Origin-State-Id ] 865 [ State] 866 [ Error-Message ] 867 [ Error-Reporting-Host ] 868 * [ Failed-AVP ] 869 * [ Redirected-Host ] 870 [ Redirected-Host-Usage ] 871 [ Redirected-Max-Cache-Time ] 872 * [ Proxy-Info ] 873 * [ AVP ] 875 3.9. Accounting-Request (ACR) Command 877 The ACR message [I-D.ietf-dime-rfc3588bis] is sent by the NAS to 878 report its session information to a target server downstream. 880 The Acct-Application-Id AVP MUST be present. 882 The AVPs listed in the Base protocol specification 883 [I-D.ietf-dime-rfc3588bis] MUST be assumed to be present, as 884 appropriate. NAS service-specific accounting AVPs SHOULD be present 885 as described in Section 4.6 and the rest of this specification. 887 Message Format 889 ::= < Diameter Header: 271, REQ, PXY > 890 < Session-Id > 891 { Origin-Host } 892 { Origin-Realm } 893 { Destination-Realm } 894 { Accounting-Record-Type } 895 { Accounting-Record-Number } 896 { Acct-Application-Id } 897 [ User-Name ] 898 [ Accounting-Sub-Session-Id ] 899 [ Acct-Session-Id ] 900 [ Acct-Multi-Session-Id ] 901 [ Origin-AAA-Protocol ] 902 [ Origin-State-Id ] 904 [ Destination-Host ] 905 [ Event-Timestamp ] 906 [ Acct-Delay-Time ] 907 [ NAS-Identifier ] 908 [ NAS-IP-Address ] 909 [ NAS-IPv6-Address ] 910 [ NAS-Port ] 911 [ NAS-Port-Id ] 912 [ NAS-Port-Type ] 913 * [ Class ] 914 [ Service-Type ] 915 [ Termination-Cause ] 916 [ Accounting-Input-Octets ] 917 [ Accounting-Input-Packets ] 918 [ Accounting-Output-Octets ] 919 [ Accounting-Output-Packets ] 920 [ Acct-Authentic ] 921 [ Accounting-Auth-Method ] 922 [ Acct-Link-Count ] 923 [ Acct-Session-Time ] 924 [ Acct-Tunnel-Connection ] 925 [ Acct-Tunnel-Packets-Lost ] 926 [ Callback-Id ] 927 [ Callback-Number ] 928 [ Called-Station-Id ] 929 [ Calling-Station-Id ] 930 * [ Connection-Info ] 931 [ Originating-Line-Info ] 932 [ Authorization-Lifetime ] 933 [ Session-Timeout ] 934 [ Idle-Timeout ] 935 [ Port-Limit ] 936 [ Accounting-Realtime-Required ] 937 [ Acct-Interim-Interval ] 938 * [ Filter-Id ] 939 * [ NAS-Filter-Rule ] 940 * [ Qos-Filter-Rule ] 941 [ Framed-AppleTalk-Link ] 942 [ Framed-AppleTalk-Network ] 943 [ Framed-AppleTalk-Zone ] 944 [ Framed-Compression ] 945 [ Framed-Interface-Id ] 946 [ Framed-IP-Address ] 947 [ Framed-IP-Netmask ] 948 * [ Framed-IPv6-Prefix ] 949 [ Framed-IPv6-Pool ] 950 * [ Framed-IPv6-Route ] 951 [ Framed-IPX-Network ] 953 [ Framed-MTU ] 954 [ Framed-Pool ] 955 [ Framed-Protocol ] 956 * [ Framed-Route ] 957 [ Framed-Routing ] 958 * [ Login-IP-Host ] 959 * [ Login-IPv6-Host ] 960 [ Login-LAT-Group ] 961 [ Login-LAT-Node ] 962 [ Login-LAT-Port ] 963 [ Login-LAT-Service ] 964 [ Login-Service ] 965 [ Login-TCP-Port ] 966 * [ Tunneling ] 967 * [ Proxy-Info ] 968 * [ Route-Record ] 969 * [ AVP ] 971 3.10. Accounting-Answer (ACA) Command 973 The ACA message [I-D.ietf-dime-rfc3588bis] is used to acknowledge an 974 Accounting-Request command. The Accounting-Answer command contains 975 the same Session-Id as the Request. 977 Only the target Diameter Server or home Diameter Server SHOULD 978 respond with the Accounting-Answer command. 980 The Acct-Application-Id AVP MUST be present. 982 The AVPs listed in the Base protocol specification 983 [I-D.ietf-dime-rfc3588bis] MUST be assumed to be present, as 984 appropriate. NAS service-specific accounting AVPs SHOULD be present 985 as described in Section 4.6 and the rest of this specification. 987 Message Format 989 ::= < Diameter Header: 271, PXY > 990 < Session-Id > 991 { Result-Code } 992 { Origin-Host } 993 { Origin-Realm } 994 { Accounting-Record-Type } 995 { Accounting-Record-Number } 996 { Acct-Application-Id } 997 [ User-Name ] 998 [ Accounting-Sub-Session-Id ] 999 [ Acct-Session-Id ] 1000 [ Acct-Multi-Session-Id ] 1001 [ Event-Timestamp ] 1002 [ Error-Message ] 1003 [ Error-Reporting-Host ] 1004 * [ Failed-AVP ] 1005 [ Origin-AAA-Protocol ] 1006 [ Origin-State-Id ] 1007 [ NAS-Identifier ] 1008 [ NAS-IP-Address ] 1009 [ NAS-IPv6-Address ] 1010 [ NAS-Port ] 1011 [ NAS-Port-Id ] 1012 [ NAS-Port-Type ] 1013 [ Service-Type ] 1014 [ Termination-Cause ] 1015 [ Accounting-Realtime-Required ] 1016 [ Acct-Interim-Interval ] 1017 * [ Class ] 1018 * [ Proxy-Info ] 1019 * [ AVP ] 1021 4. Diameter NAS Application AVPs 1023 The following sections define a new derived AVP data format, a set of 1024 application-specific AVPs and describe the use of AVPs defined in 1025 other documents by the Diameter NAS Application. 1027 4.1. Derived AVP Data Formats 1029 4.1.1. QoSFilterRule 1031 The QosFilterRule format is derived from the OctetString AVP Base 1032 Format. It uses the ASCII charset. Packets may be marked or metered 1033 based on the following information: 1035 o Direction (in or out) 1037 o Source and destination IP address (possibly masked) 1039 o Protocol 1041 o Source and destination port (lists or ranges) 1043 o DSCP values (no mask or range) 1045 Rules for the appropriate direction are evaluated in order; the first 1046 matched rule terminates the evaluation. Each packet is evaluated 1047 once. If no rule matches, the packet is treated as best effort. An 1048 access device unable to interpret or apply a QoS rule SHOULD NOT 1049 terminate the session. 1051 QoSFilterRule filters MUST follow the following format: 1053 action dir proto from src to dst [options] 1054 where 1056 action 1057 tag Mark packet with a specific DSCP [RFC2474] 1058 meter Meter traffic 1060 dir The format is as described under IPFilterRule 1061 [I-D.ietf-dime-rfc3588bis] 1063 proto The format is as described under IPFilterRule 1064 [I-D.ietf-dime-rfc3588bis] 1066 src and dst The format is as described under IPFilterRule 1067 [I-D.ietf-dime-rfc3588bis] 1069 The options are described in Section 4.4.9. 1071 The rule syntax is a modified subset of ipfw(8) from FreeBSD, and the 1072 ipfw.c code may provide a useful base for implementations. 1074 4.2. NAS Session AVPs 1076 Diameter reserves the AVP Codes 0 - 255 for RADIUS Attributes that 1077 are implemented in Diameter. 1079 4.2.1. Call and Session Information 1081 This section describes the AVPs specific to Diameter applications 1082 that are needed to identify the call and session context and status 1083 information. On a request, this information allows the server to 1084 qualify the session. 1086 These AVPs are used in addition to the following AVPs from the base 1087 protocol specification [I-D.ietf-dime-rfc3588bis]: 1089 Session-Id 1090 Auth-Application-Id 1091 Origin-Host 1092 Origin-Realm 1093 Auth-Request-Type 1094 Termination-Cause 1096 The following table gives the possible flag values for the session 1097 level AVPs. 1099 +----------+ 1100 | AVP Flag | 1101 | rules | 1102 |----+-----+ 1103 |MUST| MUST| 1104 Attribute Name Section Defined | | NOT| 1105 -----------------------------------------|----+-----| 1106 NAS-Port 4.2.2 | M | V | 1107 NAS-Port-Id 4.2.3 | M | V | 1108 NAS-Port-Type 4.2.4 | M | V | 1109 Called-Station-Id 4.2.5 | M | V | 1110 Calling-Station-Id 4.2.6 | M | V | 1111 Connect-Info 4.2.7 | M | V | 1112 Originating-Line-Info 4.2.8 | M | V | 1113 Reply-Message 4.2.9 | M | V | 1114 -----------------------------------------|----+-----| 1116 4.2.2. NAS-Port AVP 1118 The NAS-Port AVP (AVP Code 5) is of type Unsigned32 and contains the 1119 physical or virtual port number of the NAS which is authenticating 1120 the user. Note that "port" is meant in its sense as a service 1121 connection on the NAS, not as an IP protocol identifier. 1123 Either the NAS-Port AVP or the NAS-Port-Id AVP (Section 4.2.3) SHOULD 1124 be present in the AA-Request (AAR, Section 3.1) command if the NAS 1125 differentiates among its ports. 1127 4.2.3. NAS-Port-Id AVP 1129 The NAS-Port-Id AVP (AVP Code 87) is of type UTF8String and consists 1130 of ASCII text identifying the port of the NAS authenticating the 1131 user. Note that "port" is meant in its sense as a service connection 1132 on the NAS, not as an IP protocol identifier. 1134 Either the NAS-Port-Id AVP or the NAS-Port AVP (Section 4.2.2) SHOULD 1135 be present in the AA-Request (AAR, Section 3.1) command if the NAS 1136 differentiates among its ports. NAS-Port-Id is intended for use by 1137 NASes that cannot conveniently number their ports. 1139 4.2.4. NAS-Port-Type AVP 1141 The NAS-Port-Type AVP (AVP Code 61) is of type Enumerated and 1142 contains the type of the port on which the NAS is authenticating the 1143 user. This AVP SHOULD be present if the NAS uses the same NAS-Port 1144 number ranges for different service types concurrently. 1146 The currently supported values of the NAS-Port-Type AVP are listed in 1147 [RADIUSAttrVals]. 1149 4.2.5. Called-Station-Id AVP 1151 The Called-Station-Id AVP (AVP Code 30) is of type UTF8String and 1152 allows the NAS to send the ASCII string describing the Layer 2 1153 address the user contacted in the request. For dialup access, this 1154 can be a phone number obtained by using the Dialed Number 1155 Identification Service (DNIS) or a similar technology. Note that 1156 this may be different from the phone number the call comes in on. 1157 For use with IEEE 802 access, the Called-Station-Id MAY contain a MAC 1158 address formatted as described in Congdon, et al. [RFC3580]. 1160 If the Called-Station-Id AVP is present in an AAR message, Auth- 1161 Request-Type AVP is set to AUTHORIZE_ONLY and the User-Name AVP is 1162 absent, the Diameter Server MAY perform authorization based on this 1163 AVP. This can be used by a NAS to request whether a call should be 1164 answered based on the DNIS result. 1166 The codification of this field's allowed usage range is outside the 1167 scope of this specification. 1169 4.2.6. Calling-Station-Id AVP 1171 The Calling-Station-Id AVP (AVP Code 31) is of type UTF8String and 1172 allows the NAS to send the ASCII string describing the Layer 2 1173 address from which the user connected in the request. For dialup 1174 access, this is the phone number the call came from, using Automatic 1175 Number Identification (ANI) or a similar technology. For use with 1176 IEEE 802 access, the Calling-Station-Id AVP MAY contain a MAC 1177 address, formated as described in RFC 3580. 1179 If the Calling-Station-Id AVP is present in an AAR message, the Auth- 1180 Request-Type AVP is set to AUTHORIZE_ONLY and the User-Name AVP is 1181 absent, the Diameter Server MAY perform authorization based on the 1182 value of this AVP. This can be used by a NAS to request whether a 1183 call should be answered based on the Layer 2 address (ANI, MAC 1184 Address, etc.) 1186 The codification of this field's allowed usage range is outside the 1187 scope of this specification. 1189 4.2.7. Connect-Info AVP 1191 The Connect-Info AVP (AVP Code 77) is of type UTF8String and is sent 1192 in the AA-Request message or an ACR message with the value of the 1193 Accounting-Record-Type AVP set to STOP. When sent in the AA-Request, 1194 it indicates the nature of the user's connection. The connection 1195 speed SHOULD be included at the beginning of the first Connect-Info 1196 AVP in the message. If the transmit and receive connection speeds 1197 differ, both may be included in the first AVP with the transmit speed 1198 listed first (the speed at which the NAS modem transmits), then a 1199 slash (/), then the receive speed, and then other optional 1200 information. 1202 For example: "28800 V42BIS/LAPM" or "52000/31200 V90" 1204 If sent in an ACR message with the value of the Accounting-Record- 1205 Type AVP set to STOP, this attribute may summarize statistics 1206 relating to session quality. For example, in IEEE 802.11, the 1207 Connect-Info AVP may contain information on the number of link layer 1208 retransmissions. The exact format of this attribute is 1209 implementation specific. 1211 4.2.8. Originating-Line-Info AVP 1213 The Originating-Line-Info AVP (AVP Code 94) is of type OctetString 1214 and is sent by the NAS system to convey information about the origin 1215 of the call from an SS7 system. 1217 The Originating Line Information (OLI) element indicates the nature 1218 and/or characteristics of the line from which a call originated 1219 (e.g., pay phone, hotel, cellular). Telephone companies are starting 1220 to offer OLI to their customers as an option over Primary Rate 1221 Interface (PRI). Internet Service Providers (ISPs) can use OLI in 1222 addition to Called-Station-Id and Calling-Station-Id attributes to 1223 differentiate customer calls and to define different services. 1225 The Value field contains two octets (00 - 99). ANSI T1.113 and 1226 BELLCORE 394 can be used for additional information about these 1227 values and their use. For information on the currently assigned 1228 values, see [ANITypes]. 1230 4.2.9. Reply-Message AVP 1232 The Reply-Message AVP (AVP Code 18) is of type UTF8String and 1233 contains text that MAY be displayed to the user. When used in an AA- 1234 Answer message with a successful Result-Code AVP, it indicates 1235 success. When found in an AAA message with a Result-Code other than 1236 DIAMETER_SUCCESS, the AVP contains a failure message. 1238 The Reply-Message AVP MAY contain text to prompt the user before 1239 another AA-Request attempt. When used in an AA-Answer message 1240 containing a Result-Code AVP with the value DIAMETER_MULTI_ROUND_AUTH 1241 or in an Re-Auth-Request message, it MAY contain text to prompt the 1242 user for a response. 1244 4.3. NAS Authentication AVPs 1246 This section defines the AVPs necessary to carry the authentication 1247 information in the Diameter protocol. The functionality defined here 1248 provides a RADIUS-like AAA service [RFC2865] over a more reliable and 1249 secure transport, as defined in the base protocol 1250 [I-D.ietf-dime-rfc3588bis]. 1252 The following table gives the possible flag values for the session 1253 level AVPs. 1255 +----------+ 1256 | AVP Flag | 1257 | rules | 1258 |----+-----| 1259 |MUST| MUST| 1260 Attribute Name Section Defined | | NOT| 1261 -----------------------------------------|----+-----| 1262 User-Password 4.3.1 | M | V | 1263 Password-Retry 4.3.2 | M | V | 1264 Prompt 4.3.3 | M | V | 1265 CHAP-Auth 4.3.4 | M | V | 1266 CHAP-Algorithm 4.3.5 | M | V | 1267 CHAP-Ident 4.3.6 | M | V | 1268 CHAP-Response 4.3.7 | M | V | 1269 CHAP-Challenge 4.3.8 | M | V | 1270 ARAP-Password 4.3.9 | M | V | 1271 ARAP-Challenge-Response 4.3.10 | M | V | 1272 ARAP-Security 4.3.11 | M | V | 1273 ARAP-Security-Data 4.3.12 | M | V | 1274 -----------------------------------------|----+-----| 1276 4.3.1. User-Password AVP 1278 The User-Password AVP (AVP Code 2) is of type OctetString and 1279 contains the password of the user to be authenticated, or the user's 1280 input in a multi-round authentication exchange. 1282 The User-Password AVP contains a user password or one-time password 1283 and therefore represents sensitive information. As required by 1284 Fajardo, et al. [I-D.ietf-dime-rfc3588bis], Diameter messages are 1285 encrypted by using IPsec [RFC4301] or TLS [RFC5246]. Unless this AVP 1286 is used for one-time passwords, the User-Password AVP SHOULD NOT be 1287 used in untrusted proxy environments without encrypting it by using 1288 end-to-end security techniques. 1290 The clear-text password (prior to encryption) MUST NOT be longer than 1291 128 bytes in length. 1293 4.3.2. Password-Retry AVP 1295 The Password-Retry AVP (AVP Code 75) is of type Unsigned32 and MAY be 1296 included in the AA-Answer if the Result-Code indicates an 1297 authentication failure. The value of this AVP indicates how many 1298 authentication attempts a user is permitted before being 1299 disconnected. This AVP is primarily intended for use when the 1300 Framed-Protocol AVP (Section 4.4.10.1) is set to ARAP. 1302 4.3.3. Prompt AVP 1304 The Prompt AVP (AVP Code 76) is of type Enumerated and MAY be present 1305 in the AA-Answer message. When present, it is used by the NAS to 1306 determine whether the user's response, when entered, should be 1307 echoed. 1309 The supported values are listed in [RADIUSAttrVals] 1311 4.3.4. CHAP-Auth AVP 1313 The CHAP-Auth AVP (AVP Code 402) is of type Grouped and contains the 1314 information necessary to authenticate a user using the PPP Challenge- 1315 Handshake Authentication Protocol (CHAP) [RFC1994]. If the CHAP-Auth 1316 AVP is found in a message, the CHAP-Challenge AVP (Section 4.3.8) 1317 MUST be present as well. The optional AVPs containing the CHAP 1318 response depend upon the value of the CHAP-Algorithm AVP 1319 (Section 4.3.8). The grouped AVP has the following ABNF grammar: 1321 CHAP-Auth ::= < AVP Header: 402 > 1322 { CHAP-Algorithm } 1323 { CHAP-Ident } 1324 [ CHAP-Response ] 1325 * [ AVP ] 1327 4.3.5. CHAP-Algorithm AVP 1329 The CHAP-Algorithm AVP (AVP Code 403) is of type Enumerated and 1330 contains the algorithm identifier used in the computation of the CHAP 1331 response [RFC1994]. The following values are currently supported: 1333 CHAP with MD5 5 The CHAP response is computed by using the procedure 1334 described in [RFC1994] This algorithm requires that the CHAP- 1335 Response AVP (Section 4.3.7) MUST be present in the CHAP-Auth AVP 1336 (Section 4.3.4). 1338 4.3.6. CHAP-Ident AVP 1340 The CHAP-Ident AVP (AVP Code 404) is of type OctetString and contains 1341 the 1 octet CHAP Identifier used in the computation of the CHAP 1342 response [RFC1994] 1344 4.3.7. CHAP-Response AVP 1346 The CHAP-Response AVP (AVP Code 405) is of type OctetString and 1347 contains the 16 octet authentication data provided by the user in 1348 response to the CHAP challenge [RFC1994]. 1350 4.3.8. CHAP-Challenge AVP 1352 The CHAP-Challenge AVP (AVP Code 60) is of type OctetString and 1353 contains the CHAP Challenge sent by the NAS to the CHAP peer 1354 [RFC1994]. 1356 4.3.9. ARAP-Password AVP 1358 The ARAP-Password AVP (AVP Code 70) is of type OctetString and is 1359 only present when the Framed-Protocol AVP (Section 4.4.10.1) is 1360 included in the message and is set to ARAP. This AVP MUST NOT be 1361 present if either the User-Password or the CHAP-Auth AVP is present. 1362 See Rigney, et al. [RFC2869] for more information on the contents of 1363 this AVP. 1365 4.3.10. ARAP-Challenge-Response AVP 1367 The ARAP-Challenge-Response AVP (AVP Code 84) is of type OctetString 1368 and is only present when the Framed-Protocol AVP (Section 4.4.10.1) 1369 is included in the message and is set to ARAP. This AVP contains an 1370 8 octet response to the dial-in client's challenge. The Diameter 1371 server calculates this value by taking the dial-in client's challenge 1372 from the high-order 8 octets of the ARAP-Password AVP and performing 1373 DES encryption on this value with the authenticating user's password 1374 as the key. If the user's password is fewer than 8 octets in length, 1375 the password is padded at the end with NULL octets to a length of 8 1376 before it is used as a key. 1378 4.3.11. ARAP-Security AVP 1380 The ARAP-Security AVP (AVP Code 73) is of type Unsigned32 and MAY be 1381 present in the AA-Answer message if the Framed-Protocol AVP 1382 (Section 4.4.10.1) is set to the value of ARAP, and the Result-Code 1383 AVP ([I-D.ietf-dime-rfc3588bis], Section 7.1) is set to 1384 DIAMETER_MULTI_ROUND_AUTH. See RFC 2869 for more information on the 1385 contents of this AVP. 1387 4.3.12. ARAP-Security-Data AVP 1389 The ARAP-Security-Data AVP (AVP Code 74) is of type OctetString and 1390 MAY be present in the AA-Request or AA-Answer message if the Framed- 1391 Protocol AVP (Section 4.4.10.1) is set to the value of ARAP and the 1392 Result-Code AVP ([I-D.ietf-dime-rfc3588bis], Section 7.1) is set to 1393 DIAMETER_MULTI_ROUND_AUTH. This AVP contains the security module 1394 challenge or response associated with the ARAP Security Module 1395 specified in the ARAP-Security AVP (Section 4.3.11). 1397 4.4. NAS Authorization AVPs 1399 This section contains the authorization AVPs supported in the NAS 1400 Application. The Service-Type AVP SHOULD be present in all messages 1401 and, based on its value, additional AVPs defined in this section and 1402 Section 4.5 MAY be present. 1404 The following table gives the possible flag values for the session- 1405 level AVPs. 1407 +----------+ 1408 | AVP Flag | 1409 | rules | 1410 |----+-----| 1411 |MUST| MUST| 1412 Attribute Name Section Defined | | NOT| 1413 -----------------------------------------|----+-----| 1414 Service-Type 4.4.1 | M | V | 1415 Callback-Number 4.4.2 | M | V | 1416 Callback-Id 4.4.3 | M | V | 1417 Idle-Timeout 4.4.4 | M | V | 1418 Port-Limit 4.4.5 | M | V | 1419 NAS-Filter-Rule 4.4.6 | M | V | 1420 Filter-Id 4.4.7 | M | V | 1421 Configuration-Token 4.4.8 | M | V | 1422 QoS-Filter-Rule 4.4.9 | | | 1423 Framed-Protocol 4.4.10.1 | M | V | 1424 Framed-Routing 4.4.10.2 | M | V | 1425 Framed-MTU 4.4.10.3 | M | V | 1426 Framed-Compression 4.4.10.4 | M | V | 1427 Framed-IP-Address 4.4.10.5.1 | M | V | 1428 Framed-IP-Netmask 4.4.10.5.2 | M | V | 1429 Framed-Route 4.4.10.5.3 | M | V | 1430 Framed-Pool 4.4.10.5.4 | M | V | 1431 Framed-Interface-Id 4.4.10.5.5 | M | V | 1432 Framed-IPv6-Prefix 4.4.10.5.6 | M | V | 1433 Framed-IPv6-Route 4.4.10.5.7 | M | V | 1434 Framed-IPv6-Pool 4.4.10.5.8 | M | V | 1435 Framed-IPX-Network 4.4.10.6.1 | M | V | 1436 Framed-Appletalk-Link 4.4.10.7.1 | M | V | 1437 Framed-Appletalk-Network 4.4.10.7.2 | M | V | 1438 Framed-Appletalk-Zone 4.4.10.7.3 | M | V | 1439 ARAP-Features 4.4.10.8.1 | M | V | 1440 ARAP-Zone-Access 4.4.10.8.2 | M | V | 1441 Login-IP-Host 4.4.11.1 | M | V | 1442 Login-IPv6-Host 4.4.11.2 | M | V | 1443 Login-Service 4.4.11.3 | M | V | 1444 Login-TCP-Port 4.4.11.4.1 | M | V | 1445 Login-LAT-Service 4.4.11.5.1 | M | V | 1446 Login-LAT-Node 4.4.11.5.2 | M | V | 1447 Login-LAT-Group 4.4.11.5.3 | M | V | 1448 Login-LAT-Port 4.4.11.5.4 | M | V | 1449 -----------------------------------------|----+-----| 1451 4.4.1. Service-Type AVP 1453 The Service-Type AVP (AVP Code 6) is of type Enumerated and contains 1454 the type of service the user has requested or the type of service to 1455 be provided. One such AVP MAY be present in an authentication and/or 1456 authorization request or response. A NAS is not required to 1457 implement all of these service types. It MUST treat unknown or 1458 unsupported Service-Types received in a response as a failure and end 1459 the session with a DIAMETER_INVALID_AVP_VALUE Result-Code. 1461 When used in a request, the Service-Type AVP SHOULD be considered a 1462 hint to the server that the NAS believes the user would prefer the 1463 kind of service indicated. The server is not required to honor the 1464 hint. Furthermore, if the service specified by the server is 1465 supported, but not compatible with the current mode of access, the 1466 NAS MUST fail to start the session. The NAS MUST also generate the 1467 appropriate error message(s). 1469 The complete list of defined values that the Service-Type AVP can 1470 take can be found in [RFC2865] and [RADIUSAttrVals], but the 1471 following values require further qualification here: 1473 Login (1) 1474 The user should be connected to a host. The message MAY 1475 include additional AVPs as defined in Section 4.4.11.4 or 1476 Section 4.4.11.5. 1478 Framed (2) 1479 A Framed Protocol, such as PPP or SLIP, should be started for 1480 the User. The message MAY include additional AVPs defined in 1481 Section 4.4.10, or Section 4.5 for tunneling services. 1483 Callback Login (3) 1484 The user should be disconnected and called back, then connected 1485 to a host. The message MAY include additional AVPs defined in 1486 this Section. 1488 Callback Framed (4) 1489 The user should be disconnected and called back, and then a 1490 Framed Protocol, such as PPP or SLIP, should be started for the 1491 User. The message MAY include additional AVPs defined in 1492 Section 4.4.10, or Section 4.5 for tunneling services. 1494 4.4.2. Callback-Number AVP 1496 The Callback-Number AVP (AVP Code 19) is of type UTF8String and 1497 contains a dialing string to be used for callback. It MAY be used in 1498 an authentication and/or authorization request as a hint to the 1499 server that a Callback service is desired, but the server is not 1500 required to honor the hint in the corresponding response. 1502 The codification of this field's allowed usage range is outside the 1503 scope of this specification. 1505 4.4.3. Callback-Id AVP 1507 The Callback-Id AVP (AVP Code 20) is of type UTF8String and contains 1508 the name of a place to be called, to be interpreted by the NAS. This 1509 AVP MAY be present in an authentication and/or authorization 1510 response. 1512 This AVP is not roaming-friendly as it assumes that the Callback-Id 1513 is configured on the NAS. Using the Callback-Number AVP 1514 (Section 4.4.2) is therefore preferable. 1516 4.4.4. Idle-Timeout AVP 1518 The Idle-Timeout AVP (AVP Code 28) is of type Unsigned32 and sets the 1519 maximum number of consecutive seconds of idle connection allowable to 1520 the user before termination of the session or before a prompt is 1521 issued. The default is none, or system specific. 1523 4.4.5. Port-Limit AVP 1525 The Port-Limit AVP (AVP Code 62) is of type Unsigned32 and sets the 1526 maximum number of ports the NAS provides to the user. It MAY be used 1527 in an authentication and/or authorization request as a hint to the 1528 server that multilink PPP [RFC1990] service is desired, but the 1529 server is not required to honor the hint in the corresponding 1530 response. 1532 4.4.6. NAS-Filter-Rule AVP 1534 The NAS-Filter-Rule AVP (AVP Code 400) is of type IPFilterRule and 1535 provides filter rules that need to be configured on the NAS for the 1536 user. One or more of these AVPs MAY be present in an authorization 1537 response. 1539 4.4.7. Filter-Id AVP 1541 The Filter-Id AVP (AVP Code 11) is of type UTF8String and contains 1542 the name of the filter list for this user. Zero or more Filter-Id 1543 AVPs MAY be sent in an authorization answer. 1545 Identifying a filter list by name allows the filter to be used on 1546 different NASes without regard to filter-list implementation details. 1547 However, this AVP is not roaming-friendly, as filter naming differs 1548 from one service provider to another. 1550 In environments where backward compatibility with RADIUS is not 1551 required, it is RECOMMENDED that the NAS-Filter-Rule AVP 1552 (Section 4.4.6) be used instead. 1554 4.4.8. Configuration-Token AVP 1556 The Configuration-Token AVP (AVP Code 78) is of type OctetString and 1557 is sent by a Diameter Server to a Diameter Proxy Agent in an AA- 1558 Answer command to indicate a type of user profile to be used. It 1559 should not be sent to a Diameter Client (NAS). 1561 The format of the Data field of this AVP is site specific. 1563 4.4.9. QoS-Filter-Rule AVP 1565 The QoS-Filter-Rule AVP (AVP Code 407) is of type QoSFilterRule 1566 (Section 4.1.1) and provides QoS filter rules that need to be 1567 configured on the NAS for the user. One or more such AVPs MAY be 1568 present in an authorization response. 1570 The use of this AVP is NOT RECOMMENDED; the AVPs defined by Korhonen, 1571 et al. [RFC5777] SHOULD be used instead. 1573 The following options are defined for the QoSFilterRule filters: 1575 DSCP If action is set to tag (Section 4.1.1) this option 1576 MUST be included in the rule. 1578 Color values are defined in Nichols, et al. [RFC2474]. Exact 1579 matching of DSCP values is required (no masks or ranges). 1581 metering The metering option 1582 provides Assured Forwarding, as defined in Heinanen, et al. 1583 [RFC2597]. and MUST be present if the action is set to meter 1584 (Section 4.1.1) The rate option is the throughput, in bits per 1585 second, used by the access device to mark packets. Traffic 1586 over the rate is marked with the color_over codepoint, and 1587 traffic under the rate is marked with the color_under 1588 codepoint. The color_under and color_over options contain the 1589 drop preferences and MUST conform to the recommended codepoint 1590 keywords described in RFC 2597 (e.g., AF13). 1592 The metering option also supports the strict limit on traffic 1593 required by Expedited Forwarding, as defined in Davie, et 1594 al. [RFC3246]. The color_over option may contain the keyword 1595 "drop" to prevent forwarding of traffic that exceeds the rate 1596 parameter. 1598 4.4.10. Framed Access Authorization AVPs 1600 This section lists the authorization AVPs necessary to support framed 1601 access, such as PPP and SLIP. AVPs defined in this section MAY be 1602 present in a message if the Service-Type AVP was set to "Framed" or 1603 "Callback Framed". 1605 4.4.10.1. Framed-Protocol AVP 1607 The Framed-Protocol AVP (AVP Code 7) is of type Enumerated and 1608 contains the framing to be used for framed access. This AVP MAY be 1609 present in both requests and responses. The supported values are 1610 listed in [RADIUSAttrVals]. 1612 4.4.10.2. Framed-Routing AVP 1614 The Framed-Routing AVP (AVP Code 10) is of type Enumerated and 1615 contains the routing method for the user when the user is a router to 1616 a network. This AVP SHOULD only be present in authorization 1617 responses. The supported values are listed in [RADIUSAttrVals]. 1619 4.4.10.3. Framed-MTU AVP 1621 The Framed-MTU AVP (AVP Code 12) is of type Unsigned32 and contains 1622 the Maximum Transmission Unit (MTU) to be configured for the user, 1623 when it is not negotiated by some other means (such as PPP). This 1624 AVP SHOULD only be present in authorization responses. The MTU value 1625 MUST be in the range from 64 to 65535. 1627 4.4.10.4. Framed-Compression AVP 1629 The Framed-Compression AVP (AVP Code 13) is of type Enumerated and 1630 contains the compression protocol to be used for the link. It MAY be 1631 used in an authorization request as a hint to the server that a 1632 specific compression type is desired, but the server is not required 1633 to honor the hint in the corresponding response. 1635 More than one compression protocol AVP MAY be sent. The NAS is 1636 responsible for applying the proper compression protocol to the 1637 appropriate link traffic. 1639 The supported values are listed in [RADIUSAttrVals]. 1641 4.4.10.5. IP Access Authorization AVPs 1643 The AVPs defined in this section are used when the user requests, or 1644 is being granted, access service to IP. 1646 4.4.10.5.1. Framed-IP-Address AVP 1648 The Framed-IP-Address AVP (AVP Code 8) [RFC2865] is of type 1649 OctetString and contains an IPv4 address of the type specified in the 1650 attribute value to be configured for the user. It MAY be used in an 1651 authorization request as a hint to the server that a specific address 1652 is desired, but the server is not required to honor the hint in the 1653 corresponding response. 1655 Two values have special significance: 0xFFFFFFFF and 0xFFFFFFFE. The 1656 value 0xFFFFFFFF indicates that the NAS should allow the user to 1657 select an address (i.e., negotiated). The value 0xFFFFFFFE indicates 1658 that the NAS should select an address for the user (e.g., assigned 1659 from a pool of addresses kept by the NAS). 1661 4.4.10.5.2. Framed-IP-Netmask AVP 1663 The Framed-IP-Netmask AVP (AVP Code 9) is of type OctetString and 1664 contains the four octets of the IPv4 netmask to be configured for the 1665 user when the user is a router to a network. It MAY be used in an 1666 authorization request as a hint to the server that a specific netmask 1667 is desired, but the server is not required to honor the hint in the 1668 corresponding response. This AVP MUST be present in a response if 1669 the request included this AVP with a value of 0xFFFFFFFF. 1671 4.4.10.5.3. Framed-Route AVP 1673 The Framed-Route AVP (AVP Code 22) is of type UTF8String and contains 1674 the ASCII routing information to be configured for the user on the 1675 NAS. Zero or more of these AVPs MAY be present in an authorization 1676 response. 1678 The string MUST contain a destination prefix in dotted quad form 1679 optionally followed by a slash and a decimal length specifier stating 1680 how many high-order bits of the prefix should be used. This is 1681 followed by a space, a gateway address in dotted quad form, a space, 1682 and one or more metrics separated by spaces; for example, 1684 "192.0.2.0/24 192.0.2.1 1" 1686 The length specifier may be omitted, in which case it should default 1687 to 8 bits for class A prefixes, to 16 bits for class B prefixes, and 1688 to 24 bits for class C prefixes; for example, 1689 "192.0.2.0 192.0.2.1 1" 1691 Whenever the gateway address is specified as "0.0.0.0" the IP address 1692 of the user SHOULD be used as the gateway address. 1694 4.4.10.5.4. Framed-Pool AVP 1696 The Framed-Pool AVP (AVP Code 88) is of type OctetString and contains 1697 the name of an assigned address pool that SHOULD be used to assign an 1698 address for the user. If a NAS does not support multiple address 1699 pools, the NAS SHOULD ignore this AVP. Address pools are usually 1700 used for IP addresses but can be used for other protocols if the NAS 1701 supports pools for those protocols. 1703 Although specified as type OctetString for compatibility with RADIUS 1704 [RFC2865], the encoding of the Data field SHOULD also conform to the 1705 rules for the UTF8String Data Format. 1707 4.4.10.5.5. Framed-Interface-Id AVP 1709 The Framed-Interface-Id AVP (AVP Code 96) is of type Unsigned64 and 1710 contains the IPv6 interface identifier to be configured for the user. 1711 It MAY be used in authorization requests as a hint to the server that 1712 a specific interface id is desired, but the server is not required to 1713 honor the hint in the corresponding response. 1715 4.4.10.5.6. Framed-IPv6-Prefix AVP 1717 The Framed-IPv6-Prefix AVP (AVP Code 97) is of type OctetString and 1718 contains the IPv6 prefix to be configured for the user. One or more 1719 AVPs MAY be used in authorization requests as a hint to the server 1720 that specific IPv6 prefixes are desired, but the server is not 1721 required to honor the hint in the corresponding response. 1723 4.4.10.5.7. Framed-IPv6-Route AVP 1725 The Framed-IPv6-Route AVP (AVP Code 99) is of type UTF8String and 1726 contains the ASCII routing information to be configured for the user 1727 on the NAS. Zero or more of these AVPs MAY be present in an 1728 authorization response. 1730 The string MUST contain an IPv6 address prefix followed by a slash 1731 and a decimal length specifier stating how many high order bits of 1732 the prefix should be used. This is followed by a space, a gateway 1733 address in hexadecimal notation, a space, and one or more metrics 1734 separated by spaces; for example, 1735 "2001:db8::/32 2001:db8:106:a00:20ff:fe99:a998 1" 1737 Whenever the gateway address is the IPv6 unspecified address, the IP 1738 address of the user SHOULD be used as the gateway address, such as 1739 in: 1741 "2001:db8::/32 :: 1" 1743 4.4.10.5.8. Framed-IPv6-Pool AVP 1745 The Framed-IPv6-Pool AVP (AVP Code 100) is of type OctetString and 1746 contains the name of an assigned pool that SHOULD be used to assign 1747 an IPv6 prefix for the user. If the access device does not support 1748 multiple prefix pools, it MUST ignore this AVP. 1750 Although specified as type OctetString for compatibility with RADIUS 1751 [RFC3162], the encoding of the Data field SHOULD also conform to the 1752 rules for the UTF8String Data Format. 1754 4.4.10.6. IPX Access AVPs 1756 The AVPs defined in this section are used when the user requests, or 1757 is being granted, access to an IPX network service [IPX]. 1759 4.4.10.6.1. Framed-IPX-Network AVP 1761 The Framed-IPX-Network AVP (AVP Code 23) is of type Unsigned32 and 1762 contains the IPX Network number to be configured for the user. It 1763 MAY be used in an authorization request as a hint to the server that 1764 a specific address is desired, but the server is not required to 1765 honor the hint in the corresponding response. 1767 Two addresses have special significance: 0xFFFFFFFF and 0xFFFFFFFE. 1768 The value 0xFFFFFFFF indicates that the NAS should allow the user to 1769 select an address (i.e., Negotiated). The value 0xFFFFFFFE indicates 1770 that the NAS should select an address for the user (e.g., assign it 1771 from a pool of one or more IPX networks kept by the NAS). 1773 4.4.10.7. AppleTalk Network Access AVPs 1775 The AVPs defined in this section are used when the user requests, or 1776 is being granted, access to an AppleTalk network [AppleTalk]. 1778 4.4.10.7.1. Framed-AppleTalk-Link AVP 1780 The Framed-AppleTalk-Link AVP (AVP Code 37) is of type Unsigned32 and 1781 contains the AppleTalk network number that should be used for the 1782 serial link to the user, which is another AppleTalk router. This AVP 1783 MUST only be present in an authorization response and is never used 1784 when the user is not another router. 1786 Despite the size of the field, values range from 0 to 65,535. The 1787 special value of 0 indicates an unnumbered serial link. A value of 1 1788 to 65,535 means that the serial line between the NAS and the user 1789 should be assigned that value as an AppleTalk network number. 1791 4.4.10.7.2. Framed-AppleTalk-Network AVP 1793 The Framed-AppleTalk-Network AVP (AVP Code 38) is of type Unsigned32 1794 and contains the AppleTalk Network number that the NAS should probe 1795 to allocate an AppleTalk node for the user. This AVP MUST only be 1796 present in an authorization response and is never used when the user 1797 is not another router. Multiple instances of this AVP indicate that 1798 the NAS may probe, using any of the network numbers specified. 1800 Despite the size of the field, values range from 0 to 65,535. The 1801 special value 0 indicates that the NAS should assign a network for 1802 the user, using its default cable range. A value between 1 and 1803 65,535 (inclusive) indicates to the AppleTalk Network that the NAS 1804 should probe to find an address for the user. 1806 4.4.10.7.3. Framed-AppleTalk-Zone AVP 1808 The Framed-AppleTalk-Zone AVP (AVP Code 39) is of type OctetString 1809 and contains the AppleTalk Default Zone to be used for this user. 1810 This AVP MUST only be present in an authorization response. Multiple 1811 instances of this AVP in the same message are not allowed. 1813 The codification of this field's allowed range is outside the scope 1814 of this specification. 1816 4.4.10.8. AppleTalk Remote Access AVPs 1818 The AVPs defined in this section are used when the user requests, or 1819 is being granted, access to the AppleTalk network via the AppleTalk 1820 Remote Access Protocol [ARAP]. They are only present if the Framed- 1821 Protocol AVP (Section 4.4.10.1) is set to ARAP. Section 2.2 of RFC 1822 2869 describes the operational use of these attributes. 1824 4.4.10.8.1. ARAP-Features AVP 1826 The ARAP-Features AVP (AVP Code 71) is of type OctetString and MAY be 1827 present in the AA-Accept message if the Framed-Protocol AVP is set to 1828 the value of ARAP. See RFC 2869 for more information about the 1829 format of this AVP. 1831 4.4.10.8.2. ARAP-Zone-Access AVP 1833 The ARAP-Zone-Access AVP (AVP Code 72) is of type Enumerated and MAY 1834 be present in the AA-Accept message if the Framed-Protocol AVP is set 1835 to the value of ARAP. 1837 The supported values are listed in [RADIUSAttrVals] and defined in 1838 RFC 2869. 1840 4.4.11. Non-Framed Access Authorization AVPs 1842 This section contains the authorization AVPs that are needed to 1843 support terminal server functionality. AVPs defined in this section 1844 MAY be present in a message if the Service-Type AVP was set to 1845 "Login" or "Callback Login". 1847 4.4.11.1. Login-IP-Host AVP 1849 The Login-IP-Host AVP (AVP Code 14) [RFC2865] is of type OctetString 1850 and contains the IPv4 address of a host with which to connect the 1851 user when the Login-Service AVP is included. It MAY be used in an 1852 AA-Request command as a hint to the Diameter Server that a specific 1853 host is desired, but the Diameter Server is not required to honor the 1854 hint in the AA-Answer. 1856 Two addresses have special significance: all ones and 0. The value 1857 of all ones indicates that the NAS SHOULD allow the user to select an 1858 address. The value 0 indicates that the NAS SHOULD select a host to 1859 connect the user to. 1861 4.4.11.2. Login-IPv6-Host AVP 1863 The Login-IPv6-Host AVP (AVP Code 98) [RFC3162] is of type 1864 OctetString and contains the IPv6 address of a host with which to 1865 connect the user when the Login-Service AVP is included. It MAY be 1866 used in an AA-Request command as a hint to the Diameter Server that a 1867 specific host is desired, but the Diameter Server is not required to 1868 honor the hint in the AA-Answer. 1870 Two addresses have special significance, 1871 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF and 0. The value 1872 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF indicates that the NAS SHOULD 1873 allow the user to select an address. The value 0 indicates that the 1874 NAS SHOULD select a host to connect the user to. 1876 4.4.11.3. Login-Service AVP 1878 The Login-Service AVP (AVP Code 15) is of type Enumerated and 1879 contains the service that should be used to connect the user to the 1880 login host. This AVP SHOULD only be present in authorization 1881 responses. The supported values are listed in RFC 2869. 1883 4.4.11.4. TCP Services 1885 The AVP described in the following section MAY be present if the 1886 Login-Service AVP is set to Telnet, Rlogin, TCP Clear, or TCP Clear 1887 Quiet. 1889 4.4.11.4.1. Login-TCP-Port AVP 1891 The Login-TCP-Port AVP (AVP Code 16) is of type Unsigned32 and 1892 contains the TCP port with which the user is to be connected when the 1893 Login-Service AVP is also present. This AVP SHOULD only be present 1894 in authorization responses. The value MUST NOT be greater than 1895 65,535. 1897 4.4.11.5. LAT Services 1899 The AVPs described in this section MAY be present if the Login- 1900 Service AVP is set to LAT [LAT]. 1902 4.4.11.5.1. Login-LAT-Service AVP 1904 The Login-LAT-Service AVP (AVP Code 34) is of type OctetString and 1905 contains the system with which the user is to be connected by LAT. 1906 It MAY be used in an authorization request as a hint to the server 1907 that a specific service is desired, but the server is not required to 1908 honor the hint in the corresponding response. This AVP MUST only be 1909 present in the response if the Login-Service AVP states that LAT is 1910 desired. 1912 Administrators use this service attribute when dealing with clustered 1913 systems. In these environments, several different time-sharing hosts 1914 share the same resources (disks, printers, etc.), and administrators 1915 often configure each host to offer access (service) to each of the 1916 shared resources. In this case, each host in the cluster advertises 1917 its services through LAT broadcasts. 1919 Sophisticated users often know which service providers (machines) are 1920 faster and tend to use a node name when initiating a LAT connection. 1921 Some administrators want particular users to use certain machines as 1922 a primitive form of load balancing (although LAT knows how to do load 1923 balancing itself). 1925 The String field contains the identity of the LAT service to use. 1926 The LAT Architecture allows this string to contain $ (dollar), - 1927 (hyphen), . (period), _ (underscore), numerics, upper- and lowercase 1928 alphabetics, and the ISO Latin-1 character set extension 1929 [ISO.8859-1.1987]. All LAT string comparisons are case insensitive. 1931 4.4.11.5.2. Login-LAT-Node AVP 1933 The Login-LAT-Node AVP (AVP Code 35) is of type OctetString and 1934 contains the Node with which the user is to be automatically 1935 connected by LAT. It MAY be used in an authorization request as a 1936 hint to the server that a specific LAT node is desired, but the 1937 server is not required to honor the hint in the corresponding 1938 response. This AVP MUST only be present in a response if the Login- 1939 Service-Type AVP is set to LAT. 1941 The String field contains the identity of the LAT service to use. 1942 The LAT Architecture allows this string to contain $ (dollar), - 1943 (hyphen), . (period), _ (underscore), numerics, upper- and lowercase 1944 alphabetics, and the ISO Latin-1 character set extension 1945 [ISO.8859-1.1987]. All LAT string comparisons are case insensitive. 1947 4.4.11.5.3. Login-LAT-Group AVP 1949 The Login-LAT-Group AVP (AVP Code 36) is of type OctetString and 1950 contains a string identifying the LAT group codes this user is 1951 authorized to use. It MAY be used in an authorization request as a 1952 hint to the server that a specific group is desired, but the server 1953 is not required to honor the hint in the corresponding response. 1954 This AVP MUST only be present in a response if the Login-Service-Type 1955 AVP is set to LAT. 1957 LAT supports 256 different group codes, which LAT uses as a form of 1958 access rights. LAT encodes the group codes as a 256-bit bitmap. 1960 Administrators can assign one or more of the group code bits at the 1961 LAT service provider; it will only accept LAT connections that have 1962 these group codes set in the bitmap. The administrators assign a 1963 bitmap of authorized group codes to each user. LAT gets these from 1964 the operating system and uses them in its requests to the service 1965 providers. 1967 The codification of the range of allowed usage of this field is 1968 outside the scope of this specification. 1970 4.4.11.5.4. Login-LAT-Port AVP 1972 The Login-LAT-Port AVP (AVP Code 63) is of type OctetString and 1973 contains the Port with which the user is to be connected by LAT. It 1974 MAY be used in an authorization request as a hint to the server that 1975 a specific port is desired, but the server is not required to honor 1976 the hint in the corresponding response. This AVP MUST only be 1977 present in a response if the Login-Service-Type AVP is set to LAT. 1979 The String field contains the identity of the LAT service to use. 1980 The LAT Architecture allows this string to contain $ (dollar), - 1981 (hyphen), . (period), _ (underscore), numerics, upper- and lower-case 1982 alphabetics, and the ISO Latin-1 character set extension 1983 [ISO.8859-1.1987]. 1985 All LAT string comparisons are case insensitive. 1987 4.5. NAS Tunneling AVPs 1989 Some NASes support compulsory tunnel services in which the incoming 1990 connection data is conveyed by an encapsulation method to a gateway 1991 elsewhere in the network. This is typically transparent to the 1992 service user, and the tunnel characteristics may be described by the 1993 remote AAA server, based on the user's authorization information. 1994 Several tunnel characteristics may be returned, and the NAS 1995 implementation may choose one. See Zorn, et al. [RFC2868] and Zorn, 1996 Aboba & Mitton [RFC2867] for further information. 1998 The following table gives the possible flag values for the session 1999 level AVPs and specifies whether the AVP MAY be encrypted. 2001 +----------+ 2002 | AVP Flag | 2003 | rules | 2004 |----+-----| 2005 |MUST| MUST| 2006 Attribute Name Section Defined | | NOT | 2007 -----------------------------------------|----+-----| 2008 Tunneling 4.5.1 | M | V | 2009 Tunnel-Type 4.5.2 | M | V | 2010 Tunnel-Medium-Type 4.5.3 | M | V | 2011 Tunnel-Client-Endpoint 4.5.4 | M | V | 2012 Tunnel-Server-Endpoint 4.5.5 | M | V | 2013 Tunnel-Password 4.5.6 | M | V | 2014 Tunnel-Private-Group-Id 4.5.7 | M | V | 2015 Tunnel-Assignment-Id 4.5.8 | M | V | 2016 Tunnel-Preference 4.5.9 | M | V | 2017 Tunnel-Client-Auth-Id 4.5.10 | M | V | 2018 Tunnel-Server-Auth-Id 4.5.11 | M | V | 2019 -----------------------------------------|----+-----| 2021 4.5.1. Tunneling AVP 2023 The Tunneling AVP (AVP Code 401) is of type Grouped and contains the 2024 following AVPs, used to describe a compulsory tunnel service 2025 ([RFC2868], [RFC2867]). Its data field has the following ABNF 2026 grammar: 2028 Tunneling ::= < AVP Header: 401 > 2029 { Tunnel-Type } 2030 { Tunnel-Medium-Type } 2031 { Tunnel-Client-Endpoint } 2032 { Tunnel-Server-Endpoint } 2033 [ Tunnel-Preference ] 2034 [ Tunnel-Client-Auth-Id ] 2035 [ Tunnel-Server-Auth-Id ] 2036 [ Tunnel-Assignment-Id ] 2037 [ Tunnel-Password ] 2038 [ Tunnel-Private-Group-Id ] 2040 4.5.2. Tunnel-Type AVP 2042 The Tunnel-Type AVP (AVP Code 64) is of type Enumerated and contains 2043 the tunneling protocol(s) to be used (in the case of a tunnel 2044 initiator) or in use (in the case of a tunnel terminator). It MAY be 2045 used in an authorization request as a hint to the server that a 2046 specific tunnel type is desired, but the server is not required to 2047 honor the hint in the corresponding response. 2049 The Tunnel-Type AVP SHOULD also be included in ACR messages. 2051 A tunnel initiator is not required to implement any of these tunnel 2052 types. If a tunnel initiator receives a response that contains only 2053 unknown or unsupported Tunnel-Types, the tunnel initiator MUST behave 2054 as though a response were received with the Result-Code indicating a 2055 failure. 2057 The supported values are listed in [RADIUSAttrVals]. 2059 4.5.3. Tunnel-Medium-Type AVP 2061 The Tunnel-Medium-Type AVP (AVP Code 65) is of type Enumerated and 2062 contains the transport medium to use when creating a tunnel for 2063 protocols (such as L2TP [RFC3931]) that can operate over multiple 2064 transports. It MAY be used in an authorization request as a hint to 2065 the server that a specific medium is desired, but the server is not 2066 required to honor the hint in the corresponding response. 2068 The supported values are listed in [RADIUSAttrVals]. 2070 4.5.4. Tunnel-Client-Endpoint AVP 2072 The Tunnel-Client-Endpoint AVP (AVP Code 66) is of type UTF8String 2073 and contains the address of the initiator end of the tunnel. It MAY 2074 be used in an authorization request as a hint to the server that a 2075 specific endpoint is desired, but the server is not required to honor 2076 the hint in the corresponding response. This AVP SHOULD be included 2077 in the corresponding ACR messages, in which case it indicates the 2078 address from which the tunnel was initiated. This AVP, along with 2079 the Tunnel-Server-Endpoint (Section 4.5.5) and Session-Id AVPs 2080 ([I-D.ietf-dime-rfc3588bis], Section 8.8), can be used to provide a 2081 globally unique means to identify a tunnel for accounting and 2082 auditingpurposes. 2084 If the value of the Tunnel-Medium-Type AVP (Section 4.5.3) is IPv4 2085 (1), then this string is either the fully qualified domain name 2086 (FQDN) of the tunnel client machine, or a "dotted-decimal" IP 2087 address. Implementations MUST support the dotted-decimal format and 2088 SHOULD support the FQDN format for IP addresses. 2090 If Tunnel-Medium-Type is IPv6 (2), then this string is either the 2091 FQDN of the tunnel client machine, or a text representation of the 2092 address in either the preferred or alternate form [RFC3516]. 2093 Conforming implementations MUST support the preferred form and SHOULD 2094 support both the alternate text form and the FQDN format for IPv6 2095 addresses. 2097 If Tunnel-Medium-Type is neither IPv4 nor IPv6, then this string is a 2098 tag referring to configuration data local to the Diameter client that 2099 describes the interface or medium-specific client address to use. 2101 4.5.5. Tunnel-Server-Endpoint AVP 2103 The Tunnel-Server-Endpoint AVP (AVP Code 67) is of type UTF8String 2104 and contains the address of the server end of the tunnel. It MAY be 2105 used in an authorization request as a hint to the server that a 2106 specific endpoint is desired, but the server is not required to honor 2107 the hint in the corresponding response. 2109 This AVP SHOULD be included in the corresponding ACR messages, in 2110 which case it indicates the address from which the tunnel was 2111 initiated. This AVP, along with the Tunnel-Client-Endpoint 2112 (Section 4.5.4) and Session-Id AVP ([I-D.ietf-dime-rfc3588bis], 2113 Section 8.8), can be used to provide a globally unique means to 2114 identify a tunnel for accounting and auditing purposes. 2116 If Tunnel-Medium-Type is IPv4 (1), then this string is either the 2117 fully qualified domain name (FQDN) of the tunnel server machine, or a 2118 "dotted-decimal" IP address. Implementations MUST support the 2119 dotted-decimal format and SHOULD support the FQDN format for IP 2120 addresses. 2122 If Tunnel-Medium-Type is IPv6 (2), then this string is either the 2123 FQDN of the tunnel server machine, or a text representation of the 2124 address in either the preferred or alternate form [RFC3516]. 2125 Implementations MUST support the preferred form and SHOULD support 2126 both the alternate text form and the FQDN format for IPv6 addresses. 2128 If Tunnel-Medium-Type is not IPv4 or IPv6, this string is a tag 2129 referring to configuration data local to the Diameter client that 2130 describes the interface or medium-specific server address to use. 2132 4.5.6. Tunnel-Password AVP 2134 The Tunnel-Password AVP (AVP Code 69) is of type OctetString and may 2135 contain a password to be used to authenticate to a remote server. 2137 The Tunnel-Password AVP SHOULD NOT be used in untrusted proxy 2138 environments without encrypting it by using end-to-end security 2139 techniques. 2141 4.5.7. Tunnel-Private-Group-Id AVP 2143 The Tunnel-Private-Group-Id AVP (AVP Code 81) is of type OctetString 2144 and contains the group Id for a particular tunneled session. The 2145 Tunnel-Private-Group-Id AVP MAY be included in an authorization 2146 request if the tunnel initiator can predetermine the group resulting 2147 from a particular connection. It SHOULD be included in the 2148 authorization response if this tunnel session is to be treated as 2149 belonging to a particular private group. Private groups may be used 2150 to associate a tunneled session with a particular group of users. 2151 For example, it MAY be used to facilitate routing of unregistered IP 2152 addresses through a particular interface. This AVP SHOULD be 2153 included in the ACR messages that pertain to the tunneled session. 2155 4.5.8. Tunnel-Assignment-Id AVP 2157 The Tunnel-Assignment-Id AVP (AVP Code 82) is of type OctetString and 2158 is used to indicate to the tunnel initiator the particular tunnel to 2159 which a session is to be assigned. Some tunneling protocols, such as 2160 PPTP [RFC2637] and L2TP [RFC3931], allow for sessions between the 2161 same two tunnel endpoints to be multiplexed over the same tunnel and 2162 also for a given session to use its own dedicated tunnel. This 2163 attribute provides a mechanism for Diameter to inform the tunnel 2164 initiator (for example, a LAC) whether to assign the session to a 2165 multiplexed tunnel or to a separate tunnel. Furthermore, it allows 2166 for sessions sharing multiplexed tunnels to be assigned to different 2167 multiplexed tunnels. 2169 A particular tunneling implementation may assign differing 2170 characteristics to particular tunnels. For example, different 2171 tunnels may be assigned different QoS parameters. Such tunnels may 2172 be used to carry either individual or multiple sessions. The Tunnel- 2173 Assignment-Id attribute thus allows the Diameter server to indicate 2174 that a particular session is to be assigned to a tunnel providing an 2175 appropriate level of service. It is expected that any QoS-related 2176 Diameter tunneling attributes defined in the future accompanying this 2177 one will be associated by the tunnel initiator with the Id given by 2178 this attribute. In the meantime, any semantic given to a particular 2179 Id string is a matter left to local configuration in the tunnel 2180 initiator. 2182 The Tunnel-Assignment-Id AVP is of significance only to Diameter and 2183 the tunnel initiator. The Id it specifies is only intended to be of 2184 local use to Diameter and the tunnel initiator. The Id assigned by 2185 the tunnel initiator is not conveyed to the tunnel peer. 2187 This attribute MAY be included in authorization responses. The 2188 tunnel initiator receiving this attribute MAY choose to ignore it and 2189 to assign the session to an arbitrary multiplexed or non-multiplexed 2190 tunnel between the desired endpoints. This AVP SHOULD also be 2191 included in the Accounting-Request messages pertaining to the 2192 tunneled session. 2194 If a tunnel initiator supports the Tunnel-Assignment-Id AVP, then it 2195 should assign a session to a tunnel in the following manner: 2197 o If this AVP is present and a tunnel exists between the specified 2198 endpoints with the specified Id, then the session should be 2199 assigned to that tunnel. 2201 o If this AVP is present and no tunnel exists between the specified 2202 endpoints with the specified Id, then a new tunnel should be 2203 established for the session and the specified Id should be 2204 associated with the new tunnel. 2206 o If this AVP is not present, then the session is assigned to an 2207 unnamed tunnel. If an unnamed tunnel does not yet exist between 2208 the specified endpoints, then it is established and used for this 2209 session and for subsequent ones established without the Tunnel- 2210 Assignment-Id attribute. A tunnel initiator MUST NOT assign a 2211 session for which a Tunnel-Assignment-Id AVP was not specified to 2212 a named tunnel (i.e., one that was initiated by a session 2213 specifying this AVP). 2215 Note that the same Id may be used to name different tunnels if these 2216 tunnels are between different endpoints. 2218 4.5.9. Tunnel-Preference AVP 2220 The Tunnel-Preference AVP (AVP Code 83) is of type Unsigned32 and is 2221 used to identify the relative preference assigned to each tunnel when 2222 more than one set of tunneling AVPs is returned within separate 2223 Grouped-AVP AVPs. It MAY be used in an authorization request as a 2224 hint to the server that a specific preference is desired, but the 2225 server is not required to honor the hint in the corresponding 2226 response. 2228 For example, suppose that AVPs describing two tunnels are returned by 2229 the server, one with a Tunnel-Type of PPTP and the other with a 2230 Tunnel-Type of L2TP. If the tunnel initiator supports only one of 2231 the Tunnel-Types returned, it will initiate a tunnel of that type. 2232 If, however, it supports both tunnel protocols, it SHOULD use the 2233 value of the Tunnel-Preference AVP to decide which tunnel should be 2234 started. The tunnel with the lowest numerical value in the Value 2235 field of this AVP SHOULD be given the highest preference. The values 2236 assigned to two or more instances of the Tunnel-Preference AVP within 2237 a given authorization response MAY be identical. In this case, the 2238 tunnel initiator SHOULD use locally configured metrics to decide 2239 which set of AVPs to use. 2241 4.5.10. Tunnel-Client-Auth-Id AVP 2243 The Tunnel-Client-Auth-Id AVP (AVP Code 90) is of type UTF8String and 2244 specifies the name used by the tunnel initiator during the 2245 authentication phase of tunnel establishment. It MAY be used in an 2246 authorization request as a hint to the server that a specific 2247 preference is desired, but the server is not required to honor the 2248 hint in the corresponding response. This AVP MUST be present in the 2249 authorization response if an authentication name other than the 2250 default is desired. This AVP SHOULD be included in the ACR messages 2251 pertaining to the tunneled session. 2253 4.5.11. Tunnel-Server-Auth-Id AVP 2255 The Tunnel-Server-Auth-Id AVP (AVP Code 91) is of type UTF8String and 2256 specifies the name used by the tunnel terminator during the 2257 authentication phase of tunnel establishment. It MAY be used in an 2258 authorization request as a hint to the server that a specific 2259 preference is desired, but the server is not required to honor the 2260 hint in the corresponding response. This AVP MUST be present in the 2261 authorization response if an authentication name other than the 2262 default is desired. This AVP SHOULD be included in the ACR messages 2263 pertaining to the tunneled session. 2265 4.6. NAS Accounting AVPs 2267 Applications implementing this specification use Diameter Accounting 2268 (as defined in [I-D.ietf-dime-rfc3588bis]) and the AVPs in the 2269 following section. Service-specific AVP usage is defined in the 2270 tables in Section 5. 2272 If accounting is active, Accounting Request (ACR) messages SHOULD be 2273 sent after the completion of any Authentication or Authorization 2274 transaction and at the end of a Session. The value of the 2275 Accounting-Record-Type AVP [I-D.ietf-dime-rfc3588bis] indicates the 2276 type of event. All other AVPs identify the session and provide 2277 additional information relevant to the event. 2279 The successful completion of the first Authentication or 2280 Authorization transaction SHOULD cause a START_RECORD to be sent. If 2281 additional Authentications or Authorizations occur in later 2282 transactions, the first exchange should generate a START_RECORD, and 2283 the later an INTERIM_RECORD. For a given session, there MUST only be 2284 one set of matching START and STOP records, with any number of 2285 INTERIM_RECORDS in between, or one EVENT_RECORD indicating the reason 2286 a session wasn't started. 2288 The following table gives the possible flag values for the session 2289 level AVPs and specifies whether the AVP MAY be encrypted. 2291 +----------+ 2292 | AVP Flag | 2293 | rules | 2294 |----+-----| 2295 Section |MUST| MUST| 2296 Attribute Name Defined | | NOT| 2297 -----------------------------------------|----+-----| 2298 Accounting-Input-Octets 4.6.1 | M | V | 2299 Accounting-Output-Octets 4.6.2 | M | V | 2300 Accounting-Input-Packets 4.6.3 | M | V | 2301 Accounting-Output-Packets 4.6.4 | M | V | 2302 Acct-Session-Time 4.6.5 | M | V | 2303 Acct-Authentic 4.6.6 | M | V | 2304 Accounting-Auth-Method 4.6.7 | M | V | 2305 Acct-Delay-Time 4.6.8 | M | V | 2306 Acct-Link-Count 4.6.9 | M | V | 2307 Acct-Tunnel-Connection 4.6.10 | M | V | 2308 Acct-Tunnel-Packets-Lost 4.6.11 | M | V | 2309 -----------------------------------------|----+-----| 2311 4.6.1. Accounting-Input-Octets AVP 2313 The Accounting-Input-Octets AVP (AVP Code 363) is of type Unsigned64 2314 and contains the number of octets received from the user. 2316 For NAS usage, this AVP indicates how many octets have been received 2317 from the port in the course of this session. It can only be present 2318 in ACR messages with an Accounting-Record-Type 2319 [I-D.ietf-dime-rfc3588bis] of INTERIM_RECORD or STOP_RECORD. 2321 4.6.2. Accounting-Output-Octets AVP 2323 The Accounting-Output-Octets AVP (AVP Code 364) is of type Unsigned64 2324 and contains the number of octets sent to the user. 2326 For NAS usage, this AVP indicates how many octets have been sent to 2327 the port in the course of this session. It can only be present in 2328 ACR messages with an Accounting-Record-Type of INTERIM_RECORD or 2329 STOP_RECORD. 2331 4.6.3. Accounting-Input-Packets AVP 2333 The Accounting-Input-Packets (AVP Code 365) is of type Unsigned64 and 2334 contains the number of packets received from the user. 2336 For NAS usage, this AVP indicates how many packets have been received 2337 from the port over the course of a session being provided to a Framed 2338 User. It can only be present in ACR messages with an Accounting- 2339 Record-Type of INTERIM_RECORD or STOP_RECORD. 2341 4.6.4. Accounting-Output-Packets AVP 2343 The Accounting-Output-Packets (AVP Code 366) is of type Unsigned64 2344 and contains the number of IP packets sent to the user. 2346 For NAS usage, this AVP indicates how many packets have been sent to 2347 the port over the course of a session being provided to a Framed 2348 User. It can only be present in ACR messages with an Accounting- 2349 Record-Type of INTERIM_RECORD or STOP_RECORD. 2351 4.6.5. Acct-Session-Time AVP 2353 The Acct-Session-Time AVP (AVP Code 46) is of type Unsigned32 and 2354 indicates the length of the current session in seconds. It can only 2355 be present in ACR messages with an Accounting-Record-Type of 2356 INTERIM_RECORD or STOP_RECORD. 2358 4.6.6. Acct-Authentic AVP 2360 The Acct-Authentic AVP (AVP Code 45) is of type Enumerated and 2361 specifies how the user was authenticated. The supported values are 2362 listed in [RADIUSAttrVals]. 2364 4.6.7. Accounting-Auth-Method AVP 2366 The Accounting-Auth-Method AVP (AVP Code 406) is of type Enumerated. 2367 A NAS MAY include this AVP in an Accounting-Request message to 2368 indicate the method used to authenticate the user. (Note that this 2369 AVP is semantically equivalent, and the supported values are 2370 identical, to the Microsoft MS-Acct-Auth-Type vendor-specific RADIUS 2371 attribute [RFC2548]). 2373 4.6.8. Acct-Delay-Time AVP 2375 The Acct-Delay-Time AVP (AVP Code 41) is of type Unsigned32 and 2376 indicates the number of seconds the Diameter client has been trying 2377 to send the Accounting-Request (ACR). The accounting server may 2378 subtract this value from the time when the ACR arrives at the server 2379 to calculate the approximate time of the event that caused the ACR to 2380 be generated. 2382 This AVP is not used for retransmissions at the transport level (TCP 2383 or SCTP). Rather, it may be used when an ACR command cannot be 2384 transmitted because there is no appropriate peer to transmit it to or 2385 was rejected because it could not be delivered. In these cases, the 2386 command MAY be buffered and transmitted later, when an appropriate 2387 peer-connection is available or after sufficient time has passed that 2388 the destination-host may be reachable and operational. If the ACR is 2389 re-sent in this way, the Acct-Delay-Time AVP SHOULD be included. The 2390 value of this AVP indicates the number of seconds that elapsed 2391 between the time of the first attempt at transmission and the current 2392 attempt. 2394 4.6.9. Acct-Link-Count AVP 2396 The Acct-Link-Count AVP (AVP Code 51) is of type Unsigned32 and 2397 indicates the total number of links that have been active (current or 2398 closed) in a given multilink session at the time the accounting 2399 record is generated. This AVP MAY be included in Accounting-Requests 2400 for any session that may be part of a multilink service. 2402 The Acct-Link-Count AVP may be used to make it easier for an 2403 accounting server to know when it has all the records for a given 2404 multilink service. When the number of Accounting-Requests received 2405 with Accounting-Record-Type = STOP_RECORD and with the same Acct- 2406 Multi-Session-Id and unique Session-Ids equals the largest value of 2407 Acct-Link-Count seen in those Accounting-Requests, all STOP_RECORD 2408 Accounting-Requests for that multilink service have been received. 2410 The following example, showing eight Accounting-Requests, illustrates 2411 how the Acct-Link-Count AVP is used. In the table below, only the 2412 relevant AVPs are shown, although additional AVPs containing 2413 accounting information will be present in the Accounting-Requests. 2415 Acct-Multi- Accounting- Acct- 2416 Session-Id Session-Id Record-Type Link-Count 2417 -------------------------------------------------------- 2418 "...10" "...10" START_RECORD 1 2419 "...10" "...11" START_RECORD 2 2420 "...10" "...11" STOP_RECORD 2 2421 "...10" "...12" START_RECORD 3 2422 "...10" "...13" START_RECORD 4 2423 "...10" "...12" STOP_RECORD 4 2424 "...10" "...13" STOP_RECORD 4 2425 "...10" "...10" STOP_RECORD 4 2427 4.6.10. Acct-Tunnel-Connection AVP 2429 The Acct-Tunnel-Connection AVP (AVP Code 68) is of type OctetString 2430 and contains the identifier assigned to the tunnel session. This 2431 AVP, along with the Tunnel-Client-Endpoint (Section 4.5.4) and 2432 Tunnel-Server-Endpoint (Section 4.5.5) AVPs, may be used to provide a 2433 means to uniquely identify a tunnel session for auditing purposes. 2435 The format of the identifier in this AVP depends upon the value of 2436 the Tunnel-Type AVP (Section 4.5.2). For example, to identify an 2437 L2TP tunnel connection fully, the L2TP Tunnel Id and Call Id might be 2438 encoded in this field. The exact encoding of this field is 2439 implementation dependent. 2441 4.6.11. Acct-Tunnel-Packets-Lost AVP 2443 The Acct-Tunnel-Packets-Lost AVP (AVP Code 86) is of type Unsigned32 2444 and contains the number of packets lost on a given tunnel. 2446 5. AVP Occurrence Tables 2448 The following tables present the AVPs used by NAS applications in NAS 2449 messages and specify in which Diameter messages they may or may not 2450 be present. Messages and AVPs defined in the base Diameter protocol 2451 [I-D.ietf-dime-rfc3588bis] are not described in this document. Note 2452 that AVPs that can only be present within a Grouped AVP are not 2453 represented in this table. 2455 The tables use the following symbols: 2457 0 The AVP MUST NOT be present in the message. 2458 0+ Zero or more instances of the AVP MAY be present in the 2459 message. 2460 0-1 Zero or one instance of the AVP MAY be present in the 2461 message. 2462 1 Exactly one instance of the AVP MUST be present in the 2463 message. 2465 5.1. AA-Request/Answer AVP Table 2467 The table in this section is limited to the Command Codes defined in 2468 this specification. 2470 +-----------+ 2471 | Command | 2472 |-----+-----+ 2473 AVP Name | AAR | AAA | 2474 ------------------------------|-----+-----+ 2475 Acct-Interim-Interval | 0 | 0-1 | 2476 ARAP-Challenge-Response | 0 | 0-1 | 2477 ARAP-Features | 0 | 0-1 | 2478 ARAP-Password | 0-1 | 0 | 2479 ARAP-Security | 0-1 | 0-1 | 2480 ARAP-Security-Data | 0+ | 0+ | 2481 ARAP-Zone-Access | 0 | 0-1 | 2482 Auth-Application-Id | 1 | 1 | 2483 Auth-Grace-Period | 0-1 | 0-1 | 2484 Auth-Request-Type | 1 | 1 | 2485 Auth-Session-State | 0-1 | 0-1 | 2486 Authorization-Lifetime | 0-1 | 0-1 | 2487 ------------------------------|-----+-----+ 2488 +-----------+ 2489 | Command | 2490 |-----+-----+ 2491 Attribute Name | AAR | AAA | 2492 ------------------------------|-----+-----+ 2493 Callback-Id | 0 | 0-1 | 2494 Callback-Number | 0-1 | 0-1 | 2495 Called-Station-Id | 0-1 | 0 | 2496 Calling-Station-Id | 0-1 | 0 | 2497 CHAP-Auth | 0-1 | 0 | 2498 CHAP-Challenge | 0-1 | 0 | 2499 Class | 0 | 0+ | 2500 Configuration-Token | 0 | 0+ | 2501 Connect-Info | 0+ | 0 | 2502 Destination-Host | 0-1 | 0 | 2503 Destination-Realm | 1 | 0 | 2504 Error-Message | 0 | 0-1 | 2505 Error-Reporting-Host | 0 | 0-1 | 2506 Failed-AVP | 0+ | 0+ | 2507 Filter-Id | 0 | 0+ | 2508 Framed-Appletalk-Link | 0 | 0-1 | 2509 Framed-Appletalk-Network | 0 | 0+ | 2510 Framed-Appletalk-Zone | 0 | 0-1 | 2511 Framed-Compression | 0+ | 0+ | 2512 Framed-Interface-Id | 0-1 | 0-1 | 2513 Framed-IP-Address | 0-1 | 0-1 | 2514 Framed-IP-Netmask | 0-1 | 0-1 | 2515 Framed-IPv6-Prefix | 0+ | 0+ | 2516 Framed-IPv6-Pool | 0 | 0-1 | 2517 Framed-IPv6-Route | 0 | 0+ | 2518 Framed-IPX-Network | 0 | 0-1 | 2519 Framed-MTU | 0-1 | 0-1 | 2520 Framed-Pool | 0 | 0-1 | 2521 Framed-Protocol | 0-1 | 0-1 | 2522 Framed-Route | 0 | 0+ | 2523 Framed-Routing | 0 | 0-1 | 2524 Idle-Timeout | 0 | 0-1 | 2525 Login-IP-Host | 0+ | 0+ | 2526 Login-IPv6-Host | 0+ | 0+ | 2527 Login-LAT-Group | 0-1 | 0-1 | 2528 Login-LAT-Node | 0-1 | 0-1 | 2529 Login-LAT-Port | 0-1 | 0-1 | 2530 Login-LAT-Service | 0-1 | 0-1 | 2531 Login-Service | 0 | 0-1 | 2532 Login-TCP-Port | 0 | 0-1 | 2533 Multi-Round-Time-Out | 0 | 0-1 | 2534 ------------------------------|-----+-----+ 2535 +-----------+ 2536 | Command | 2537 |-----+-----+ 2538 Attribute Name | AAR | AAA | 2539 ------------------------------|-----+-----+ 2540 NAS-Filter-Rule | 0 | 0+ | 2541 NAS-Identifier | 0-1 | 0 | 2542 NAS-IP-Address | 0-1 | 0 | 2543 NAS-IPv6-Address | 0-1 | 0 | 2544 NAS-Port | 0-1 | 0 | 2545 NAS-Port-Id | 0-1 | 0 | 2546 NAS-Port-Type | 0-1 | 0 | 2547 Origin-AAA-Protocol | 0-1 | 0-1 | 2548 Origin-Host | 1 | 1 | 2549 Origin-Realm | 1 | 1 | 2550 Origin-State-Id | 0-1 | 0-1 | 2551 Originating-Line-Info | 0-1 | 0 | 2552 Password-Retry | 0 | 0-1 | 2553 Port-Limit | 0-1 | 0-1 | 2554 Prompt | 0 | 0-1 | 2555 Proxy-Info | 0+ | 0+ | 2556 QoS-Filter-Rule | 0 | 0+ | 2557 Re-Auth-Request-Type | 0 | 0-1 | 2558 Redirect-Host | 0 | 0+ | 2559 Redirect-Host-Usage | 0 | 0-1 | 2560 Redirect-Max-Cache-Time | 0 | 0-1 | 2561 Reply-Message | 0 | 0+ | 2562 Result-Code | 0 | 1 | 2563 Route-Record | 0+ | 0 | 2564 Service-Type | 0-1 | 0-1 | 2565 Session-Id | 1 | 1 | 2566 Session-Timeout | 0 | 0-1 | 2567 State | 0-1 | 0-1 | 2568 Tunneling | 0+ | 0+ | 2569 User-Name | 0-1 | 0-1 | 2570 User-Password | 0-1 | 0 | 2571 ------------------------------|-----+-----+ 2573 5.2. Accounting AVP Tables 2575 The tables in this section are used to show which AVPs defined in 2576 this document are to be present and used in NAS application 2577 Accounting messages. These AVPs are defined in this document, as 2578 well as in [I-D.ietf-dime-rfc3588bis] and [RFC2866]. 2580 5.2.1. Framed Access Accounting AVP Table 2582 The table in this section is used when the Service-Type AVP 2583 (Section 4.4.1) specifies Framed Access. 2585 +-----------+ 2586 | Command | 2587 |-----+-----+ 2588 Attribute Name | ACR | ACA | 2589 ---------------------------------------|-----+-----+ 2590 Accounting-Auth-Method | 0-1 | 0 | 2591 Accounting-Input-Octets | 1 | 0 | 2592 Accounting-Input-Packets | 1 | 0 | 2593 Accounting-Output-Octets | 1 | 0 | 2594 Accounting-Output-Packets | 1 | 0 | 2595 Accounting-Record-Number | 0-1 | 0-1 | 2596 Accounting-Record-Type | 1 | 1 | 2597 Accounting-Realtime-Required | 0-1 | 0-1 | 2598 Accounting-Sub-Session-Id | 0-1 | 0-1 | 2599 Acct-Application-Id | 0-1 | 0-1 | 2600 Acct-Session-Id | 1 | 0-1 | 2601 Acct-Multi-Session-Id | 0-1 | 0-1 | 2602 Acct-Authentic | 1 | 0 | 2603 Acct-Delay-Time | 0-1 | 0 | 2604 Acct-Interim-Interval | 0-1 | 0-1 | 2605 Acct-Link-Count | 0-1 | 0 | 2606 Acct-Session-Time | 1 | 0 | 2607 Acct-Tunnel-Connection | 0-1 | 0 | 2608 Acct-Tunnel-Packets-Lost | 0-1 | 0 | 2609 Authorization-Lifetime | 0-1 | 0 | 2610 Callback-Id | 0-1 | 0 | 2611 Callback-Number | 0-1 | 0 | 2612 Called-Station-Id | 0-1 | 0 | 2613 Calling-Station-Id | 0-1 | 0 | 2614 Class | 0+ | 0+ | 2615 Connection-Info | 0+ | 0 | 2616 Destination-Host | 0-1 | 0 | 2617 Destination-Realm | 1 | 0 | 2618 Event-Timestamp | 0-1 | 0-1 | 2619 Error-Message | 0 | 0-1 | 2620 Error-Reporting-Host | 0 | 0-1 | 2621 Failed-AVP | 0 | 0+ | 2622 ---------------------------------------|-----+-----+ 2623 +-----------+ 2624 | Command | 2625 |-----+-----+ 2626 Attribute Name | ACR | ACA | 2627 ---------------------------------------|-----+-----+ 2628 Framed-AppleTalk-Link | 0-1 | 0 | 2629 Framed-AppleTalk-Network | 0-1 | 0 | 2630 Framed-AppleTalk-Zone | 0-1 | 0 | 2631 Framed-Compression | 0-1 | 0 | 2632 Framed-IP-Address | 0-1 | 0 | 2633 Framed-IP-Netmask | 0-1 | 0 | 2634 Framed-IPv6-Prefix | 0+ | 0 | 2635 Framed-IPv6-Pool | 0-1 | 0 | 2636 Framed-IPX-Network | 0-1 | 0 | 2637 Framed-MTU | 0-1 | 0 | 2638 Framed-Pool | 0-1 | 0 | 2639 Framed-Protocol | 0-1 | 0 | 2640 Framed-Route | 0-1 | 0 | 2641 Framed-Routing | 0-1 | 0 | 2642 NAS-Filter-Rule | 0+ | 0 | 2643 NAS-Identifier | 0-1 | 0-1 | 2644 NAS-IP-Address | 0-1 | 0-1 | 2645 NAS-IPv6-Address | 0-1 | 0-1 | 2646 NAS-Port | 0-1 | 0-1 | 2647 NAS-Port-Id | 0-1 | 0-1 | 2648 NAS-Port-Type | 0-1 | 0-1 | 2649 Origin-AAA-Protocol | 0-1 | 0-1 | 2650 Origin-Host | 1 | 1 | 2651 Origin-Realm | 1 | 1 | 2652 Origin-State-Id | 0-1 | 0-1 | 2653 Originating-Line-Info | 0-1 | 0 | 2654 Proxy-Info | 0+ | 0+ | 2655 QoS-Filter-Rule | 0+ | 0 | 2656 Route-Record | 0+ | 0 | 2657 Result-Code | 0 | 1 | 2658 Service-Type | 0-1 | 0-1 | 2659 Session-Id | 1 | 1 | 2660 Termination-Cause | 0-1 | 0-1 | 2661 Tunnel-Assignment-Id | 0-1 | 0 | 2662 Tunnel-Client-Endpoint | 0-1 | 0 | 2663 Tunnel-Medium-Type | 0-1 | 0 | 2664 Tunnel-Private-Group-Id | 0-1 | 0 | 2665 Tunnel-Server-Endpoint | 0-1 | 0 | 2666 Tunnel-Type | 0-1 | 0 | 2667 User-Name | 0-1 | 0-1 | 2668 ---------------------------------------|-----+-----+ 2670 5.2.2. Non-Framed Access Accounting AVP Table 2672 The table in this section is used when the Service-Type AVP 2673 (Section 4.4.1) specifies Non-Framed Access. 2675 +-----------+ 2676 | Command | 2677 |-----+-----+ 2678 Attribute Name | ACR | ACA | 2679 ---------------------------------------|-----+-----+ 2680 Accounting-Auth-Method | 0-1 | 0 | 2681 Accounting-Input-Octets | 1 | 0 | 2682 Accounting-Output-Octets | 1 | 0 | 2683 Accounting-Record-Type | 1 | 1 | 2684 Accounting-Record-Number | 0-1 | 0-1 | 2685 Accounting-Realtime-Required | 0-1 | 0-1 | 2686 Accounting-Sub-Session-Id | 0-1 | 0-1 | 2687 Acct-Application-Id | 0-1 | 0-1 | 2688 Acct-Session-Id | 1 | 0-1 | 2689 Acct-Multi-Session-Id | 0-1 | 0-1 | 2690 Acct-Authentic | 1 | 0 | 2691 Acct-Delay-Time | 0-1 | 0 | 2692 Acct-Interim-Interval | 0-1 | 0-1 | 2693 Acct-Link-Count | 0-1 | 0 | 2694 Acct-Session-Time | 1 | 0 | 2695 Authorization-Lifetime | 0-1 | 0 | 2696 Callback-Id | 0-1 | 0 | 2697 Callback-Number | 0-1 | 0 | 2698 Called-Station-Id | 0-1 | 0 | 2699 Calling-Station-Id | 0-1 | 0 | 2700 Class | 0+ | 0+ | 2701 Connection-Info | 0+ | 0 | 2702 Destination-Host | 0-1 | 0 | 2703 Destination-Realm | 1 | 0 | 2704 Event-Timestamp | 0-1 | 0-1 | 2705 Error-Message | 0 | 0-1 | 2706 Error-Reporting-Host | 0 | 0-1 | 2707 Failed-AVP | 0 | 0+ | 2708 Login-IP-Host | 0+ | 0 | 2709 Login-IPv6-Host | 0+ | 0 | 2710 Login-LAT-Service | 0-1 | 0 | 2711 Login-LAT-Node | 0-1 | 0 | 2712 Login-LAT-Group | 0-1 | 0 | 2713 Login-LAT-Port | 0-1 | 0 | 2714 Login-Service | 0-1 | 0 | 2715 Login-TCP-Port | 0-1 | 0 | 2716 ---------------------------------------|-----+-----+ 2717 +-----------+ 2718 | Command | 2719 |-----+-----+ 2720 Attribute Name | ACR | ACA | 2721 ---------------------------------------|-----+-----+ 2722 NAS-Identifier | 0-1 | 0-1 | 2723 NAS-IP-Address | 0-1 | 0-1 | 2724 NAS-IPv6-Address | 0-1 | 0-1 | 2725 NAS-Port | 0-1 | 0-1 | 2726 NAS-Port-Id | 0-1 | 0-1 | 2727 NAS-Port-Type | 0-1 | 0-1 | 2728 Origin-AAA-Protocol | 0-1 | 0-1 | 2729 Origin-Host | 1 | 1 | 2730 Origin-Realm | 1 | 1 | 2731 Origin-State-Id | 0-1 | 0-1 | 2732 Originating-Line-Info | 0-1 | 0 | 2733 Proxy-Info | 0+ | 0+ | 2734 QoS-Filter-Rule | 0+ | 0 | 2735 Route-Record | 0+ | 0 | 2736 Result-Code | 0 | 1 | 2737 Session-Id | 1 | 1 | 2738 Service-Type | 0-1 | 0-1 | 2739 Termination-Cause | 0-1 | 0-1 | 2740 User-Name | 0-1 | 0-1 | 2741 ---------------------------------------|-----+-----+ 2743 6. IANA Considerations 2745 Several of the namespaces used in this document are managed by the 2746 Internet Assigned Numbers Authority [IANA], including the AVP Codes 2747 [AVP-Codes], AVP Specific Values [AVP-Vals], Application IDs 2748 [App-Ids], Command Codes [Command-Codes] and RADIUS Attribute Values 2749 [RADIUSAttrVals]. 2751 For the current values allocated, and the policies governing 2752 allocation in those namespaces, please see the above-referenced 2753 registries. 2755 IANA Note: Please change all the references in the registries listed 2756 above that are currently pointing to RFC 4005 to point to this 2757 document instead; please change the reference for for the value '1' 2758 in the "Application IDs" sub-registry of the "Authentication, 2759 Authorization, and Accounting (AAA) Parameters" registry to point to 2760 this document, as well. 2762 RFC Editor: Please remove both this note and the IANA note above 2763 before publication. 2765 7. Security Considerations 2767 This document describes the extension of Diameter for the NAS 2768 application. The security considerations of the Diameter protocol 2769 itself are discussed in [I-D.ietf-dime-rfc3588bis]. Use of this 2770 application of Diameter MUST take into consideration the security 2771 issues and requirements of the Base protocol. 2773 The use of the User-Password (Section 4.3.1) and Tunnel-Password 2774 (Section 4.5.6) AVPs is not safe in the absence of end-to-end 2775 security; however, end-to-end security for the Diameter protocol is 2776 outside the scope of this document. 2778 This document does not contain a security protocol but does discuss 2779 how PPP authentication protocols can be carried within the Diameter 2780 protocol. The PPP authentication protocols described are PAP and 2781 CHAP. 2783 The use of PAP SHOULD be discouraged, as it exposes users' passwords 2784 to possibly non-trusted entities. However, PAP is also frequently 2785 used for use with One-Time Passwords, which do not expose a security 2786 risk. 2788 This document also describes how CHAP can be carried within the 2789 Diameter protocol, which is required for RADIUS backward 2790 compatibility. The CHAP protocol, as used in a RADIUS environment, 2791 facilitates authentication replay attacks. 2793 The use of the EAP authentication protocols [RFC4072] can offer 2794 better security, given a method suitable for the circumstances. 2796 8. References 2798 8.1. Normative References 2800 [ANITypes] NANPA Number Resource Info, "ANI 2801 Assignments", . 2805 [I-D.ietf-dime-rfc3588bis] Fajardo, V., Arkko, J., Loughney, J., and 2806 G. Zorn, "Diameter Base Protocol", 2807 draft-ietf-dime-rfc3588bis-34 (work in 2808 progress), June 2012. 2810 [RFC1994] Simpson, W., "PPP Challenge Handshake 2811 Authentication Protocol (CHAP)", 2812 RFC 1994, August 1996. 2814 [RFC2119] Bradner, S., "Key words for use in RFCs 2815 to Indicate Requirement Levels", BCP 14, 2816 RFC 2119, March 1997. 2818 [RFC2865] Rigney, C., Willens, S., Rubens, A., and 2819 W. Simpson, "Remote Authentication Dial 2820 In User Service (RADIUS)", RFC 2865, 2821 June 2000. 2823 [RFC3162] Aboba, B., Zorn, G., and D. Mitton, 2824 "RADIUS and IPv6", RFC 3162, August 2001. 2826 [RFC3516] Nerenberg, L., "IMAP4 Binary Content 2827 Extension", RFC 3516, April 2003. 2829 [RFC3539] Aboba, B. and J. Wood, "Authentication, 2830 Authorization and Accounting (AAA) 2831 Transport Profile", RFC 3539, June 2003. 2833 8.2. Informative References 2835 [ARAP] Apple Computer, "Apple Remote Access 2836 Protocol (ARAP) Version 2.0 External 2837 Reference Specification", R0612LL/B , 2838 September 1994. 2840 [AVP-Codes] "IANA AAA AVP Codes Registry", . 2844 [AVP-Vals] "IANA AAA AVP Specific Values", . 2848 [App-Ids] "IANA AAA Application IDs Registry", . 2853 [AppleTalk] Sidhu, G., Andrews, R., and A. 2854 Oppenheimer, "Inside AppleTalk", Second 2855 Edition Apple Computer, 1990. 2857 [Command-Codes] "IANA AAA Command Codes Registry", . 2862 [IANA] "Internet Assigned Numbers Authority", 2863 . 2865 [IPX] Novell, Inc., "NetWare System Technical 2866 Interface Overview", #883-000780-001, 2867 June 1989. 2869 [ISO.8859-1.1987] International Organization for 2870 Standardization, "Information technology 2871 - 8-bit single byte coded graphic - 2872 character sets - Part 1: Latin alphabet 2873 No. 1, JTC1/SC2", ISO Standard 8859-1, 2874 1987. 2876 [LAT] Digital Equipment Corp., "Local Area 2877 Transport (LAT) Specification V5.0", AA- 2878 NL26A-TE, June 1989. 2880 [RADIUSAttrVals] IANA, "IANA Radius Attribute Values 2881 Registry", . 2885 [RFC1334] Lloyd, B. and W. Simpson, "PPP 2886 Authentication Protocols", RFC 1334, 2887 October 1992. 2889 [RFC1661] Simpson, W., "The Point-to-Point Protocol 2890 (PPP)", STD 51, RFC 1661, July 1994. 2892 [RFC1990] Sklower, K., Lloyd, B., McGregor, G., 2893 Carr, D., and T. Coradetti, "The PPP 2894 Multilink Protocol (MP)", RFC 1990, 2895 August 1996. 2897 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. 2898 Black, "Definition of the Differentiated 2899 Services Field (DS Field) in the IPv4 and 2900 IPv6 Headers", RFC 2474, December 1998. 2902 [RFC2548] Zorn, G., "Microsoft Vendor-specific 2903 RADIUS Attributes", RFC 2548, March 1999. 2905 [RFC2597] Heinanen, J., Baker, F., Weiss, W., and 2906 J. Wroclawski, "Assured Forwarding PHB 2907 Group", RFC 2597, June 1999. 2909 [RFC2637] Hamzeh, K., Pall, G., Verthein, W., 2910 Taarud, J., Little, W., and G. Zorn, 2911 "Point-to-Point Tunneling Protocol", 2912 RFC 2637, July 1999. 2914 [RFC2866] Rigney, C., "RADIUS Accounting", 2915 RFC 2866, June 2000. 2917 [RFC2867] Zorn, G., Aboba, B., and D. Mitton, 2918 "RADIUS Accounting Modifications for 2919 Tunnel Protocol Support", RFC 2867, 2920 June 2000. 2922 [RFC2868] Zorn, G., Leifer, D., Rubens, A., 2923 Shriver, J., Holdrege, M., and I. Goyret, 2924 "RADIUS Attributes for Tunnel Protocol 2925 Support", RFC 2868, June 2000. 2927 [RFC2869] Rigney, C., Willats, W., and P. Calhoun, 2928 "RADIUS Extensions", RFC 2869, June 2000. 2930 [RFC2881] Mitton, D. and M. Beadles, "Network 2931 Access Server Requirements Next 2932 Generation (NASREQNG) NAS Model", 2933 RFC 2881, July 2000. 2935 [RFC2989] Aboba, B., Calhoun, P., Glass, S., 2936 Hiller, T., McCann, P., Shiino, H., 2937 Walsh, P., Zorn, G., Dommety, G., 2938 Perkins, C., Patil, B., Mitton, D., 2939 Manning, S., Beadles, M., Chen, X., 2940 Sivalingham, S., Hameed, A., Munson, M., 2941 Jacobs, S., Lim, B., Hirschman, B., Hsu, 2942 R., Koo, H., Lipford, M., Campbell, E., 2943 Xu, Y., Baba, S., and E. Jaques, 2944 "Criteria for Evaluating AAA Protocols 2945 for Network Access", RFC 2989, 2946 November 2000. 2948 [RFC3169] Beadles, M. and D. Mitton, "Criteria for 2949 Evaluating Network Access Server 2950 Protocols", RFC 3169, September 2001. 2952 [RFC3246] Davie, B., Charny, A., Bennet, J., 2953 Benson, K., Le Boudec, J., Courtney, W., 2954 Davari, S., Firoiu, V., and D. Stiliadis, 2955 "An Expedited Forwarding PHB (Per-Hop 2956 Behavior)", RFC 3246, March 2002. 2958 [RFC3580] Congdon, P., Aboba, B., Smith, A., Zorn, 2959 G., and J. Roese, "IEEE 802.1X Remote 2960 Authentication Dial In User Service 2961 (RADIUS) Usage Guidelines", RFC 3580, 2962 September 2003. 2964 [RFC3931] Lau, J., Townsley, M., and I. Goyret, 2965 "Layer Two Tunneling Protocol - Version 3 2966 (L2TPv3)", RFC 3931, March 2005. 2968 [RFC4072] Eronen, P., Hiller, T., and G. Zorn, 2969 "Diameter Extensible Authentication 2970 Protocol (EAP) Application", RFC 4072, 2971 August 2005. 2973 [RFC4301] Kent, S. and K. Seo, "Security 2974 Architecture for the Internet Protocol", 2975 RFC 4301, December 2005. 2977 [RFC5246] Dierks, T. and E. Rescorla, "The 2978 Transport Layer Security (TLS) Protocol 2979 Version 1.2", RFC 5246, August 2008. 2981 [RFC5777] Korhonen, J., Tschofenig, H., 2982 Arumaithurai, M., Jones, M., and A. Lior, 2983 "Traffic Classification and Quality of 2984 Service (QoS) Attributes for Diameter", 2985 RFC 5777, February 2010. 2987 Appendix A. Acknowledgements 2989 A.1. RFC 4005 2991 The authors would like to thank Carl Rigney, Allan C. Rubens, William 2992 Allen Simpson, and Steve Willens for their work on the original 2993 RADIUS protocol, from which many of the concepts in this 2994 specification were derived. Thanks, also, to Carl Rigney for 2995 [RFC2866] and [RFC2869]; Ward Willats for [RFC2869]; Glen Zorn, 2996 Bernard Aboba, and Dave Mitton for [RFC2867] and [RFC3162]; and Dory 2997 Leifer, John Shriver, Matt Holdrege, Allan Rubens, Glen Zorn and 2998 Ignacio Goyret for their work on [RFC2868]. This document stole text 2999 and concepts from both [RFC2868] and [RFC2869]. Thanks go to Carl 3000 Williams for providing IPv6-specific text. 3002 The authors would also like to acknowledge the following people for 3003 their contributions in the development of the Diameter protocol: 3004 Bernard Aboba, Jari Arkko, William Bulley, Kuntal Chowdhury, Daniel 3005 C. Fox, Lol Grant, Nancy Greene, Jeff Hagg, Peter Heitman, Paul 3006 Krumviede, Fergal Ladley, Ryan Moats, Victor Muslin, Kenneth Peirce, 3007 Sumit Vakil, John R. Vollbrecht, and Jeff Weisberg. 3009 Finally, Pat Calhoun would like to thank Sun Microsystems, as most of 3010 the effort put into this document was done while he was in their 3011 employ. 3013 A.2. RFC 4005bis 3015 The vast majority of the text in this document was taken directly 3016 from RFC 4005; the editor owes a debt of gratitude to the authors 3017 thereof (especially Dave Mitton, who somehow managed to make nroff 3018 paginate the AVP Occurance Tables correctly!). 3020 Thanks (in no particular order) to Jai-Jin Lim, Liu Hans, Sebastien 3021 Decugis, Jouni Korhonen, Mark Jones, Hannes Tschofenig and Stefan 3022 Winter for their useful reviews and helpful comments. 3024 Author's Address 3026 Glen Zorn (editor) 3027 Network Zen 3028 227/358 Thanon Sanphawut 3029 Bang Na, Bangkok 10260 3030 Thailand 3032 Phone: +66 (0) 87-040-4617 3033 EMail: glenzorn@gmail.com