idnits 2.17.1 draft-ietf-dime-rfc4005bis-10.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 15, 2012) is 4302 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 15, 2012 5 Intended status: Standards Track 6 Expires: January 16, 2013 8 Diameter Network Access Server Application 9 draft-ietf-dime-rfc4005bis-10 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 January 16, 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 . . . . . . . . . . . . . . . . . . . 62 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 3.1. AA-Request (AAR) Command 473 The AA-Request (AAR), which is indicated by setting the Command-Code 474 field to 265 and the 'R' bit in the Command Flags field, is used to 475 request authentication and/or authorization for a given NAS user. 476 The type of request is identified through the Auth-Request-Type AVP 477 [I-D.ietf-dime-rfc3588bis]. The recommended value for most 478 situations is AUTHORIZE_AUTHENTICATE. 480 If Authentication is requested, the User-Name attribute SHOULD be 481 present, as well as any additional authentication AVPs that would 482 carry the password information. A request for authorization SHOULD 483 only include the information from which the authorization will be 484 performed, such as the User-Name, Called-Station-Id, or Calling- 485 Station-Id AVPs. All requests SHOULD contain AVPs uniquely 486 identifying the source of the call, such as Origin-Host and NAS-Port. 487 Certain networks MAY use different AVPs for authorization purposes. 488 A request for authorization will include some AVPs defined in 489 Section 4.4. 491 It is possible for a single session to be authorized first and then 492 for an authentication request to follow. 494 This AA-Request message MAY be the result of a multi-round 495 authentication exchange, which occurs when the AA-Answer message is 496 received with the Result-Code AVP set to DIAMETER_MULTI_ROUND_AUTH. 497 A subsequent AAR message SHOULD be sent, with the User-Password AVP 498 that includes the user's response to the prompt, and MUST include any 499 State AVPs that were present in the AAA message. 501 Message Format 503 ::= < Diameter Header: 265, REQ, PXY > 504 < Session-Id > 505 { Auth-Application-Id } 506 { Origin-Host } 507 { Origin-Realm } 508 { Destination-Realm } 509 { Auth-Request-Type } 510 [ Destination-Host ] 511 [ NAS-Identifier ] 512 [ NAS-IP-Address ] 513 [ NAS-IPv6-Address ] 514 [ NAS-Port ] 515 [ NAS-Port-Id ] 516 [ NAS-Port-Type ] 517 [ Origin-AAA-Protocol ] 518 [ Origin-State-Id ] 519 [ Port-Limit ] 520 [ User-Name ] 521 [ User-Password ] 522 [ Service-Type ] 523 [ State ] 524 [ Authorization-Lifetime ] 525 [ Auth-Grace-Period ] 526 [ Auth-Session-State ] 527 [ Callback-Number ] 528 [ Called-Station-Id ] 529 [ Calling-Station-Id ] 530 [ Originating-Line-Info ] 531 [ Connect-Info ] 532 [ CHAP-Auth ] 533 [ CHAP-Challenge ] 534 * [ Framed-Compression ] 535 [ Framed-Interface-Id ] 536 [ Framed-IP-Address ] 537 * [ Framed-IPv6-Prefix ] 538 [ Framed-IP-Netmask ] 539 [ Framed-MTU ] 540 [ Framed-Protocol ] 541 [ ARAP-Password ] 542 [ ARAP-Security ] 543 * [ ARAP-Security-Data ] 544 * [ Login-IP-Host ] 545 * [ Login-IPv6-Host ] 546 [ Login-LAT-Group ] 547 [ Login-LAT-Node ] 548 [ Login-LAT-Port ] 549 [ Login-LAT-Service ] 550 * [ Tunneling ] 551 * [ Proxy-Info ] 552 * [ Route-Record ] 553 * [ AVP ] 555 3.2. AA-Answer (AAA) Command 557 The AA-Answer (AAA) message is indicated by setting the Command-Code 558 field to 265 and clearing the 'R' bit in the Command Flags field. It 559 is sent in response to the AA-Request (AAR) message. If 560 authorization was requested, a successful response will include the 561 authorization AVPs appropriate for the service being provided, as 562 defined in Section 4.4. 564 For authentication exchanges requiring more than a single round trip, 565 the server MUST set the Result-Code AVP to DIAMETER_MULTI_ROUND_AUTH. 566 An AAA message with this result code MAY include one Reply-Message or 567 more and MAY include zero or one State AVPs. 569 If the Reply-Message AVP was present, the network access server 570 SHOULD send the text to the user's client to display to the user, 571 instructing the client to prompt the user for a response. For 572 example, this capability can be achieved in PPP via PAP. If the 573 access client is unable to prompt the user for a new response, it 574 MUST treat the AA-Answer (AAA) with the Reply-Message AVP as an error 575 and deny access. 577 Message Format 579 ::= < Diameter Header: 265, PXY > 580 < Session-Id > 581 { Auth-Application-Id } 582 { Auth-Request-Type } 583 { Result-Code } 584 { Origin-Host } 585 { Origin-Realm } 586 [ User-Name ] 587 [ Service-Type ] 588 * [ Class ] 589 * [ Configuration-Token ] 590 [ Acct-Interim-Interval ] 591 [ Error-Message ] 592 [ Error-Reporting-Host ] 593 * [ Failed-AVP ] 594 [ Idle-Timeout ] 595 [ Authorization-Lifetime ] 596 [ Auth-Grace-Period ] 597 [ Auth-Session-State ] 598 [ Re-Auth-Request-Type ] 599 [ Multi-Round-Time-Out ] 601 [ Session-Timeout ] 602 [ State ] 603 * [ Reply-Message ] 604 [ Origin-AAA-Protocol ] 605 [ Origin-State-Id ] 606 * [ Filter-Id ] 607 [ Password-Retry ] 608 [ Port-Limit ] 609 [ Prompt ] 610 [ ARAP-Challenge-Response ] 611 [ ARAP-Features ] 612 [ ARAP-Security ] 613 * [ ARAP-Security-Data ] 614 [ ARAP-Zone-Access ] 615 [ Callback-Id ] 616 [ Callback-Number ] 617 [ Framed-Appletalk-Link ] 618 * [ Framed-Appletalk-Network ] 619 [ Framed-Appletalk-Zone ] 620 * [ Framed-Compression ] 621 [ Framed-Interface-Id ] 622 [ Framed-IP-Address ] 623 * [ Framed-IPv6-Prefix ] 624 [ Framed-IPv6-Pool ] 625 * [ Framed-IPv6-Route ] 626 [ Framed-IP-Netmask ] 627 * [ Framed-Route ] 628 [ Framed-Pool ] 629 [ Framed-IPX-Network ] 630 [ Framed-MTU ] 631 [ Framed-Protocol ] 632 [ Framed-Routing ] 633 * [ Login-IP-Host ] 634 * [ Login-IPv6-Host ] 635 [ Login-LAT-Group ] 636 [ Login-LAT-Node ] 637 [ Login-LAT-Port ] 638 [ Login-LAT-Service ] 639 [ Login-Service ] 640 [ Login-TCP-Port ] 641 * [ NAS-Filter-Rule ] 642 * [ QoS-Filter-Rule ] 643 * [ Tunneling ] 644 * [ Redirect-Host ] 645 [ Redirect-Host-Usage ] 646 [ Redirect-Max-Cache-Time ] 647 * [ Proxy-Info ] 648 * [ AVP ] 650 3.3. Re-Auth-Request (RAR) Command 652 A Diameter server may initiate a re-authentication and/or re- 653 authorization service for a particular session by issuing a Re-Auth- 654 Request (RAR) message [I-D.ietf-dime-rfc3588bis]. 656 For example, for pre-paid services, the Diameter server that 657 originally authorized a session may need some confirmation that the 658 user is still using the services. 660 If a NAS receives an RAR message with Session-Id equal to a currently 661 active session and a Re-Auth-Type that includes authentication, it 662 MUST initiate a re-authentication toward the user, if the service 663 supports this particular feature. 665 Message Format 667 ::= < Diameter Header: 258, REQ, PXY > 668 < Session-Id > 669 { Origin-Host } 670 { Origin-Realm } 671 { Destination-Realm } 672 { Destination-Host } 673 { Auth-Application-Id } 674 { Re-Auth-Request-Type } 675 [ User-Name ] 676 [ Origin-AAA-Protocol ] 677 [ Origin-State-Id ] 678 [ NAS-Identifier ] 679 [ NAS-IP-Address ] 680 [ NAS-IPv6-Address ] 681 [ NAS-Port ] 682 [ NAS-Port-Id ] 683 [ NAS-Port-Type ] 684 [ Service-Type ] 685 [ Framed-IP-Address ] 686 [ Framed-IPv6-Prefix ] 687 [ Framed-Interface-Id ] 688 [ Called-Station-Id ] 689 [ Calling-Station-Id ] 690 [ Originating-Line-Info ] 691 [ Acct-Session-Id ] 692 [ Acct-Multi-Session-Id ] 693 [ State ] 694 * [ Class ] 695 [ Reply-Message ] 696 * [ Proxy-Info ] 697 * [ Route-Record ] 698 * [ AVP ] 700 3.4. Re-Auth-Answer (RAA) Command 702 The Re-Auth-Answer (RAA) message [I-D.ietf-dime-rfc3588bis] is sent 703 in response to the RAR. The Result-Code AVP MUST be present and 704 indicates the disposition of the request. 706 A successful RAA transaction MUST be followed by an AAR message. 708 Message Format 710 ::= < Diameter Header: 258, PXY > 711 < Session-Id > 712 { Result-Code } 713 { Origin-Host } 714 { Origin-Realm } 715 [ User-Name ] 716 [ Origin-AAA-Protocol ] 717 [ Origin-State-Id ] 718 [ Error-Message ] 719 [ Error-Reporting-Host ] 720 * [ Failed-AVP ] 721 * [ Redirected-Host ] 722 [ Redirected-Host-Usage ] 723 [ Redirected-Host-Cache-Time ] 724 [ Service-Type ] 725 * [ Configuration-Token ] 726 [ Idle-Timeout ] 727 [ Authorization-Lifetime ] 728 [ Auth-Grace-Period ] 729 [ Re-Auth-Request-Type ] 730 [ State ] 731 * [ Class ] 732 * [ Reply-Message ] 733 [ Prompt ] 734 * [ Proxy-Info ] 735 * [ AVP ] 737 3.5. Session-Termination-Request (STR) Command 739 The Session-Termination-Request (STR) message 740 [I-D.ietf-dime-rfc3588bis] is sent by the NAS to inform the Diameter 741 Server that an authenticated and/or authorized session is being 742 terminated. 744 Message Format 746 ::= < Diameter Header: 275, REQ, PXY > 747 < Session-Id > 748 { Origin-Host } 749 { Origin-Realm } 750 { Destination-Realm } 751 { Auth-Application-Id } 752 { Termination-Cause } 753 [ User-Name ] 754 [ Destination-Host ] 755 * [ Class ] 756 [ Origin-AAA-Protocol ] 757 [ Origin-State-Id ] 758 * [ Proxy-Info ] 759 * [ Route-Record ] 760 * [ AVP ] 762 3.6. Session-Termination-Answer (STA) Command 764 The Session-Termination-Answer (STA) message 765 [I-D.ietf-dime-rfc3588bis] is sent by the Diameter Server to 766 acknowledge the notification that the session has been terminated. 767 The Result-Code AVP MUST be present and MAY contain an indication 768 that an error occurred while the STR was being serviced. 770 Upon sending or receiving the STA, the Diameter Server MUST release 771 all resources for the session indicated by the Session-Id AVP. Any 772 intermediate server in the Proxy-Chain MAY also release any 773 resources, if necessary. 775 Message Format 777 ::= < Diameter Header: 275, PXY > 778 < Session-Id > 779 { Result-Code } 780 { Origin-Host } 781 { Origin-Realm } 782 [ User-Name ] 783 * [ Class ] 784 [ Error-Message ] 785 [ Error-Reporting-Host ] 786 * [ Failed-AVP ] 787 [ Origin-AAA-Protocol ] 788 [ Origin-State-Id ] 789 * [ Redirect-Host ] 790 [ Redirect-Host-Usase ] 791 [ Redirect-Max-Cache-Time ] 792 * [ Proxy-Info ] 793 * [ AVP ] 795 3.7. Abort-Session-Request (ASR) Command 797 The Abort-Session-Request (ASR) message [I-D.ietf-dime-rfc3588bis] 798 may be sent by any Diameter server to the NAS providing session 799 service, to request that the session identified by the Session-Id be 800 stopped. 802 Message Format 804 ::= < Diameter Header: 274, REQ, PXY > 805 < Session-Id > 806 { Origin-Host } 807 { Origin-Realm } 808 { Destination-Realm } 809 { Destination-Host } 810 { Auth-Application-Id } 811 [ User-Name ] 812 [ Origin-AAA-Protocol ] 813 [ Origin-State-Id ] 814 [ NAS-Identifier ] 815 [ NAS-IP-Address ] 816 [ NAS-IPv6-Address ] 817 [ NAS-Port ] 818 [ NAS-Port-Id ] 819 [ NAS-Port-Type ] 820 [ Service-Type ] 821 [ Framed-IP-Address ] 822 [ Framed-IPv6-Prefix ] 823 [ Framed-Interface-Id ] 824 [ Called-Station-Id ] 825 [ Calling-Station-Id ] 826 [ Originating-Line-Info ] 827 [ Acct-Session-Id ] 828 [ Acct-Multi-Session-Id ] 829 [ State ] 830 * [ Class ] 831 * [ Reply-Message ] 832 * [ Proxy-Info ] 833 * [ Route-Record ] 834 * [ AVP ] 836 3.8. Abort-Session-Answer (ASA) Command 838 The ASA message [I-D.ietf-dime-rfc3588bis] is sent in response to the 839 ASR. The Result-Code AVP MUST be present and indicates the 840 disposition of the request. 842 If the session identified by Session-Id in the ASR was successfully 843 terminated, Result-Code is set to DIAMETER_SUCCESS. If the session 844 is not currently active, the Result-Code AVP is set to 845 DIAMETER_UNKNOWN_SESSION_ID. If the access device does not stop the 846 session for any other reason, the Result-Code AVP is set to 847 DIAMETER_UNABLE_TO_COMPLY. 849 Message Format 851 ::= < Diameter Header: 274, PXY > 852 < Session-Id > 853 { Result-Code } 854 { Origin-Host } 855 { Origin-Realm } 856 [ User-Name ] 857 [ Origin-AAA-Protocol ] 858 [ Origin-State-Id ] 859 [ State] 860 [ Error-Message ] 861 [ Error-Reporting-Host ] 862 * [ Failed-AVP ] 863 * [ Redirected-Host ] 864 [ Redirected-Host-Usage ] 865 [ Redirected-Max-Cache-Time ] 866 * [ Proxy-Info ] 867 * [ AVP ] 869 3.9. Accounting-Request (ACR) Command 871 The ACR message [I-D.ietf-dime-rfc3588bis] is sent by the NAS to 872 report its session information to a target server downstream. 874 The Acct-Application-Id AVP MUST be present. 876 The AVPs listed in the Base protocol specification 877 [I-D.ietf-dime-rfc3588bis] MUST be assumed to be present, as 878 appropriate. NAS service-specific accounting AVPs SHOULD be present 879 as described in Section 4.6 and the rest of this specification. 881 Message Format 883 ::= < Diameter Header: 271, REQ, PXY > 884 < Session-Id > 885 { Origin-Host } 886 { Origin-Realm } 887 { Destination-Realm } 888 { Accounting-Record-Type } 889 { Accounting-Record-Number } 890 { Acct-Application-Id } 891 [ User-Name ] 892 [ Accounting-Sub-Session-Id ] 893 [ Acct-Session-Id ] 894 [ Acct-Multi-Session-Id ] 895 [ Origin-AAA-Protocol ] 896 [ Origin-State-Id ] 898 [ Destination-Host ] 899 [ Event-Timestamp ] 900 [ Acct-Delay-Time ] 901 [ NAS-Identifier ] 902 [ NAS-IP-Address ] 903 [ NAS-IPv6-Address ] 904 [ NAS-Port ] 905 [ NAS-Port-Id ] 906 [ NAS-Port-Type ] 907 * [ Class ] 908 [ Service-Type ] 909 [ Termination-Cause ] 910 [ Accounting-Input-Octets ] 911 [ Accounting-Input-Packets ] 912 [ Accounting-Output-Octets ] 913 [ Accounting-Output-Packets ] 914 [ Acct-Authentic ] 915 [ Accounting-Auth-Method ] 916 [ Acct-Link-Count ] 917 [ Acct-Session-Time ] 918 [ Acct-Tunnel-Connection ] 919 [ Acct-Tunnel-Packets-Lost ] 920 [ Callback-Id ] 921 [ Callback-Number ] 922 [ Called-Station-Id ] 923 [ Calling-Station-Id ] 924 * [ Connection-Info ] 925 [ Originating-Line-Info ] 926 [ Authorization-Lifetime ] 927 [ Session-Timeout ] 928 [ Idle-Timeout ] 929 [ Port-Limit ] 930 [ Accounting-Realtime-Required ] 931 [ Acct-Interim-Interval ] 932 * [ Filter-Id ] 933 * [ NAS-Filter-Rule ] 934 * [ Qos-Filter-Rule ] 935 [ Framed-AppleTalk-Link ] 936 [ Framed-AppleTalk-Network ] 937 [ Framed-AppleTalk-Zone ] 938 [ Framed-Compression ] 939 [ Framed-Interface-Id ] 940 [ Framed-IP-Address ] 941 [ Framed-IP-Netmask ] 942 * [ Framed-IPv6-Prefix ] 943 [ Framed-IPv6-Pool ] 944 * [ Framed-IPv6-Route ] 945 [ Framed-IPX-Network ] 947 [ Framed-MTU ] 948 [ Framed-Pool ] 949 [ Framed-Protocol ] 950 * [ Framed-Route ] 951 [ Framed-Routing ] 952 * [ Login-IP-Host ] 953 * [ Login-IPv6-Host ] 954 [ Login-LAT-Group ] 955 [ Login-LAT-Node ] 956 [ Login-LAT-Port ] 957 [ Login-LAT-Service ] 958 [ Login-Service ] 959 [ Login-TCP-Port ] 960 * [ Tunneling ] 961 * [ Proxy-Info ] 962 * [ Route-Record ] 963 * [ AVP ] 965 3.10. Accounting-Answer (ACA) Command 967 The ACA message [I-D.ietf-dime-rfc3588bis] is used to acknowledge an 968 Accounting-Request command. The Accounting-Answer command contains 969 the same Session-Id as the Request. 971 Only the target Diameter Server or home Diameter Server SHOULD 972 respond with the Accounting-Answer command. 974 The Acct-Application-Id AVP MUST be present. 976 The AVPs listed in the Base protocol specification 977 [I-D.ietf-dime-rfc3588bis] MUST be assumed to be present, as 978 appropriate. NAS service-specific accounting AVPs SHOULD be present 979 as described in Section 4.6 and the rest of this specification. 981 Message Format 983 ::= < Diameter Header: 271, PXY > 984 < Session-Id > 985 { Result-Code } 986 { Origin-Host } 987 { Origin-Realm } 988 { Accounting-Record-Type } 989 { Accounting-Record-Number } 990 { Acct-Application-Id } 991 [ User-Name ] 992 [ Accounting-Sub-Session-Id ] 993 [ Acct-Session-Id ] 994 [ Acct-Multi-Session-Id ] 995 [ Event-Timestamp ] 996 [ Error-Message ] 997 [ Error-Reporting-Host ] 998 * [ Failed-AVP ] 999 [ Origin-AAA-Protocol ] 1000 [ Origin-State-Id ] 1001 [ NAS-Identifier ] 1002 [ NAS-IP-Address ] 1003 [ NAS-IPv6-Address ] 1004 [ NAS-Port ] 1005 [ NAS-Port-Id ] 1006 [ NAS-Port-Type ] 1007 [ Service-Type ] 1008 [ Termination-Cause ] 1009 [ Accounting-Realtime-Required ] 1010 [ Acct-Interim-Interval ] 1011 * [ Class ] 1012 * [ Proxy-Info ] 1013 * [ AVP ] 1015 4. Diameter NAS Application AVPs 1017 The following sections define a new derived AVP data format, a set of 1018 application-specific AVPs and describe the use of AVPs defined in 1019 other documents by the Diameter NAS Application. 1021 4.1. Derived AVP Data Formats 1023 4.1.1. QoSFilterRule 1025 The QosFilterRule format is derived from the OctetString AVP Base 1026 Format. It uses the ASCII charset. Packets may be marked or metered 1027 based on the following information: 1029 o Direction (in or out) 1031 o Source and destination IP address (possibly masked) 1033 o Protocol 1035 o Source and destination port (lists or ranges) 1037 o DSCP values (no mask or range) 1039 Rules for the appropriate direction are evaluated in order; the first 1040 matched rule terminates the evaluation. Each packet is evaluated 1041 once. If no rule matches, the packet is treated as best effort. An 1042 access device unable to interpret or apply a QoS rule SHOULD NOT 1043 terminate the session. 1045 QoSFilterRule filters MUST follow the following format: 1047 action dir proto from src to dst [options] 1048 where 1050 action 1051 tag Mark packet with a specific DSCP [RFC2474] 1052 meter Meter traffic 1054 dir The format is as described under IPFilterRule 1055 [I-D.ietf-dime-rfc3588bis] 1057 proto The format is as described under IPFilterRule 1058 [I-D.ietf-dime-rfc3588bis] 1060 src and dst The format is as described under IPFilterRule 1061 [I-D.ietf-dime-rfc3588bis] 1063 The options are described in Section 4.4.9. 1065 The rule syntax is a modified subset of ipfw(8) from FreeBSD, and the 1066 ipfw.c code may provide a useful base for implementations. 1068 4.2. NAS Session AVPs 1070 Diameter reserves the AVP Codes 0 - 255 for RADIUS Attributes that 1071 are implemented in Diameter. 1073 4.2.1. Call and Session Information 1075 This section describes the AVPs specific to Diameter applications 1076 that are needed to identify the call and session context and status 1077 information. On a request, this information allows the server to 1078 qualify the session. 1080 These AVPs are used in addition to the following AVPs from the base 1081 protocol specification [I-D.ietf-dime-rfc3588bis]: 1083 Session-Id 1084 Auth-Application-Id 1085 Origin-Host 1086 Origin-Realm 1087 Auth-Request-Type 1088 Termination-Cause 1090 The following table gives the possible flag values for the session 1091 level AVPs. 1093 +----------+ 1094 | AVP Flag | 1095 | rules | 1096 |----+-----+ 1097 |MUST| MUST| 1098 Attribute Name Section Defined | | NOT| 1099 -----------------------------------------|----+-----| 1100 NAS-Port 4.2.2 | M | V | 1101 NAS-Port-Id 4.2.3 | M | V | 1102 NAS-Port-Type 4.2.4 | M | V | 1103 Called-Station-Id 4.2.5 | M | V | 1104 Calling-Station-Id 4.2.6 | M | V | 1105 Connect-Info 4.2.7 | M | V | 1106 Originating-Line-Info 4.2.8 | M | V | 1107 Reply-Message 4.2.9 | M | V | 1108 -----------------------------------------|----+-----| 1110 4.2.2. NAS-Port AVP 1112 The NAS-Port AVP (AVP Code 5) is of type Unsigned32 and contains the 1113 physical or virtual port number of the NAS which is authenticating 1114 the user. Note that "port" is meant in its sense as a service 1115 connection on the NAS, not as an IP protocol identifier. 1117 Either the NAS-Port AVP or the NAS-Port-Id AVP (Section 4.2.3) SHOULD 1118 be present in the AA-Request (AAR, Section 3.1) command if the NAS 1119 differentiates among its ports. 1121 4.2.3. NAS-Port-Id AVP 1123 The NAS-Port-Id AVP (AVP Code 87) is of type UTF8String and consists 1124 of ASCII text identifying the port of the NAS authenticating the 1125 user. Note that "port" is meant in its sense as a service connection 1126 on the NAS, not as an IP protocol identifier. 1128 Either the NAS-Port-Id AVP or the NAS-Port AVP (Section 4.2.2) SHOULD 1129 be present in the AA-Request (AAR, Section 3.1) command if the NAS 1130 differentiates among its ports. NAS-Port-Id is intended for use by 1131 NASes that cannot conveniently number their ports. 1133 4.2.4. NAS-Port-Type AVP 1135 The NAS-Port-Type AVP (AVP Code 61) is of type Enumerated and 1136 contains the type of the port on which the NAS is authenticating the 1137 user. This AVP SHOULD be present if the NAS uses the same NAS-Port 1138 number ranges for different service types concurrently. 1140 The currently supported values of the NAS-Port-Type AVP are listed in 1141 [RADIUSAttrVals]. 1143 4.2.5. Called-Station-Id AVP 1145 The Called-Station-Id AVP (AVP Code 30) is of type UTF8String and 1146 allows the NAS to send the ASCII string describing the Layer 2 1147 address the user contacted in the request. For dialup access, this 1148 can be a phone number obtained by using the Dialed Number 1149 Identification Service (DNIS) or a similar technology. Note that 1150 this may be different from the phone number the call comes in on. 1151 For use with IEEE 802 access, the Called-Station-Id MAY contain a MAC 1152 address formatted as described in Congdon, et al. [RFC3580]. 1154 If the Called-Station-Id AVP is present in an AAR message, Auth- 1155 Request-Type AVP is set to AUTHORIZE_ONLY and the User-Name AVP is 1156 absent, the Diameter Server MAY perform authorization based on this 1157 AVP. This can be used by a NAS to request whether a call should be 1158 answered based on the DNIS result. 1160 The codification of this field's allowed usage range is outside the 1161 scope of this specification. 1163 4.2.6. Calling-Station-Id AVP 1165 The Calling-Station-Id AVP (AVP Code 31) is of type UTF8String and 1166 allows the NAS to send the ASCII string describing the Layer 2 1167 address from which the user connected in the request. For dialup 1168 access, this is the phone number the call came from, using Automatic 1169 Number Identification (ANI) or a similar technology. For use with 1170 IEEE 802 access, the Calling-Station-Id AVP MAY contain a MAC 1171 address, formated as described in RFC 3580. 1173 If the Calling-Station-Id AVP is present in an AAR message, the Auth- 1174 Request-Type AVP is set to AUTHORIZE_ONLY and the User-Name AVP is 1175 absent, the Diameter Server MAY perform authorization based on the 1176 value of this AVP. This can be used by a NAS to request whether a 1177 call should be answered based on the Layer 2 address (ANI, MAC 1178 Address, etc.) 1180 The codification of this field's allowed usage range is outside the 1181 scope of this specification. 1183 4.2.7. Connect-Info AVP 1185 The Connect-Info AVP (AVP Code 77) is of type UTF8String and is sent 1186 in the AA-Request message or an ACR message with the value of the 1187 Accounting-Record-Type AVP set to STOP. When sent in the AA-Request, 1188 it indicates the nature of the user's connection. The connection 1189 speed SHOULD be included at the beginning of the first Connect-Info 1190 AVP in the message. If the transmit and receive connection speeds 1191 differ, both may be included in the first AVP with the transmit speed 1192 listed first (the speed at which the NAS modem transmits), then a 1193 slash (/), then the receive speed, and then other optional 1194 information. 1196 For example: "28800 V42BIS/LAPM" or "52000/31200 V90" 1198 If sent in an ACR message with the value of the Accounting-Record- 1199 Type AVP set to STOP, this attribute may summarize statistics 1200 relating to session quality. For example, in IEEE 802.11, the 1201 Connect-Info AVP may contain information on the number of link layer 1202 retransmissions. The exact format of this attribute is 1203 implementation specific. 1205 4.2.8. Originating-Line-Info AVP 1207 The Originating-Line-Info AVP (AVP Code 94) is of type OctetString 1208 and is sent by the NAS system to convey information about the origin 1209 of the call from an SS7 system. 1211 The Originating Line Information (OLI) element indicates the nature 1212 and/or characteristics of the line from which a call originated 1213 (e.g., pay phone, hotel, cellular). Telephone companies are starting 1214 to offer OLI to their customers as an option over Primary Rate 1215 Interface (PRI). Internet Service Providers (ISPs) can use OLI in 1216 addition to Called-Station-Id and Calling-Station-Id attributes to 1217 differentiate customer calls and to define different services. 1219 The Value field contains two octets (00 - 99). ANSI T1.113 and 1220 BELLCORE 394 can be used for additional information about these 1221 values and their use. For information on the currently assigned 1222 values, see [ANITypes]. 1224 4.2.9. Reply-Message AVP 1226 The Reply-Message AVP (AVP Code 18) is of type UTF8String and 1227 contains text that MAY be displayed to the user. When used in an AA- 1228 Answer message with a successful Result-Code AVP, it indicates 1229 success. When found in an AAA message with a Result-Code other than 1230 DIAMETER_SUCCESS, the AVP contains a failure message. 1232 The Reply-Message AVP MAY contain text to prompt the user before 1233 another AA-Request attempt. When used in an AA-Answer message 1234 containing a Result-Code AVP with the value DIAMETER_MULTI_ROUND_AUTH 1235 or in an Re-Auth-Request message, it MAY contain text to prompt the 1236 user for a response. 1238 4.3. NAS Authentication AVPs 1240 This section defines the AVPs necessary to carry the authentication 1241 information in the Diameter protocol. The functionality defined here 1242 provides a RADIUS-like AAA service [RFC2865] over a more reliable and 1243 secure transport, as defined in the base protocol 1244 [I-D.ietf-dime-rfc3588bis]. 1246 The following table gives the possible flag values for the session 1247 level AVPs. 1249 +----------+ 1250 | AVP Flag | 1251 | rules | 1252 |----+-----| 1253 |MUST| MUST| 1254 Attribute Name Section Defined | | NOT| 1255 -----------------------------------------|----+-----| 1256 User-Password 4.3.1 | M | V | 1257 Password-Retry 4.3.2 | M | V | 1258 Prompt 4.3.3 | M | V | 1259 CHAP-Auth 4.3.4 | M | V | 1260 CHAP-Algorithm 4.3.5 | M | V | 1261 CHAP-Ident 4.3.6 | M | V | 1262 CHAP-Response 4.3.7 | M | V | 1263 CHAP-Challenge 4.3.8 | M | V | 1264 ARAP-Password 4.3.9 | M | V | 1265 ARAP-Challenge-Response 4.3.10 | M | V | 1266 ARAP-Security 4.3.11 | M | V | 1267 ARAP-Security-Data 4.3.12 | M | V | 1268 -----------------------------------------|----+-----| 1270 4.3.1. User-Password AVP 1272 The User-Password AVP (AVP Code 2) is of type OctetString and 1273 contains the password of the user to be authenticated, or the user's 1274 input in a multi-round authentication exchange. 1276 The User-Password AVP contains a user password or one-time password 1277 and therefore represents sensitive information. As required by 1278 Fajardo, et al. [I-D.ietf-dime-rfc3588bis], Diameter messages are 1279 encrypted by using IPsec [RFC4301] or TLS [RFC5246]. Unless this AVP 1280 is used for one-time passwords, the User-Password AVP SHOULD NOT be 1281 used in untrusted proxy environments without encrypting it by using 1282 end-to-end security techniques. 1284 The clear-text password (prior to encryption) MUST NOT be longer than 1285 128 bytes in length. 1287 4.3.2. Password-Retry AVP 1289 The Password-Retry AVP (AVP Code 75) is of type Unsigned32 and MAY be 1290 included in the AA-Answer if the Result-Code indicates an 1291 authentication failure. The value of this AVP indicates how many 1292 authentication attempts a user is permitted before being 1293 disconnected. This AVP is primarily intended for use when the 1294 Framed-Protocol AVP (Section 4.4.10.1) is set to ARAP. 1296 4.3.3. Prompt AVP 1298 The Prompt AVP (AVP Code 76) is of type Enumerated and MAY be present 1299 in the AA-Answer message. When present, it is used by the NAS to 1300 determine whether the user's response, when entered, should be 1301 echoed. 1303 The supported values are listed in [RADIUSAttrVals] 1305 4.3.4. CHAP-Auth AVP 1307 The CHAP-Auth AVP (AVP Code 402) is of type Grouped and contains the 1308 information necessary to authenticate a user using the PPP Challenge- 1309 Handshake Authentication Protocol (CHAP) [RFC1994]. If the CHAP-Auth 1310 AVP is found in a message, the CHAP-Challenge AVP (Section 4.3.8) 1311 MUST be present as well. The optional AVPs containing the CHAP 1312 response depend upon the value of the CHAP-Algorithm AVP 1313 (Section 4.3.8). The grouped AVP has the following ABNF grammar: 1315 CHAP-Auth ::= < AVP Header: 402 > 1316 { CHAP-Algorithm } 1317 { CHAP-Ident } 1318 [ CHAP-Response ] 1319 * [ AVP ] 1321 4.3.5. CHAP-Algorithm AVP 1323 The CHAP-Algorithm AVP (AVP Code 403) is of type Enumerated and 1324 contains the algorithm identifier used in the computation of the CHAP 1325 response [RFC1994]. The following values are currently supported: 1327 CHAP with MD5 5 The CHAP response is computed by using the procedure 1328 described in [RFC1994] This algorithm requires that the CHAP- 1329 Response AVP (Section 4.3.7) MUST be present in the CHAP-Auth AVP 1330 (Section 4.3.4). 1332 4.3.6. CHAP-Ident AVP 1334 The CHAP-Ident AVP (AVP Code 404) is of type OctetString and contains 1335 the 1 octet CHAP Identifier used in the computation of the CHAP 1336 response [RFC1994] 1338 4.3.7. CHAP-Response AVP 1340 The CHAP-Response AVP (AVP Code 405) is of type OctetString and 1341 contains the 16 octet authentication data provided by the user in 1342 response to the CHAP challenge [RFC1994]. 1344 4.3.8. CHAP-Challenge AVP 1346 The CHAP-Challenge AVP (AVP Code 60) is of type OctetString and 1347 contains the CHAP Challenge sent by the NAS to the CHAP peer 1348 [RFC1994]. 1350 4.3.9. ARAP-Password AVP 1352 The ARAP-Password AVP (AVP Code 70) is of type OctetString and is 1353 only present when the Framed-Protocol AVP (Section 4.4.10.1) is 1354 included in the message and is set to ARAP. This AVP MUST NOT be 1355 present if either the User-Password or the CHAP-Auth AVP is present. 1356 See Rigney, et al. [RFC2869] for more information on the contents of 1357 this AVP. 1359 4.3.10. ARAP-Challenge-Response AVP 1361 The ARAP-Challenge-Response AVP (AVP Code 84) is of type OctetString 1362 and is only present when the Framed-Protocol AVP (Section 4.4.10.1) 1363 is included in the message and is set to ARAP. This AVP contains an 1364 8 octet response to the dial-in client's challenge. The Diameter 1365 server calculates this value by taking the dial-in client's challenge 1366 from the high-order 8 octets of the ARAP-Password AVP and performing 1367 DES encryption on this value with the authenticating user's password 1368 as the key. If the user's password is fewer than 8 octets in length, 1369 the password is padded at the end with NULL octets to a length of 8 1370 before it is used as a key. 1372 4.3.11. ARAP-Security AVP 1374 The ARAP-Security AVP (AVP Code 73) is of type Unsigned32 and MAY be 1375 present in the AA-Answer message if the Framed-Protocol AVP 1376 (Section 4.4.10.1) is set to the value of ARAP, and the Result-Code 1377 AVP ([I-D.ietf-dime-rfc3588bis], Section 7.1) is set to 1378 DIAMETER_MULTI_ROUND_AUTH. See RFC 2869 for more information on the 1379 contents of this AVP. 1381 4.3.12. ARAP-Security-Data AVP 1383 The ARAP-Security-Data AVP (AVP Code 74) is of type OctetString and 1384 MAY be present in the AA-Request or AA-Answer message if the Framed- 1385 Protocol AVP (Section 4.4.10.1) is set to the value of ARAP and the 1386 Result-Code AVP ([I-D.ietf-dime-rfc3588bis], Section 7.1) is set to 1387 DIAMETER_MULTI_ROUND_AUTH. This AVP contains the security module 1388 challenge or response associated with the ARAP Security Module 1389 specified in the ARAP-Security AVP (Section 4.3.11). 1391 4.4. NAS Authorization AVPs 1393 This section contains the authorization AVPs supported in the NAS 1394 Application. The Service-Type AVP SHOULD be present in all messages 1395 and, based on its value, additional AVPs defined in this section and 1396 Section 4.5 MAY be present. 1398 The following table gives the possible flag values for the session- 1399 level AVPs. 1401 +----------+ 1402 | AVP Flag | 1403 | rules | 1404 |----+-----| 1405 |MUST| MUST| 1406 Attribute Name Section Defined | | NOT| 1407 -----------------------------------------|----+-----| 1408 Service-Type 4.4.1 | M | V | 1409 Callback-Number 4.4.2 | M | V | 1410 Callback-Id 4.4.3 | M | V | 1411 Idle-Timeout 4.4.4 | M | V | 1412 Port-Limit 4.4.5 | M | V | 1413 NAS-Filter-Rule 4.4.6 | M | V | 1414 Filter-Id 4.4.7 | M | V | 1415 Configuration-Token 4.4.8 | M | V | 1416 QoS-Filter-Rule 4.4.9 | | | 1417 Framed-Protocol 4.4.10.1 | M | V | 1418 Framed-Routing 4.4.10.2 | M | V | 1419 Framed-MTU 4.4.10.3 | M | V | 1420 Framed-Compression 4.4.10.4 | M | V | 1421 Framed-IP-Address 4.4.10.5.1 | M | V | 1422 Framed-IP-Netmask 4.4.10.5.2 | M | V | 1423 Framed-Route 4.4.10.5.3 | M | V | 1424 Framed-Pool 4.4.10.5.4 | M | V | 1425 Framed-Interface-Id 4.4.10.5.5 | M | V | 1426 Framed-IPv6-Prefix 4.4.10.5.6 | M | V | 1427 Framed-IPv6-Route 4.4.10.5.7 | M | V | 1428 Framed-IPv6-Pool 4.4.10.5.8 | M | V | 1429 Framed-IPX-Network 4.4.10.6.1 | M | V | 1430 Framed-Appletalk-Link 4.4.10.7.1 | M | V | 1431 Framed-Appletalk-Network 4.4.10.7.2 | M | V | 1432 Framed-Appletalk-Zone 4.4.10.7.3 | M | V | 1433 ARAP-Features 4.4.10.8.1 | M | V | 1434 ARAP-Zone-Access 4.4.10.8.2 | M | V | 1435 Login-IP-Host 4.4.11.1 | M | V | 1436 Login-IPv6-Host 4.4.11.2 | M | V | 1437 Login-Service 4.4.11.3 | M | V | 1438 Login-TCP-Port 4.4.11.4.1 | M | V | 1439 Login-LAT-Service 4.4.11.5.1 | M | V | 1440 Login-LAT-Node 4.4.11.5.2 | M | V | 1441 Login-LAT-Group 4.4.11.5.3 | M | V | 1442 Login-LAT-Port 4.4.11.5.4 | M | V | 1443 -----------------------------------------|----+-----| 1445 4.4.1. Service-Type AVP 1447 The Service-Type AVP (AVP Code 6) is of type Enumerated and contains 1448 the type of service the user has requested or the type of service to 1449 be provided. One such AVP MAY be present in an authentication and/or 1450 authorization request or response. A NAS is not required to 1451 implement all of these service types. It MUST treat unknown or 1452 unsupported Service-Types received in a response as a failure and end 1453 the session with a DIAMETER_INVALID_AVP_VALUE Result-Code. 1455 When used in a request, the Service-Type AVP SHOULD be considered a 1456 hint to the server that the NAS believes the user would prefer the 1457 kind of service indicated. The server is not required to honor the 1458 hint. Furthermore, if the service specified by the server is 1459 supported, but not compatible with the current mode of access, the 1460 NAS MUST fail to start the session. The NAS MUST also generate the 1461 appropriate error message(s). 1463 The complete list of defined values that the Service-Type AVP can 1464 take can be found in [RFC2865] and [RADIUSAttrVals], but the 1465 following values require further qualification here: 1467 Login (1) 1468 The user should be connected to a host. The message MAY 1469 include additional AVPs as defined in Section 4.4.11.4 or 1470 Section 4.4.11.5. 1472 Framed (2) 1473 A Framed Protocol, such as PPP or SLIP, should be started for 1474 the User. The message MAY include additional AVPs defined in 1475 Section 4.4.10, or Section 4.5 for tunneling services. 1477 Callback Login (3) 1478 The user should be disconnected and called back, then connected 1479 to a host. The message MAY include additional AVPs defined in 1480 this Section. 1482 Callback Framed (4) 1483 The user should be disconnected and called back, and then a 1484 Framed Protocol, such as PPP or SLIP, should be started for the 1485 User. The message MAY include additional AVPs defined in 1486 Section 4.4.10, or Section 4.5 for tunneling services. 1488 4.4.2. Callback-Number AVP 1490 The Callback-Number AVP (AVP Code 19) is of type UTF8String and 1491 contains a dialing string to be used for callback. It MAY be used in 1492 an authentication and/or authorization request as a hint to the 1493 server that a Callback service is desired, but the server is not 1494 required to honor the hint in the corresponding response. 1496 The codification of this field's allowed usage range is outside the 1497 scope of this specification. 1499 4.4.3. Callback-Id AVP 1501 The Callback-Id AVP (AVP Code 20) is of type UTF8String and contains 1502 the name of a place to be called, to be interpreted by the NAS. This 1503 AVP MAY be present in an authentication and/or authorization 1504 response. 1506 This AVP is not roaming-friendly as it assumes that the Callback-Id 1507 is configured on the NAS. Using the Callback-Number AVP 1508 (Section 4.4.2) is therefore preferable. 1510 4.4.4. Idle-Timeout AVP 1512 The Idle-Timeout AVP (AVP Code 28) is of type Unsigned32 and sets the 1513 maximum number of consecutive seconds of idle connection allowable to 1514 the user before termination of the session or before a prompt is 1515 issued. The default is none, or system specific. 1517 4.4.5. Port-Limit AVP 1519 The Port-Limit AVP (AVP Code 62) is of type Unsigned32 and sets the 1520 maximum number of ports the NAS provides to the user. It MAY be used 1521 in an authentication and/or authorization request as a hint to the 1522 server that multilink PPP [RFC1990] service is desired, but the 1523 server is not required to honor the hint in the corresponding 1524 response. 1526 4.4.6. NAS-Filter-Rule AVP 1528 The NAS-Filter-Rule AVP (AVP Code 400) is of type IPFilterRule and 1529 provides filter rules that need to be configured on the NAS for the 1530 user. One or more of these AVPs MAY be present in an authorization 1531 response. 1533 4.4.7. Filter-Id AVP 1535 The Filter-Id AVP (AVP Code 11) is of type UTF8String and contains 1536 the name of the filter list for this user. Zero or more Filter-Id 1537 AVPs MAY be sent in an authorization answer. 1539 Identifying a filter list by name allows the filter to be used on 1540 different NASes without regard to filter-list implementation details. 1541 However, this AVP is not roaming-friendly, as filter naming differs 1542 from one service provider to another. 1544 In environments where backward compatibility with RADIUS is not 1545 required, it is RECOMMENDED that the NAS-Filter-Rule AVP 1546 (Section 4.4.6) be used instead. 1548 4.4.8. Configuration-Token AVP 1550 The Configuration-Token AVP (AVP Code 78) is of type OctetString and 1551 is sent by a Diameter Server to a Diameter Proxy Agent in an AA- 1552 Answer command to indicate a type of user profile to be used. It 1553 should not be sent to a Diameter Client (NAS). 1555 The format of the Data field of this AVP is site specific. 1557 4.4.9. QoS-Filter-Rule AVP 1559 The QoS-Filter-Rule AVP (AVP Code 407) is of type QoSFilterRule 1560 (Section 4.1.1) and provides QoS filter rules that need to be 1561 configured on the NAS for the user. One or more such AVPs MAY be 1562 present in an authorization response. 1564 The use of this AVP is NOT RECOMMENDED; the AVPs defined by Korhonen, 1565 et al. [RFC5777] SHOULD be used instead. 1567 The following options are defined for the QoSFilterRule filters: 1569 DSCP If action is set to tag (Section 4.1.1) this option 1570 MUST be included in the rule. 1572 Color values are defined in Nichols, et al. [RFC2474]. Exact 1573 matching of DSCP values is required (no masks or ranges). 1575 metering The metering option 1576 provides Assured Forwarding, as defined in Heinanen, et al. 1577 [RFC2597]. and MUST be present if the action is set to meter 1578 (Section 4.1.1) The rate option is the throughput, in bits per 1579 second, used by the access device to mark packets. Traffic 1580 over the rate is marked with the color_over codepoint, and 1581 traffic under the rate is marked with the color_under 1582 codepoint. The color_under and color_over options contain the 1583 drop preferences and MUST conform to the recommended codepoint 1584 keywords described in RFC 2597 (e.g., AF13). 1586 The metering option also supports the strict limit on traffic 1587 required by Expedited Forwarding, as defined in Davie, et 1588 al. [RFC3246]. The color_over option may contain the keyword 1589 "drop" to prevent forwarding of traffic that exceeds the rate 1590 parameter. 1592 4.4.10. Framed Access Authorization AVPs 1594 This section lists the authorization AVPs necessary to support framed 1595 access, such as PPP and SLIP. AVPs defined in this section MAY be 1596 present in a message if the Service-Type AVP was set to "Framed" or 1597 "Callback Framed". 1599 4.4.10.1. Framed-Protocol AVP 1601 The Framed-Protocol AVP (AVP Code 7) is of type Enumerated and 1602 contains the framing to be used for framed access. This AVP MAY be 1603 present in both requests and responses. The supported values are 1604 listed in [RADIUSAttrVals]. 1606 4.4.10.2. Framed-Routing AVP 1608 The Framed-Routing AVP (AVP Code 10) is of type Enumerated and 1609 contains the routing method for the user when the user is a router to 1610 a network. This AVP SHOULD only be present in authorization 1611 responses. The supported values are listed in [RADIUSAttrVals]. 1613 4.4.10.3. Framed-MTU AVP 1615 The Framed-MTU AVP (AVP Code 12) is of type Unsigned32 and contains 1616 the Maximum Transmission Unit (MTU) to be configured for the user, 1617 when it is not negotiated by some other means (such as PPP). This 1618 AVP SHOULD only be present in authorization responses. The MTU value 1619 MUST be in the range from 64 to 65535. 1621 4.4.10.4. Framed-Compression AVP 1623 The Framed-Compression AVP (AVP Code 13) is of type Enumerated and 1624 contains the compression protocol to be used for the link. It MAY be 1625 used in an authorization request as a hint to the server that a 1626 specific compression type is desired, but the server is not required 1627 to honor the hint in the corresponding response. 1629 More than one compression protocol AVP MAY be sent. The NAS is 1630 responsible for applying the proper compression protocol to the 1631 appropriate link traffic. 1633 The supported values are listed in [RADIUSAttrVals]. 1635 4.4.10.5. IP Access Authorization AVPs 1637 The AVPs defined in this section are used when the user requests, or 1638 is being granted, access service to IP. 1640 4.4.10.5.1. Framed-IP-Address AVP 1642 The Framed-IP-Address AVP (AVP Code 8) [RFC2865] is of type 1643 OctetString and contains an IPv4 address of the type specified in the 1644 attribute value to be configured for the user. It MAY be used in an 1645 authorization request as a hint to the server that a specific address 1646 is desired, but the server is not required to honor the hint in the 1647 corresponding response. 1649 Two values have special significance: 0xFFFFFFFF and 0xFFFFFFFE. The 1650 value 0xFFFFFFFF indicates that the NAS should allow the user to 1651 select an address (i.e., negotiated). The value 0xFFFFFFFE indicates 1652 that the NAS should select an address for the user (e.g., assigned 1653 from a pool of addresses kept by the NAS). 1655 4.4.10.5.2. Framed-IP-Netmask AVP 1657 The Framed-IP-Netmask AVP (AVP Code 9) is of type OctetString and 1658 contains the four octets of the IPv4 netmask to be configured for the 1659 user when the user is a router to a network. It MAY be used in an 1660 authorization request as a hint to the server that a specific netmask 1661 is desired, but the server is not required to honor the hint in the 1662 corresponding response. This AVP MUST be present in a response if 1663 the request included this AVP with a value of 0xFFFFFFFF. 1665 4.4.10.5.3. Framed-Route AVP 1667 The Framed-Route AVP (AVP Code 22) is of type UTF8String and contains 1668 the ASCII routing information to be configured for the user on the 1669 NAS. Zero or more of these AVPs MAY be present in an authorization 1670 response. 1672 The string MUST contain a destination prefix in dotted quad form 1673 optionally followed by a slash and a decimal length specifier stating 1674 how many high-order bits of the prefix should be used. This is 1675 followed by a space, a gateway address in dotted quad form, a space, 1676 and one or more metrics separated by spaces; for example, 1678 "192.0.2.0/24 192.0.2.1 1" 1680 The length specifier may be omitted, in which case it should default 1681 to 8 bits for class A prefixes, to 16 bits for class B prefixes, and 1682 to 24 bits for class C prefixes; for example, 1683 "192.0.2.0 192.0.2.1 1" 1685 Whenever the gateway address is specified as "0.0.0.0" the IP address 1686 of the user SHOULD be used as the gateway address. 1688 4.4.10.5.4. Framed-Pool AVP 1690 The Framed-Pool AVP (AVP Code 88) is of type OctetString and contains 1691 the name of an assigned address pool that SHOULD be used to assign an 1692 address for the user. If a NAS does not support multiple address 1693 pools, the NAS SHOULD ignore this AVP. Address pools are usually 1694 used for IP addresses but can be used for other protocols if the NAS 1695 supports pools for those protocols. 1697 Although specified as type OctetString for compatibility with RADIUS 1698 [RFC2865], the encoding of the Data field SHOULD also conform to the 1699 rules for the UTF8String Data Format. 1701 4.4.10.5.5. Framed-Interface-Id AVP 1703 The Framed-Interface-Id AVP (AVP Code 96) is of type Unsigned64 and 1704 contains the IPv6 interface identifier to be configured for the user. 1705 It MAY be used in authorization requests as a hint to the server that 1706 a specific interface id is desired, but the server is not required to 1707 honor the hint in the corresponding response. 1709 4.4.10.5.6. Framed-IPv6-Prefix AVP 1711 The Framed-IPv6-Prefix AVP (AVP Code 97) is of type OctetString and 1712 contains the IPv6 prefix to be configured for the user. One or more 1713 AVPs MAY be used in authorization requests as a hint to the server 1714 that specific IPv6 prefixes are desired, but the server is not 1715 required to honor the hint in the corresponding response. 1717 4.4.10.5.7. Framed-IPv6-Route AVP 1719 The Framed-IPv6-Route AVP (AVP Code 99) is of type UTF8String and 1720 contains the ASCII routing information to be configured for the user 1721 on the NAS. Zero or more of these AVPs MAY be present in an 1722 authorization response. 1724 The string MUST contain an IPv6 address prefix followed by a slash 1725 and a decimal length specifier stating how many high order bits of 1726 the prefix should be used. This is followed by a space, a gateway 1727 address in hexadecimal notation, a space, and one or more metrics 1728 separated by spaces; for example, 1729 "2001:db8::/32 2001:db8:106:a00:20ff:fe99:a998 1" 1731 Whenever the gateway address is the IPv6 unspecified address, the IP 1732 address of the user SHOULD be used as the gateway address, such as 1733 in: 1735 "2001:db8::/32 :: 1" 1737 4.4.10.5.8. Framed-IPv6-Pool AVP 1739 The Framed-IPv6-Pool AVP (AVP Code 100) is of type OctetString and 1740 contains the name of an assigned pool that SHOULD be used to assign 1741 an IPv6 prefix for the user. If the access device does not support 1742 multiple prefix pools, it MUST ignore this AVP. 1744 Although specified as type OctetString for compatibility with RADIUS 1745 [RFC3162], the encoding of the Data field SHOULD also conform to the 1746 rules for the UTF8String Data Format. 1748 4.4.10.6. IPX Access AVPs 1750 The AVPs defined in this section are used when the user requests, or 1751 is being granted, access to an IPX network service [IPX]. 1753 4.4.10.6.1. Framed-IPX-Network AVP 1755 The Framed-IPX-Network AVP (AVP Code 23) is of type Unsigned32 and 1756 contains the IPX Network number to be configured for the user. It 1757 MAY be used in an authorization request as a hint to the server that 1758 a specific address is desired, but the server is not required to 1759 honor the hint in the corresponding response. 1761 Two addresses have special significance: 0xFFFFFFFF and 0xFFFFFFFE. 1762 The value 0xFFFFFFFF indicates that the NAS should allow the user to 1763 select an address (i.e., Negotiated). The value 0xFFFFFFFE indicates 1764 that the NAS should select an address for the user (e.g., assign it 1765 from a pool of one or more IPX networks kept by the NAS). 1767 4.4.10.7. AppleTalk Network Access AVPs 1769 The AVPs defined in this section are used when the user requests, or 1770 is being granted, access to an AppleTalk network [AppleTalk]. 1772 4.4.10.7.1. Framed-AppleTalk-Link AVP 1774 The Framed-AppleTalk-Link AVP (AVP Code 37) is of type Unsigned32 and 1775 contains the AppleTalk network number that should be used for the 1776 serial link to the user, which is another AppleTalk router. This AVP 1777 MUST only be present in an authorization response and is never used 1778 when the user is not another router. 1780 Despite the size of the field, values range from 0 to 65,535. The 1781 special value of 0 indicates an unnumbered serial link. A value of 1 1782 to 65,535 means that the serial line between the NAS and the user 1783 should be assigned that value as an AppleTalk network number. 1785 4.4.10.7.2. Framed-AppleTalk-Network AVP 1787 The Framed-AppleTalk-Network AVP (AVP Code 38) is of type Unsigned32 1788 and contains the AppleTalk Network number that the NAS should probe 1789 to allocate an AppleTalk node for the user. This AVP MUST only be 1790 present in an authorization response and is never used when the user 1791 is not another router. Multiple instances of this AVP indicate that 1792 the NAS may probe, using any of the network numbers specified. 1794 Despite the size of the field, values range from 0 to 65,535. The 1795 special value 0 indicates that the NAS should assign a network for 1796 the user, using its default cable range. A value between 1 and 1797 65,535 (inclusive) indicates to the AppleTalk Network that the NAS 1798 should probe to find an address for the user. 1800 4.4.10.7.3. Framed-AppleTalk-Zone AVP 1802 The Framed-AppleTalk-Zone AVP (AVP Code 39) is of type OctetString 1803 and contains the AppleTalk Default Zone to be used for this user. 1804 This AVP MUST only be present in an authorization response. Multiple 1805 instances of this AVP in the same message are not allowed. 1807 The codification of this field's allowed range is outside the scope 1808 of this specification. 1810 4.4.10.8. AppleTalk Remote Access AVPs 1812 The AVPs defined in this section are used when the user requests, or 1813 is being granted, access to the AppleTalk network via the AppleTalk 1814 Remote Access Protocol [ARAP]. They are only present if the Framed- 1815 Protocol AVP (Section 4.4.10.1) is set to ARAP. Section 2.2 of RFC 1816 2869 describes the operational use of these attributes. 1818 4.4.10.8.1. ARAP-Features AVP 1820 The ARAP-Features AVP (AVP Code 71) is of type OctetString and MAY be 1821 present in the AA-Accept message if the Framed-Protocol AVP is set to 1822 the value of ARAP. See RFC 2869 for more information about the 1823 format of this AVP. 1825 4.4.10.8.2. ARAP-Zone-Access AVP 1827 The ARAP-Zone-Access AVP (AVP Code 72) is of type Enumerated and MAY 1828 be present in the AA-Accept message if the Framed-Protocol AVP is set 1829 to the value of ARAP. 1831 The supported values are listed in [RADIUSAttrVals] and defined in 1832 RFC 2869. 1834 4.4.11. Non-Framed Access Authorization AVPs 1836 This section contains the authorization AVPs that are needed to 1837 support terminal server functionality. AVPs defined in this section 1838 MAY be present in a message if the Service-Type AVP was set to 1839 "Login" or "Callback Login". 1841 4.4.11.1. Login-IP-Host AVP 1843 The Login-IP-Host AVP (AVP Code 14) [RFC2865] is of type OctetString 1844 and contains the IPv4 address of a host with which to connect the 1845 user when the Login-Service AVP is included. It MAY be used in an 1846 AA-Request command as a hint to the Diameter Server that a specific 1847 host is desired, but the Diameter Server is not required to honor the 1848 hint in the AA-Answer. 1850 Two addresses have special significance: all ones and 0. The value 1851 of all ones indicates that the NAS SHOULD allow the user to select an 1852 address. The value 0 indicates that the NAS SHOULD select a host to 1853 connect the user to. 1855 4.4.11.2. Login-IPv6-Host AVP 1857 The Login-IPv6-Host AVP (AVP Code 98) [RFC3162] is of type 1858 OctetString and contains the IPv6 address of a host with which to 1859 connect the user when the Login-Service AVP is included. It MAY be 1860 used in an AA-Request command as a hint to the Diameter Server that a 1861 specific host is desired, but the Diameter Server is not required to 1862 honor the hint in the AA-Answer. 1864 Two addresses have special significance, 1865 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF and 0. The value 1866 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF indicates that the NAS SHOULD 1867 allow the user to select an address. The value 0 indicates that the 1868 NAS SHOULD select a host to connect the user to. 1870 4.4.11.3. Login-Service AVP 1872 The Login-Service AVP (AVP Code 15) is of type Enumerated and 1873 contains the service that should be used to connect the user to the 1874 login host. This AVP SHOULD only be present in authorization 1875 responses. The supported values are listed in RFC 2869. 1877 4.4.11.4. TCP Services 1879 The AVP described in the following section MAY be present if the 1880 Login-Service AVP is set to Telnet, Rlogin, TCP Clear, or TCP Clear 1881 Quiet. 1883 4.4.11.4.1. Login-TCP-Port AVP 1885 The Login-TCP-Port AVP (AVP Code 16) is of type Unsigned32 and 1886 contains the TCP port with which the user is to be connected when the 1887 Login-Service AVP is also present. This AVP SHOULD only be present 1888 in authorization responses. The value MUST NOT be greater than 1889 65,535. 1891 4.4.11.5. LAT Services 1893 The AVPs described in this section MAY be present if the Login- 1894 Service AVP is set to LAT [LAT]. 1896 4.4.11.5.1. Login-LAT-Service AVP 1898 The Login-LAT-Service AVP (AVP Code 34) is of type OctetString and 1899 contains the system with which the user is to be connected by LAT. 1900 It MAY be used in an authorization request as a hint to the server 1901 that a specific service is desired, but the server is not required to 1902 honor the hint in the corresponding response. This AVP MUST only be 1903 present in the response if the Login-Service AVP states that LAT is 1904 desired. 1906 Administrators use this service attribute when dealing with clustered 1907 systems. In these environments, several different time-sharing hosts 1908 share the same resources (disks, printers, etc.), and administrators 1909 often configure each host to offer access (service) to each of the 1910 shared resources. In this case, each host in the cluster advertises 1911 its services through LAT broadcasts. 1913 Sophisticated users often know which service providers (machines) are 1914 faster and tend to use a node name when initiating a LAT connection. 1915 Some administrators want particular users to use certain machines as 1916 a primitive form of load balancing (although LAT knows how to do load 1917 balancing itself). 1919 The String field contains the identity of the LAT service to use. 1920 The LAT Architecture allows this string to contain $ (dollar), - 1921 (hyphen), . (period), _ (underscore), numerics, upper- and lowercase 1922 alphabetics, and the ISO Latin-1 character set extension 1923 [ISO.8859-1.1987]. All LAT string comparisons are case insensitive. 1925 4.4.11.5.2. Login-LAT-Node AVP 1927 The Login-LAT-Node AVP (AVP Code 35) is of type OctetString and 1928 contains the Node with which the user is to be automatically 1929 connected by LAT. It MAY be used in an authorization request as a 1930 hint to the server that a specific LAT node is desired, but the 1931 server is not required to honor the hint in the corresponding 1932 response. This AVP MUST only be present in a response if the Login- 1933 Service-Type AVP is set to LAT. 1935 The String field contains the identity of the LAT service to use. 1936 The LAT Architecture allows this string to contain $ (dollar), - 1937 (hyphen), . (period), _ (underscore), numerics, upper- and lowercase 1938 alphabetics, and the ISO Latin-1 character set extension 1939 [ISO.8859-1.1987]. All LAT string comparisons are case insensitive. 1941 4.4.11.5.3. Login-LAT-Group AVP 1943 The Login-LAT-Group AVP (AVP Code 36) is of type OctetString and 1944 contains a string identifying the LAT group codes this user is 1945 authorized to use. It MAY be used in an authorization request as a 1946 hint to the server that a specific group is desired, but the server 1947 is not required to honor the hint in the corresponding response. 1948 This AVP MUST only be present in a response if the Login-Service-Type 1949 AVP is set to LAT. 1951 LAT supports 256 different group codes, which LAT uses as a form of 1952 access rights. LAT encodes the group codes as a 256-bit bitmap. 1954 Administrators can assign one or more of the group code bits at the 1955 LAT service provider; it will only accept LAT connections that have 1956 these group codes set in the bitmap. The administrators assign a 1957 bitmap of authorized group codes to each user. LAT gets these from 1958 the operating system and uses them in its requests to the service 1959 providers. 1961 The codification of the range of allowed usage of this field is 1962 outside the scope of this specification. 1964 4.4.11.5.4. Login-LAT-Port AVP 1966 The Login-LAT-Port AVP (AVP Code 63) is of type OctetString and 1967 contains the Port with which the user is to be connected by LAT. It 1968 MAY be used in an authorization request as a hint to the server that 1969 a specific port is desired, but the server is not required to honor 1970 the hint in the corresponding response. This AVP MUST only be 1971 present in a response if the Login-Service-Type AVP is set to LAT. 1973 The String field contains the identity of the LAT service to use. 1974 The LAT Architecture allows this string to contain $ (dollar), - 1975 (hyphen), . (period), _ (underscore), numerics, upper- and lower-case 1976 alphabetics, and the ISO Latin-1 character set extension 1977 [ISO.8859-1.1987]. 1979 All LAT string comparisons are case insensitive. 1981 4.5. NAS Tunneling AVPs 1983 Some NASes support compulsory tunnel services in which the incoming 1984 connection data is conveyed by an encapsulation method to a gateway 1985 elsewhere in the network. This is typically transparent to the 1986 service user, and the tunnel characteristics may be described by the 1987 remote AAA server, based on the user's authorization information. 1988 Several tunnel characteristics may be returned, and the NAS 1989 implementation may choose one. See Zorn, et al. [RFC2868] and Zorn, 1990 Aboba & Mitton [RFC2867] for further information. 1992 The following table gives the possible flag values for the session 1993 level AVPs and specifies whether the AVP MAY be encrypted. 1995 +----------+ 1996 | AVP Flag | 1997 | rules | 1998 |----+-----| 1999 |MUST| MUST| 2000 Attribute Name Section Defined | | NOT | 2001 -----------------------------------------|----+-----| 2002 Tunneling 4.5.1 | M | V | 2003 Tunnel-Type 4.5.2 | M | V | 2004 Tunnel-Medium-Type 4.5.3 | M | V | 2005 Tunnel-Client-Endpoint 4.5.4 | M | V | 2006 Tunnel-Server-Endpoint 4.5.5 | M | V | 2007 Tunnel-Password 4.5.6 | M | V | 2008 Tunnel-Private-Group-Id 4.5.7 | M | V | 2009 Tunnel-Assignment-Id 4.5.8 | M | V | 2010 Tunnel-Preference 4.5.9 | M | V | 2011 Tunnel-Client-Auth-Id 4.5.10 | M | V | 2012 Tunnel-Server-Auth-Id 4.5.11 | M | V | 2013 -----------------------------------------|----+-----| 2015 4.5.1. Tunneling AVP 2017 The Tunneling AVP (AVP Code 401) is of type Grouped and contains the 2018 following AVPs, used to describe a compulsory tunnel service 2019 ([RFC2868], [RFC2867]). Its data field has the following ABNF 2020 grammar: 2022 Tunneling ::= < AVP Header: 401 > 2023 { Tunnel-Type } 2024 { Tunnel-Medium-Type } 2025 { Tunnel-Client-Endpoint } 2026 { Tunnel-Server-Endpoint } 2027 [ Tunnel-Preference ] 2028 [ Tunnel-Client-Auth-Id ] 2029 [ Tunnel-Server-Auth-Id ] 2030 [ Tunnel-Assignment-Id ] 2031 [ Tunnel-Password ] 2032 [ Tunnel-Private-Group-Id ] 2034 4.5.2. Tunnel-Type AVP 2036 The Tunnel-Type AVP (AVP Code 64) is of type Enumerated and contains 2037 the tunneling protocol(s) to be used (in the case of a tunnel 2038 initiator) or in use (in the case of a tunnel terminator). It MAY be 2039 used in an authorization request as a hint to the server that a 2040 specific tunnel type is desired, but the server is not required to 2041 honor the hint in the corresponding response. 2043 The Tunnel-Type AVP SHOULD also be included in ACR messages. 2045 A tunnel initiator is not required to implement any of these tunnel 2046 types. If a tunnel initiator receives a response that contains only 2047 unknown or unsupported Tunnel-Types, the tunnel initiator MUST behave 2048 as though a response were received with the Result-Code indicating a 2049 failure. 2051 The supported values are listed in [RADIUSAttrVals]. 2053 4.5.3. Tunnel-Medium-Type AVP 2055 The Tunnel-Medium-Type AVP (AVP Code 65) is of type Enumerated and 2056 contains the transport medium to use when creating a tunnel for 2057 protocols (such as L2TP [RFC3931]) that can operate over multiple 2058 transports. It MAY be used in an authorization request as a hint to 2059 the server that a specific medium is desired, but the server is not 2060 required to honor the hint in the corresponding response. 2062 The supported values are listed in [RADIUSAttrVals]. 2064 4.5.4. Tunnel-Client-Endpoint AVP 2066 The Tunnel-Client-Endpoint AVP (AVP Code 66) is of type UTF8String 2067 and contains the address of the initiator end of the tunnel. It MAY 2068 be used in an authorization request as a hint to the server that a 2069 specific endpoint is desired, but the server is not required to honor 2070 the hint in the corresponding response. This AVP SHOULD be included 2071 in the corresponding ACR messages, in which case it indicates the 2072 address from which the tunnel was initiated. This AVP, along with 2073 the Tunnel-Server-Endpoint (Section 4.5.5) and Session-Id AVPs 2074 ([I-D.ietf-dime-rfc3588bis], Section 8.8), can be used to provide a 2075 globally unique means to identify a tunnel for accounting and 2076 auditingpurposes. 2078 If the value of the Tunnel-Medium-Type AVP (Section 4.5.3) is IPv4 2079 (1), then this string is either the fully qualified domain name 2080 (FQDN) of the tunnel client machine, or a "dotted-decimal" IP 2081 address. Implementations MUST support the dotted-decimal format and 2082 SHOULD support the FQDN format for IP addresses. 2084 If Tunnel-Medium-Type is IPv6 (2), then this string is either the 2085 FQDN of the tunnel client machine, or a text representation of the 2086 address in either the preferred or alternate form [RFC3516]. 2087 Conforming implementations MUST support the preferred form and SHOULD 2088 support both the alternate text form and the FQDN format for IPv6 2089 addresses. 2091 If Tunnel-Medium-Type is neither IPv4 nor IPv6, then this string is a 2092 tag referring to configuration data local to the Diameter client that 2093 describes the interface or medium-specific client address to use. 2095 4.5.5. Tunnel-Server-Endpoint AVP 2097 The Tunnel-Server-Endpoint AVP (AVP Code 67) is of type UTF8String 2098 and contains the address of the server end of the tunnel. It MAY be 2099 used in an authorization request as a hint to the server that a 2100 specific endpoint is desired, but the server is not required to honor 2101 the hint in the corresponding response. 2103 This AVP SHOULD be included in the corresponding ACR messages, in 2104 which case it indicates the address from which the tunnel was 2105 initiated. This AVP, along with the Tunnel-Client-Endpoint 2106 (Section 4.5.4) and Session-Id AVP ([I-D.ietf-dime-rfc3588bis], 2107 Section 8.8), can be used to provide a globally unique means to 2108 identify a tunnel for accounting and auditing purposes. 2110 If Tunnel-Medium-Type is IPv4 (1), then this string is either the 2111 fully qualified domain name (FQDN) of the tunnel server machine, or a 2112 "dotted-decimal" IP address. Implementations MUST support the 2113 dotted-decimal format and SHOULD support the FQDN format for IP 2114 addresses. 2116 If Tunnel-Medium-Type is IPv6 (2), then this string is either the 2117 FQDN of the tunnel server machine, or a text representation of the 2118 address in either the preferred or alternate form [RFC3516]. 2119 Implementations MUST support the preferred form and SHOULD support 2120 both the alternate text form and the FQDN format for IPv6 addresses. 2122 If Tunnel-Medium-Type is not IPv4 or IPv6, this string is a tag 2123 referring to configuration data local to the Diameter client that 2124 describes the interface or medium-specific server address to use. 2126 4.5.6. Tunnel-Password AVP 2128 The Tunnel-Password AVP (AVP Code 69) is of type OctetString and may 2129 contain a password to be used to authenticate to a remote server. 2131 The Tunnel-Password AVP SHOULD NOT be used in untrusted proxy 2132 environments without encrypting it by using end-to-end security 2133 techniques. 2135 4.5.7. Tunnel-Private-Group-Id AVP 2137 The Tunnel-Private-Group-Id AVP (AVP Code 81) is of type OctetString 2138 and contains the group Id for a particular tunneled session. The 2139 Tunnel-Private-Group-Id AVP MAY be included in an authorization 2140 request if the tunnel initiator can predetermine the group resulting 2141 from a particular connection. It SHOULD be included in the 2142 authorization response if this tunnel session is to be treated as 2143 belonging to a particular private group. Private groups may be used 2144 to associate a tunneled session with a particular group of users. 2145 For example, it MAY be used to facilitate routing of unregistered IP 2146 addresses through a particular interface. This AVP SHOULD be 2147 included in the ACR messages that pertain to the tunneled session. 2149 4.5.8. Tunnel-Assignment-Id AVP 2151 The Tunnel-Assignment-Id AVP (AVP Code 82) is of type OctetString and 2152 is used to indicate to the tunnel initiator the particular tunnel to 2153 which a session is to be assigned. Some tunneling protocols, such as 2154 PPTP [RFC2637] and L2TP [RFC3931], allow for sessions between the 2155 same two tunnel endpoints to be multiplexed over the same tunnel and 2156 also for a given session to use its own dedicated tunnel. This 2157 attribute provides a mechanism for Diameter to inform the tunnel 2158 initiator (for example, a LAC) whether to assign the session to a 2159 multiplexed tunnel or to a separate tunnel. Furthermore, it allows 2160 for sessions sharing multiplexed tunnels to be assigned to different 2161 multiplexed tunnels. 2163 A particular tunneling implementation may assign differing 2164 characteristics to particular tunnels. For example, different 2165 tunnels may be assigned different QoS parameters. Such tunnels may 2166 be used to carry either individual or multiple sessions. The Tunnel- 2167 Assignment-Id attribute thus allows the Diameter server to indicate 2168 that a particular session is to be assigned to a tunnel providing an 2169 appropriate level of service. It is expected that any QoS-related 2170 Diameter tunneling attributes defined in the future accompanying this 2171 one will be associated by the tunnel initiator with the Id given by 2172 this attribute. In the meantime, any semantic given to a particular 2173 Id string is a matter left to local configuration in the tunnel 2174 initiator. 2176 The Tunnel-Assignment-Id AVP is of significance only to Diameter and 2177 the tunnel initiator. The Id it specifies is only intended to be of 2178 local use to Diameter and the tunnel initiator. The Id assigned by 2179 the tunnel initiator is not conveyed to the tunnel peer. 2181 This attribute MAY be included in authorization responses. The 2182 tunnel initiator receiving this attribute MAY choose to ignore it and 2183 to assign the session to an arbitrary multiplexed or non-multiplexed 2184 tunnel between the desired endpoints. This AVP SHOULD also be 2185 included in the Accounting-Request messages pertaining to the 2186 tunneled session. 2188 If a tunnel initiator supports the Tunnel-Assignment-Id AVP, then it 2189 should assign a session to a tunnel in the following manner: 2191 o If this AVP is present and a tunnel exists between the specified 2192 endpoints with the specified Id, then the session should be 2193 assigned to that tunnel. 2195 o If this AVP is present and no tunnel exists between the specified 2196 endpoints with the specified Id, then a new tunnel should be 2197 established for the session and the specified Id should be 2198 associated with the new tunnel. 2200 o If this AVP is not present, then the session is assigned to an 2201 unnamed tunnel. If an unnamed tunnel does not yet exist between 2202 the specified endpoints, then it is established and used for this 2203 session and for subsequent ones established without the Tunnel- 2204 Assignment-Id attribute. A tunnel initiator MUST NOT assign a 2205 session for which a Tunnel-Assignment-Id AVP was not specified to 2206 a named tunnel (i.e., one that was initiated by a session 2207 specifying this AVP). 2209 Note that the same Id may be used to name different tunnels if these 2210 tunnels are between different endpoints. 2212 4.5.9. Tunnel-Preference AVP 2214 The Tunnel-Preference AVP (AVP Code 83) is of type Unsigned32 and is 2215 used to identify the relative preference assigned to each tunnel when 2216 more than one set of tunneling AVPs is returned within separate 2217 Grouped-AVP AVPs. It MAY be used in an authorization request as a 2218 hint to the server that a specific preference is desired, but the 2219 server is not required to honor the hint in the corresponding 2220 response. 2222 For example, suppose that AVPs describing two tunnels are returned by 2223 the server, one with a Tunnel-Type of PPTP and the other with a 2224 Tunnel-Type of L2TP. If the tunnel initiator supports only one of 2225 the Tunnel-Types returned, it will initiate a tunnel of that type. 2226 If, however, it supports both tunnel protocols, it SHOULD use the 2227 value of the Tunnel-Preference AVP to decide which tunnel should be 2228 started. The tunnel with the lowest numerical value in the Value 2229 field of this AVP SHOULD be given the highest preference. The values 2230 assigned to two or more instances of the Tunnel-Preference AVP within 2231 a given authorization response MAY be identical. In this case, the 2232 tunnel initiator SHOULD use locally configured metrics to decide 2233 which set of AVPs to use. 2235 4.5.10. Tunnel-Client-Auth-Id AVP 2237 The Tunnel-Client-Auth-Id AVP (AVP Code 90) is of type UTF8String and 2238 specifies the name used by the tunnel initiator during the 2239 authentication phase of tunnel establishment. It MAY be used in an 2240 authorization request as a hint to the server that a specific 2241 preference is desired, but the server is not required to honor the 2242 hint in the corresponding response. This AVP MUST be present in the 2243 authorization response if an authentication name other than the 2244 default is desired. This AVP SHOULD be included in the ACR messages 2245 pertaining to the tunneled session. 2247 4.5.11. Tunnel-Server-Auth-Id AVP 2249 The Tunnel-Server-Auth-Id AVP (AVP Code 91) is of type UTF8String and 2250 specifies the name used by the tunnel terminator during the 2251 authentication phase of tunnel establishment. It MAY be used in an 2252 authorization request as a hint to the server that a specific 2253 preference is desired, but the server is not required to honor the 2254 hint in the corresponding response. This AVP MUST be present in the 2255 authorization response if an authentication name other than the 2256 default is desired. This AVP SHOULD be included in the ACR messages 2257 pertaining to the tunneled session. 2259 4.6. NAS Accounting AVPs 2261 Applications implementing this specification use Diameter Accounting 2262 (as defined in [I-D.ietf-dime-rfc3588bis]) and the AVPs in the 2263 following section. Service-specific AVP usage is defined in the 2264 tables in Section 5. 2266 If accounting is active, Accounting Request (ACR) messages SHOULD be 2267 sent after the completion of any Authentication or Authorization 2268 transaction and at the end of a Session. The value of the 2269 Accounting-Record-Type AVP [I-D.ietf-dime-rfc3588bis] indicates the 2270 type of event. All other AVPs identify the session and provide 2271 additional information relevant to the event. 2273 The successful completion of the first Authentication or 2274 Authorization transaction SHOULD cause a START_RECORD to be sent. If 2275 additional Authentications or Authorizations occur in later 2276 transactions, the first exchange should generate a START_RECORD, and 2277 the later an INTERIM_RECORD. For a given session, there MUST only be 2278 one set of matching START and STOP records, with any number of 2279 INTERIM_RECORDS in between, or one EVENT_RECORD indicating the reason 2280 a session wasn't started. 2282 The following table gives the possible flag values for the session 2283 level AVPs and specifies whether the AVP MAY be encrypted. 2285 +----------+ 2286 | AVP Flag | 2287 | rules | 2288 |----+-----| 2289 Section |MUST| MUST| 2290 Attribute Name Defined | | NOT| 2291 -----------------------------------------|----+-----| 2292 Accounting-Input-Octets 4.6.1 | M | V | 2293 Accounting-Output-Octets 4.6.2 | M | V | 2294 Accounting-Input-Packets 4.6.3 | M | V | 2295 Accounting-Output-Packets 4.6.4 | M | V | 2296 Acct-Session-Time 4.6.5 | M | V | 2297 Acct-Authentic 4.6.6 | M | V | 2298 Accounting-Auth-Method 4.6.7 | M | V | 2299 Acct-Delay-Time 4.6.8 | M | V | 2300 Acct-Link-Count 4.6.9 | M | V | 2301 Acct-Tunnel-Connection 4.6.10 | M | V | 2302 Acct-Tunnel-Packets-Lost 4.6.11 | M | V | 2303 -----------------------------------------|----+-----| 2305 4.6.1. Accounting-Input-Octets AVP 2307 The Accounting-Input-Octets AVP (AVP Code 363) is of type Unsigned64 2308 and contains the number of octets received from the user. 2310 For NAS usage, this AVP indicates how many octets have been received 2311 from the port in the course of this session. It can only be present 2312 in ACR messages with an Accounting-Record-Type 2313 [I-D.ietf-dime-rfc3588bis] of INTERIM_RECORD or STOP_RECORD. 2315 4.6.2. Accounting-Output-Octets AVP 2317 The Accounting-Output-Octets AVP (AVP Code 364) is of type Unsigned64 2318 and contains the number of octets sent to the user. 2320 For NAS usage, this AVP indicates how many octets have been sent to 2321 the port in the course of this session. It can only be present in 2322 ACR messages with an Accounting-Record-Type of INTERIM_RECORD or 2323 STOP_RECORD. 2325 4.6.3. Accounting-Input-Packets AVP 2327 The Accounting-Input-Packets (AVP Code 365) is of type Unsigned64 and 2328 contains the number of packets received from the user. 2330 For NAS usage, this AVP indicates how many packets have been received 2331 from the port over the course of a session being provided to a Framed 2332 User. It can only be present in ACR messages with an Accounting- 2333 Record-Type of INTERIM_RECORD or STOP_RECORD. 2335 4.6.4. Accounting-Output-Packets AVP 2337 The Accounting-Output-Packets (AVP Code 366) is of type Unsigned64 2338 and contains the number of IP packets sent to the user. 2340 For NAS usage, this AVP indicates how many packets have been sent to 2341 the port over the course of a session being provided to a Framed 2342 User. It can only be present in ACR messages with an Accounting- 2343 Record-Type of INTERIM_RECORD or STOP_RECORD. 2345 4.6.5. Acct-Session-Time AVP 2347 The Acct-Session-Time AVP (AVP Code 46) is of type Unsigned32 and 2348 indicates the length of the current session in seconds. It can only 2349 be present in ACR messages with an Accounting-Record-Type of 2350 INTERIM_RECORD or STOP_RECORD. 2352 4.6.6. Acct-Authentic AVP 2354 The Acct-Authentic AVP (AVP Code 45) is of type Enumerated and 2355 specifies how the user was authenticated. The supported values are 2356 listed in [RADIUSAttrVals]. 2358 4.6.7. Accounting-Auth-Method AVP 2360 The Accounting-Auth-Method AVP (AVP Code 406) is of type Enumerated. 2361 A NAS MAY include this AVP in an Accounting-Request message to 2362 indicate the method used to authenticate the user. (Note that this 2363 AVP is semantically equivalent, and the supported values are 2364 identical, to the Microsoft MS-Acct-Auth-Type vendor-specific RADIUS 2365 attribute [RFC2548]). 2367 4.6.8. Acct-Delay-Time AVP 2369 The Acct-Delay-Time AVP (AVP Code 41) is of type Unsigned32 and 2370 indicates the number of seconds the Diameter client has been trying 2371 to send the Accounting-Request (ACR). The accounting server may 2372 subtract this value from the time when the ACR arrives at the server 2373 to calculate the approximate time of the event that caused the ACR to 2374 be generated. 2376 This AVP is not used for retransmissions at the transport level (TCP 2377 or SCTP). Rather, it may be used when an ACR command cannot be 2378 transmitted because there is no appropriate peer to transmit it to or 2379 was rejected because it could not be delivered. In these cases, the 2380 command MAY be buffered and transmitted later, when an appropriate 2381 peer-connection is available or after sufficient time has passed that 2382 the destination-host may be reachable and operational. If the ACR is 2383 re-sent in this way, the Acct-Delay-Time AVP SHOULD be included. The 2384 value of this AVP indicates the number of seconds that elapsed 2385 between the time of the first attempt at transmission and the current 2386 attempt. 2388 4.6.9. Acct-Link-Count AVP 2390 The Acct-Link-Count AVP (AVP Code 51) is of type Unsigned32 and 2391 indicates the total number of links that have been active (current or 2392 closed) in a given multilink session at the time the accounting 2393 record is generated. This AVP MAY be included in Accounting-Requests 2394 for any session that may be part of a multilink service. 2396 The Acct-Link-Count AVP may be used to make it easier for an 2397 accounting server to know when it has all the records for a given 2398 multilink service. When the number of Accounting-Requests received 2399 with Accounting-Record-Type = STOP_RECORD and with the same Acct- 2400 Multi-Session-Id and unique Session-Ids equals the largest value of 2401 Acct-Link-Count seen in those Accounting-Requests, all STOP_RECORD 2402 Accounting-Requests for that multilink service have been received. 2404 The following example, showing eight Accounting-Requests, illustrates 2405 how the Acct-Link-Count AVP is used. In the table below, only the 2406 relevant AVPs are shown, although additional AVPs containing 2407 accounting information will be present in the Accounting-Requests. 2409 Acct-Multi- Accounting- Acct- 2410 Session-Id Session-Id Record-Type Link-Count 2411 -------------------------------------------------------- 2412 "...10" "...10" START_RECORD 1 2413 "...10" "...11" START_RECORD 2 2414 "...10" "...11" STOP_RECORD 2 2415 "...10" "...12" START_RECORD 3 2416 "...10" "...13" START_RECORD 4 2417 "...10" "...12" STOP_RECORD 4 2418 "...10" "...13" STOP_RECORD 4 2419 "...10" "...10" STOP_RECORD 4 2421 4.6.10. Acct-Tunnel-Connection AVP 2423 The Acct-Tunnel-Connection AVP (AVP Code 68) is of type OctetString 2424 and contains the identifier assigned to the tunnel session. This 2425 AVP, along with the Tunnel-Client-Endpoint (Section 4.5.4) and 2426 Tunnel-Server-Endpoint (Section 4.5.5) AVPs, may be used to provide a 2427 means to uniquely identify a tunnel session for auditing purposes. 2429 The format of the identifier in this AVP depends upon the value of 2430 the Tunnel-Type AVP (Section 4.5.2). For example, to identify an 2431 L2TP tunnel connection fully, the L2TP Tunnel Id and Call Id might be 2432 encoded in this field. The exact encoding of this field is 2433 implementation dependent. 2435 4.6.11. Acct-Tunnel-Packets-Lost AVP 2437 The Acct-Tunnel-Packets-Lost AVP (AVP Code 86) is of type Unsigned32 2438 and contains the number of packets lost on a given tunnel. 2440 5. AVP Occurrence Tables 2442 The following tables present the AVPs used by NAS applications in NAS 2443 messages and specify in which Diameter messages they may or may not 2444 be present. Messages and AVPs defined in the base Diameter protocol 2445 [I-D.ietf-dime-rfc3588bis] are not described in this document. Note 2446 that AVPs that can only be present within a Grouped AVP are not 2447 represented in this table. 2449 The tables use the following symbols: 2451 0 The AVP MUST NOT be present in the message. 2452 0+ Zero or more instances of the AVP MAY be present in the 2453 message. 2454 0-1 Zero or one instance of the AVP MAY be present in the 2455 message. 2456 1 Exactly one instance of the AVP MUST be present in the 2457 message. 2459 5.1. AA-Request/Answer AVP Table 2461 The table in this section is limited to the Command Codes defined in 2462 this specification. 2464 +-----------+ 2465 | Command | 2466 |-----+-----+ 2467 AVP Name | AAR | AAA | 2468 ------------------------------|-----+-----+ 2469 Acct-Interim-Interval | 0 | 0-1 | 2470 ARAP-Challenge-Response | 0 | 0-1 | 2471 ARAP-Features | 0 | 0-1 | 2472 ARAP-Password | 0-1 | 0 | 2473 ARAP-Security | 0-1 | 0-1 | 2474 ARAP-Security-Data | 0+ | 0+ | 2475 ARAP-Zone-Access | 0 | 0-1 | 2476 Auth-Application-Id | 1 | 1 | 2477 Auth-Grace-Period | 0-1 | 0-1 | 2478 Auth-Request-Type | 1 | 1 | 2479 Auth-Session-State | 0-1 | 0-1 | 2480 Authorization-Lifetime | 0-1 | 0-1 | 2481 ------------------------------|-----+-----+ 2482 +-----------+ 2483 | Command | 2484 |-----+-----+ 2485 Attribute Name | AAR | AAA | 2486 ------------------------------|-----+-----+ 2487 Callback-Id | 0 | 0-1 | 2488 Callback-Number | 0-1 | 0-1 | 2489 Called-Station-Id | 0-1 | 0 | 2490 Calling-Station-Id | 0-1 | 0 | 2491 CHAP-Auth | 0-1 | 0 | 2492 CHAP-Challenge | 0-1 | 0 | 2493 Class | 0 | 0+ | 2494 Configuration-Token | 0 | 0+ | 2495 Connect-Info | 0+ | 0 | 2496 Destination-Host | 0-1 | 0 | 2497 Destination-Realm | 1 | 0 | 2498 Error-Message | 0 | 0-1 | 2499 Error-Reporting-Host | 0 | 0-1 | 2500 Failed-AVP | 0+ | 0+ | 2501 Filter-Id | 0 | 0+ | 2502 Framed-Appletalk-Link | 0 | 0-1 | 2503 Framed-Appletalk-Network | 0 | 0+ | 2504 Framed-Appletalk-Zone | 0 | 0-1 | 2505 Framed-Compression | 0+ | 0+ | 2506 Framed-Interface-Id | 0-1 | 0-1 | 2507 Framed-IP-Address | 0-1 | 0-1 | 2508 Framed-IP-Netmask | 0-1 | 0-1 | 2509 Framed-IPv6-Prefix | 0+ | 0+ | 2510 Framed-IPv6-Pool | 0 | 0-1 | 2511 Framed-IPv6-Route | 0 | 0+ | 2512 Framed-IPX-Network | 0 | 0-1 | 2513 Framed-MTU | 0-1 | 0-1 | 2514 Framed-Pool | 0 | 0-1 | 2515 Framed-Protocol | 0-1 | 0-1 | 2516 Framed-Route | 0 | 0+ | 2517 Framed-Routing | 0 | 0-1 | 2518 Idle-Timeout | 0 | 0-1 | 2519 Login-IP-Host | 0+ | 0+ | 2520 Login-IPv6-Host | 0+ | 0+ | 2521 Login-LAT-Group | 0-1 | 0-1 | 2522 Login-LAT-Node | 0-1 | 0-1 | 2523 Login-LAT-Port | 0-1 | 0-1 | 2524 Login-LAT-Service | 0-1 | 0-1 | 2525 Login-Service | 0 | 0-1 | 2526 Login-TCP-Port | 0 | 0-1 | 2527 Multi-Round-Time-Out | 0 | 0-1 | 2528 ------------------------------|-----+-----+ 2529 +-----------+ 2530 | Command | 2531 |-----+-----+ 2532 Attribute Name | AAR | AAA | 2533 ------------------------------|-----+-----+ 2534 NAS-Filter-Rule | 0 | 0+ | 2535 NAS-Identifier | 0-1 | 0 | 2536 NAS-IP-Address | 0-1 | 0 | 2537 NAS-IPv6-Address | 0-1 | 0 | 2538 NAS-Port | 0-1 | 0 | 2539 NAS-Port-Id | 0-1 | 0 | 2540 NAS-Port-Type | 0-1 | 0 | 2541 Origin-AAA-Protocol | 0-1 | 0-1 | 2542 Origin-Host | 1 | 1 | 2543 Origin-Realm | 1 | 1 | 2544 Origin-State-Id | 0-1 | 0-1 | 2545 Originating-Line-Info | 0-1 | 0 | 2546 Password-Retry | 0 | 0-1 | 2547 Port-Limit | 0-1 | 0-1 | 2548 Prompt | 0 | 0-1 | 2549 Proxy-Info | 0+ | 0+ | 2550 QoS-Filter-Rule | 0 | 0+ | 2551 Re-Auth-Request-Type | 0 | 0-1 | 2552 Redirect-Host | 0 | 0+ | 2553 Redirect-Host-Usage | 0 | 0-1 | 2554 Redirect-Max-Cache-Time | 0 | 0-1 | 2555 Reply-Message | 0 | 0+ | 2556 Result-Code | 0 | 1 | 2557 Route-Record | 0+ | 0 | 2558 Service-Type | 0-1 | 0-1 | 2559 Session-Id | 1 | 1 | 2560 Session-Timeout | 0 | 0-1 | 2561 State | 0-1 | 0-1 | 2562 Tunneling | 0+ | 0+ | 2563 User-Name | 0-1 | 0-1 | 2564 User-Password | 0-1 | 0 | 2565 ------------------------------|-----+-----+ 2567 5.2. Accounting AVP Tables 2569 The tables in this section are used to show which AVPs defined in 2570 this document are to be present and used in NAS application 2571 Accounting messages. These AVPs are defined in this document, as 2572 well as in [I-D.ietf-dime-rfc3588bis] and [RFC2866]. 2574 5.2.1. Framed Access Accounting AVP Table 2576 The table in this section is used when the Service-Type AVP 2577 (Section 4.4.1) specifies Framed Access. 2579 +-----------+ 2580 | Command | 2581 |-----+-----+ 2582 Attribute Name | ACR | ACA | 2583 ---------------------------------------|-----+-----+ 2584 Accounting-Auth-Method | 0-1 | 0 | 2585 Accounting-Input-Octets | 1 | 0 | 2586 Accounting-Input-Packets | 1 | 0 | 2587 Accounting-Output-Octets | 1 | 0 | 2588 Accounting-Output-Packets | 1 | 0 | 2589 Accounting-Record-Number | 0-1 | 0-1 | 2590 Accounting-Record-Type | 1 | 1 | 2591 Accounting-Realtime-Required | 0-1 | 0-1 | 2592 Accounting-Sub-Session-Id | 0-1 | 0-1 | 2593 Acct-Application-Id | 0-1 | 0-1 | 2594 Acct-Session-Id | 1 | 0-1 | 2595 Acct-Multi-Session-Id | 0-1 | 0-1 | 2596 Acct-Authentic | 1 | 0 | 2597 Acct-Delay-Time | 0-1 | 0 | 2598 Acct-Interim-Interval | 0-1 | 0-1 | 2599 Acct-Link-Count | 0-1 | 0 | 2600 Acct-Session-Time | 1 | 0 | 2601 Acct-Tunnel-Connection | 0-1 | 0 | 2602 Acct-Tunnel-Packets-Lost | 0-1 | 0 | 2603 Authorization-Lifetime | 0-1 | 0 | 2604 Callback-Id | 0-1 | 0 | 2605 Callback-Number | 0-1 | 0 | 2606 Called-Station-Id | 0-1 | 0 | 2607 Calling-Station-Id | 0-1 | 0 | 2608 Class | 0+ | 0+ | 2609 Connection-Info | 0+ | 0 | 2610 Destination-Host | 0-1 | 0 | 2611 Destination-Realm | 1 | 0 | 2612 Event-Timestamp | 0-1 | 0-1 | 2613 Error-Message | 0 | 0-1 | 2614 Error-Reporting-Host | 0 | 0-1 | 2615 Failed-AVP | 0 | 0+ | 2616 ---------------------------------------|-----+-----+ 2617 +-----------+ 2618 | Command | 2619 |-----+-----+ 2620 Attribute Name | ACR | ACA | 2621 ---------------------------------------|-----+-----+ 2622 Framed-AppleTalk-Link | 0-1 | 0 | 2623 Framed-AppleTalk-Network | 0-1 | 0 | 2624 Framed-AppleTalk-Zone | 0-1 | 0 | 2625 Framed-Compression | 0-1 | 0 | 2626 Framed-IP-Address | 0-1 | 0 | 2627 Framed-IP-Netmask | 0-1 | 0 | 2628 Framed-IPv6-Prefix | 0+ | 0 | 2629 Framed-IPv6-Pool | 0-1 | 0 | 2630 Framed-IPX-Network | 0-1 | 0 | 2631 Framed-MTU | 0-1 | 0 | 2632 Framed-Pool | 0-1 | 0 | 2633 Framed-Protocol | 0-1 | 0 | 2634 Framed-Route | 0-1 | 0 | 2635 Framed-Routing | 0-1 | 0 | 2636 NAS-Filter-Rule | 0+ | 0 | 2637 NAS-Identifier | 0-1 | 0-1 | 2638 NAS-IP-Address | 0-1 | 0-1 | 2639 NAS-IPv6-Address | 0-1 | 0-1 | 2640 NAS-Port | 0-1 | 0-1 | 2641 NAS-Port-Id | 0-1 | 0-1 | 2642 NAS-Port-Type | 0-1 | 0-1 | 2643 Origin-AAA-Protocol | 0-1 | 0-1 | 2644 Origin-Host | 1 | 1 | 2645 Origin-Realm | 1 | 1 | 2646 Origin-State-Id | 0-1 | 0-1 | 2647 Originating-Line-Info | 0-1 | 0 | 2648 Proxy-Info | 0+ | 0+ | 2649 QoS-Filter-Rule | 0+ | 0 | 2650 Route-Record | 0+ | 0 | 2651 Result-Code | 0 | 1 | 2652 Service-Type | 0-1 | 0-1 | 2653 Session-Id | 1 | 1 | 2654 Termination-Cause | 0-1 | 0-1 | 2655 Tunnel-Assignment-Id | 0-1 | 0 | 2656 Tunnel-Client-Endpoint | 0-1 | 0 | 2657 Tunnel-Medium-Type | 0-1 | 0 | 2658 Tunnel-Private-Group-Id | 0-1 | 0 | 2659 Tunnel-Server-Endpoint | 0-1 | 0 | 2660 Tunnel-Type | 0-1 | 0 | 2661 User-Name | 0-1 | 0-1 | 2662 ---------------------------------------|-----+-----+ 2664 5.2.2. Non-Framed Access Accounting AVP Table 2666 The table in this section is used when the Service-Type AVP 2667 (Section 4.4.1) specifies Non-Framed Access. 2669 +-----------+ 2670 | Command | 2671 |-----+-----+ 2672 Attribute Name | ACR | ACA | 2673 ---------------------------------------|-----+-----+ 2674 Accounting-Auth-Method | 0-1 | 0 | 2675 Accounting-Input-Octets | 1 | 0 | 2676 Accounting-Output-Octets | 1 | 0 | 2677 Accounting-Record-Type | 1 | 1 | 2678 Accounting-Record-Number | 0-1 | 0-1 | 2679 Accounting-Realtime-Required | 0-1 | 0-1 | 2680 Accounting-Sub-Session-Id | 0-1 | 0-1 | 2681 Acct-Application-Id | 0-1 | 0-1 | 2682 Acct-Session-Id | 1 | 0-1 | 2683 Acct-Multi-Session-Id | 0-1 | 0-1 | 2684 Acct-Authentic | 1 | 0 | 2685 Acct-Delay-Time | 0-1 | 0 | 2686 Acct-Interim-Interval | 0-1 | 0-1 | 2687 Acct-Link-Count | 0-1 | 0 | 2688 Acct-Session-Time | 1 | 0 | 2689 Authorization-Lifetime | 0-1 | 0 | 2690 Callback-Id | 0-1 | 0 | 2691 Callback-Number | 0-1 | 0 | 2692 Called-Station-Id | 0-1 | 0 | 2693 Calling-Station-Id | 0-1 | 0 | 2694 Class | 0+ | 0+ | 2695 Connection-Info | 0+ | 0 | 2696 Destination-Host | 0-1 | 0 | 2697 Destination-Realm | 1 | 0 | 2698 Event-Timestamp | 0-1 | 0-1 | 2699 Error-Message | 0 | 0-1 | 2700 Error-Reporting-Host | 0 | 0-1 | 2701 Failed-AVP | 0 | 0+ | 2702 Login-IP-Host | 0+ | 0 | 2703 Login-IPv6-Host | 0+ | 0 | 2704 Login-LAT-Service | 0-1 | 0 | 2705 Login-LAT-Node | 0-1 | 0 | 2706 Login-LAT-Group | 0-1 | 0 | 2707 Login-LAT-Port | 0-1 | 0 | 2708 Login-Service | 0-1 | 0 | 2709 Login-TCP-Port | 0-1 | 0 | 2710 ---------------------------------------|-----+-----+ 2711 +-----------+ 2712 | Command | 2713 |-----+-----+ 2714 Attribute Name | ACR | ACA | 2715 ---------------------------------------|-----+-----+ 2716 NAS-Identifier | 0-1 | 0-1 | 2717 NAS-IP-Address | 0-1 | 0-1 | 2718 NAS-IPv6-Address | 0-1 | 0-1 | 2719 NAS-Port | 0-1 | 0-1 | 2720 NAS-Port-Id | 0-1 | 0-1 | 2721 NAS-Port-Type | 0-1 | 0-1 | 2722 Origin-AAA-Protocol | 0-1 | 0-1 | 2723 Origin-Host | 1 | 1 | 2724 Origin-Realm | 1 | 1 | 2725 Origin-State-Id | 0-1 | 0-1 | 2726 Originating-Line-Info | 0-1 | 0 | 2727 Proxy-Info | 0+ | 0+ | 2728 QoS-Filter-Rule | 0+ | 0 | 2729 Route-Record | 0+ | 0 | 2730 Result-Code | 0 | 1 | 2731 Session-Id | 1 | 1 | 2732 Service-Type | 0-1 | 0-1 | 2733 Termination-Cause | 0-1 | 0-1 | 2734 User-Name | 0-1 | 0-1 | 2735 ---------------------------------------|-----+-----+ 2737 6. IANA Considerations 2739 Several of the namespaces used in this document are managed by the 2740 Internet Assigned Numbers Authority [IANA], including the AVP Codes 2741 [AVP-Codes], AVP Specific Values [AVP-Vals], Application IDs 2742 [App-Ids], Command Codes [Command-Codes] and RADIUS Attribute Values 2743 [RADIUSAttrVals]. 2745 For the current values allocated, and the policies governing 2746 allocation in those namespaces, please see the above-referenced 2747 registries. 2749 7. Security Considerations 2751 This document describes the extension of Diameter for the NAS 2752 application. The security considerations of the Diameter protocol 2753 itself are discussed in [I-D.ietf-dime-rfc3588bis]. Use of this 2754 application of Diameter MUST take into consideration the security 2755 issues and requirements of the Base protocol. 2757 The use of the User-Password (Section 4.3.1) and Tunnel-Password 2758 (Section 4.5.6) AVPs is not safe in the absence of end-to-end 2759 security; however, end-to-end security for the Diameter protocol is 2760 outside the scope of this document. 2762 This document does not contain a security protocol but does discuss 2763 how PPP authentication protocols can be carried within the Diameter 2764 protocol. The PPP authentication protocols described are PAP and 2765 CHAP. 2767 The use of PAP SHOULD be discouraged, as it exposes users' passwords 2768 to possibly non-trusted entities. However, PAP is also frequently 2769 used for use with One-Time Passwords, which do not expose a security 2770 risk. 2772 This document also describes how CHAP can be carried within the 2773 Diameter protocol, which is required for RADIUS backward 2774 compatibility. The CHAP protocol, as used in a RADIUS environment, 2775 facilitates authentication replay attacks. 2777 The use of the EAP authentication protocols [RFC4072] can offer 2778 better security, given a method suitable for the circumstances. 2780 8. References 2782 8.1. Normative References 2784 [ANITypes] NANPA Number Resource Info, "ANI 2785 Assignments", . 2789 [I-D.ietf-dime-rfc3588bis] Fajardo, V., Arkko, J., Loughney, J., and 2790 G. Zorn, "Diameter Base Protocol", 2791 draft-ietf-dime-rfc3588bis-34 (work in 2792 progress), June 2012. 2794 [RFC1994] Simpson, W., "PPP Challenge Handshake 2795 Authentication Protocol (CHAP)", 2796 RFC 1994, August 1996. 2798 [RFC2119] Bradner, S., "Key words for use in RFCs 2799 to Indicate Requirement Levels", BCP 14, 2800 RFC 2119, March 1997. 2802 [RFC2865] Rigney, C., Willens, S., Rubens, A., and 2803 W. Simpson, "Remote Authentication Dial 2804 In User Service (RADIUS)", RFC 2865, 2805 June 2000. 2807 [RFC3162] Aboba, B., Zorn, G., and D. Mitton, 2808 "RADIUS and IPv6", RFC 3162, August 2001. 2810 [RFC3516] Nerenberg, L., "IMAP4 Binary Content 2811 Extension", RFC 3516, April 2003. 2813 [RFC3539] Aboba, B. and J. Wood, "Authentication, 2814 Authorization and Accounting (AAA) 2815 Transport Profile", RFC 3539, June 2003. 2817 8.2. Informative References 2819 [ARAP] Apple Computer, "Apple Remote Access 2820 Protocol (ARAP) Version 2.0 External 2821 Reference Specification", R0612LL/B , 2822 September 1994. 2824 [AVP-Codes] "IANA AAA AVP Codes Registry", . 2828 [AVP-Vals] "IANA AAA AVP Specific Values", . 2832 [App-Ids] "IANA AAA Application IDs Registry", . 2837 [AppleTalk] Sidhu, G., Andrews, R., and A. 2838 Oppenheimer, "Inside AppleTalk", Second 2839 Edition Apple Computer, 1990. 2841 [Command-Codes] "IANA AAA Command Codes Registry", . 2846 [IANA] "Internet Assigned Numbers Authority", 2847 . 2849 [IPX] Novell, Inc., "NetWare System Technical 2850 Interface Overview", #883-000780-001, 2851 June 1989. 2853 [ISO.8859-1.1987] International Organization for 2854 Standardization, "Information technology 2855 - 8-bit single byte coded graphic - 2856 character sets - Part 1: Latin alphabet 2857 No. 1, JTC1/SC2", ISO Standard 8859-1, 2858 1987. 2860 [LAT] Digital Equipment Corp., "Local Area 2861 Transport (LAT) Specification V5.0", AA- 2862 NL26A-TE, June 1989. 2864 [RADIUSAttrVals] IANA, "IANA Radius Attribute Values 2865 Registry", . 2869 [RFC1334] Lloyd, B. and W. Simpson, "PPP 2870 Authentication Protocols", RFC 1334, 2871 October 1992. 2873 [RFC1661] Simpson, W., "The Point-to-Point Protocol 2874 (PPP)", STD 51, RFC 1661, July 1994. 2876 [RFC1990] Sklower, K., Lloyd, B., McGregor, G., 2877 Carr, D., and T. Coradetti, "The PPP 2878 Multilink Protocol (MP)", RFC 1990, 2879 August 1996. 2881 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. 2882 Black, "Definition of the Differentiated 2883 Services Field (DS Field) in the IPv4 and 2884 IPv6 Headers", RFC 2474, December 1998. 2886 [RFC2548] Zorn, G., "Microsoft Vendor-specific 2887 RADIUS Attributes", RFC 2548, March 1999. 2889 [RFC2597] Heinanen, J., Baker, F., Weiss, W., and 2890 J. Wroclawski, "Assured Forwarding PHB 2891 Group", RFC 2597, June 1999. 2893 [RFC2637] Hamzeh, K., Pall, G., Verthein, W., 2894 Taarud, J., Little, W., and G. Zorn, 2895 "Point-to-Point Tunneling Protocol", 2896 RFC 2637, July 1999. 2898 [RFC2866] Rigney, C., "RADIUS Accounting", 2899 RFC 2866, June 2000. 2901 [RFC2867] Zorn, G., Aboba, B., and D. Mitton, 2902 "RADIUS Accounting Modifications for 2903 Tunnel Protocol Support", RFC 2867, 2904 June 2000. 2906 [RFC2868] Zorn, G., Leifer, D., Rubens, A., 2907 Shriver, J., Holdrege, M., and I. Goyret, 2908 "RADIUS Attributes for Tunnel Protocol 2909 Support", RFC 2868, June 2000. 2911 [RFC2869] Rigney, C., Willats, W., and P. Calhoun, 2912 "RADIUS Extensions", RFC 2869, June 2000. 2914 [RFC2881] Mitton, D. and M. Beadles, "Network 2915 Access Server Requirements Next 2916 Generation (NASREQNG) NAS Model", 2917 RFC 2881, July 2000. 2919 [RFC2989] Aboba, B., Calhoun, P., Glass, S., 2920 Hiller, T., McCann, P., Shiino, H., 2921 Walsh, P., Zorn, G., Dommety, G., 2922 Perkins, C., Patil, B., Mitton, D., 2923 Manning, S., Beadles, M., Chen, X., 2924 Sivalingham, S., Hameed, A., Munson, M., 2925 Jacobs, S., Lim, B., Hirschman, B., Hsu, 2926 R., Koo, H., Lipford, M., Campbell, E., 2927 Xu, Y., Baba, S., and E. Jaques, 2928 "Criteria for Evaluating AAA Protocols 2929 for Network Access", RFC 2989, 2930 November 2000. 2932 [RFC3169] Beadles, M. and D. Mitton, "Criteria for 2933 Evaluating Network Access Server 2934 Protocols", RFC 3169, September 2001. 2936 [RFC3246] Davie, B., Charny, A., Bennet, J., 2937 Benson, K., Le Boudec, J., Courtney, W., 2938 Davari, S., Firoiu, V., and D. Stiliadis, 2939 "An Expedited Forwarding PHB (Per-Hop 2940 Behavior)", RFC 3246, March 2002. 2942 [RFC3580] Congdon, P., Aboba, B., Smith, A., Zorn, 2943 G., and J. Roese, "IEEE 802.1X Remote 2944 Authentication Dial In User Service 2945 (RADIUS) Usage Guidelines", RFC 3580, 2946 September 2003. 2948 [RFC3931] Lau, J., Townsley, M., and I. Goyret, 2949 "Layer Two Tunneling Protocol - Version 3 2950 (L2TPv3)", RFC 3931, March 2005. 2952 [RFC4072] Eronen, P., Hiller, T., and G. Zorn, 2953 "Diameter Extensible Authentication 2954 Protocol (EAP) Application", RFC 4072, 2955 August 2005. 2957 [RFC4301] Kent, S. and K. Seo, "Security 2958 Architecture for the Internet Protocol", 2959 RFC 4301, December 2005. 2961 [RFC5246] Dierks, T. and E. Rescorla, "The 2962 Transport Layer Security (TLS) Protocol 2963 Version 1.2", RFC 5246, August 2008. 2965 [RFC5777] Korhonen, J., Tschofenig, H., 2966 Arumaithurai, M., Jones, M., and A. Lior, 2967 "Traffic Classification and Quality of 2968 Service (QoS) Attributes for Diameter", 2969 RFC 5777, February 2010. 2971 Appendix A. Acknowledgements 2973 A.1. RFC 4005 2975 The authors would like to thank Carl Rigney, Allan C. Rubens, William 2976 Allen Simpson, and Steve Willens for their work on the original 2977 RADIUS protocol, from which many of the concepts in this 2978 specification were derived. Thanks, also, to Carl Rigney for 2979 [RFC2866] and [RFC2869]; Ward Willats for [RFC2869]; Glen Zorn, 2980 Bernard Aboba, and Dave Mitton for [RFC2867] and [RFC3162]; and Dory 2981 Leifer, John Shriver, Matt Holdrege, Allan Rubens, Glen Zorn and 2982 Ignacio Goyret for their work on [RFC2868]. This document stole text 2983 and concepts from both [RFC2868] and [RFC2869]. Thanks go to Carl 2984 Williams for providing IPv6-specific text. 2986 The authors would also like to acknowledge the following people for 2987 their contributions in the development of the Diameter protocol: 2988 Bernard Aboba, Jari Arkko, William Bulley, Kuntal Chowdhury, Daniel 2989 C. Fox, Lol Grant, Nancy Greene, Jeff Hagg, Peter Heitman, Paul 2990 Krumviede, Fergal Ladley, Ryan Moats, Victor Muslin, Kenneth Peirce, 2991 Sumit Vakil, John R. Vollbrecht, and Jeff Weisberg. 2993 Finally, Pat Calhoun would like to thank Sun Microsystems, as most of 2994 the effort put into this document was done while he was in their 2995 employ. 2997 A.2. RFC 4005bis 2999 The vast majority of the text in this document was taken directly 3000 from RFC 4005; the editor owes a debt of gratitude to the authors 3001 thereof (especially Dave Mitton, who somehow managed to make nroff 3002 paginate the AVP Occurance Tables correctly!). 3004 Thanks (in no particular order) to Jai-Jin Lim, Liu Hans, Sebastien 3005 Decugis, Jouni Korhonen, Mark Jones, Hannes Tschofenig and Stefan 3006 Winter for their useful reviews and helpful comments. 3008 Author's Address 3010 Glen Zorn (editor) 3011 Network Zen 3012 227/358 Thanon Sanphawut 3013 Bang Na, Bangkok 10260 3014 Thailand 3016 Phone: +66 (0) 87-040-4617 3017 EMail: glenzorn@gmail.com