Tech-invite3GPPspaceIETFspace
96959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 4005

Diameter Network Access Server Application

Pages: 85
Obsoleted by:  7155
Part 1 of 4 – Pages 1 to 20
None   None   Next

ToP   noToC   RFC4005 - Page 1
Network Working Group                                         P. Calhoun
Request for Comments: 4005                                       G. Zorn
Category: Standards Track                             Cisco Systems Inc.
                                                               D. Spence
                                                              Consultant
                                                               D. Mitton
                                                       Circular Networks
                                                             August 2005


               Diameter Network Access Server Application

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

This document describes the Diameter protocol application used for Authentication, Authorization, and Accounting (AAA) services in the Network Access Server (NAS) environment. When combined with the Diameter Base protocol, Transport Profile, and Extensible Authentication Protocol specifications, this application specification satisfies typical network access services requirements. Initial deployments of the Diameter protocol are expected to include legacy systems. Therefore, this application has been carefully designed to ease the burden of protocol conversion between RADIUS and Diameter. This is achieved by including the RADIUS attribute space to eliminate the need to perform many attribute translations. The interactions between Diameter applications and RADIUS specified in this document are to be applied to all Diameter applications. In this sense, this document extends the Base Diameter protocol.
ToP   noToC   RFC4005 - Page 2

Table of Contents

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . 5 1.2. Requirements Language . . . . . . . . . . . . . . . . . 6 1.3. Advertising Application Support . . . . . . . . . . . . 6 2. NAS Calls, Ports, and Sessions . . . . . . . . . . . . . . . . 6 2.1. Diameter Session Establishment . . . . . . . . . . . . . 7 2.2. Diameter Session Reauthentication or Reauthorization . . 7 2.3. Diameter Session Termination . . . . . . . . . . . . . . 8 3. NAS Messages . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1. AA-Request (AAR) Command . . . . . . . . . . . . . . . . 9 3.2. AA-Answer (AAA) Command . . . . . . . . . . . . . . . . 11 3.3. Re-Auth-Request (RAR) Command . . . . . . . . . . . . . 13 3.4. Re-Auth-Answer (RAA) Command . . . . . . . . . . . . . . 14 3.5. Session-Termination-Request (STR) Command . . . . . . . 15 3.6. Session-Termination-Answer (STA) Command . . . . . . . . 15 3.7. Abort-Session-Request (ASR) Command . . . . . . . . . . 16 3.8. Abort-Session-Answer (ASA) Command . . . . . . . . . . . 17 3.9. Accounting-Request (ACR) Command . . . . . . . . . . . . 17 3.10. Accounting-Answer (ACA) Command. . . . . . . . . . . . . 19 4. NAS Session AVPs . . . . . . . . . . . . . . . . . . . . . . . 20 4.1. Call and Session Information . . . . . . . . . . . . . . 21 4.2. NAS-Port AVP . . . . . . . . . . . . . . . . . . . . . . 22 4.3. NAS-Port-Id AVP . . . . . . . . . . . . . . . . . . . . 22 4.4. NAS-Port-Type AVP . . . . . . . . . . . . . . . . . . . 22 4.5. Called-Station-Id AVP . . . . . . . . . . . . . . . . . 23 4.6. Calling-Station-Id AVP . . . . . . . . . . . . . . . . . 23 4.7. Connect-Info AVP . . . . . . . . . . . . . . . . . . . . 24 4.8. Originating-Line-Info AVP . . . . . . . . . . . . . . . 24 4.9. Reply-Message AVP . . . . . . . . . . . . . . . . . . . 25 5. NAS Authentication AVPs . . . . . . . . . . . . . . . . . . . 26 5.1. User-Password AVP . . . . . . . . . . . . . . . . . . . 26 5.2. Password-Retry AVP . . . . . . . . . . . . . . . . . . . 27 5.3. Prompt AVP . . . . . . . . . . . . . . . . . . . . . . . 27 5.4. CHAP-Auth AVP . . . . . . . . . . . . . . . . . . . . . 27 5.5. CHAP-Algorithm AVP . . . . . . . . . . . . . . . . . . . 28 5.6. CHAP-Ident AVP . . . . . . . . . . . . . . . . . . . . . 28 5.7. CHAP-Response AVP . . . . . . . . . . . . . . . . . . . 28 5.8. CHAP-Challenge AVP . . . . . . . . . . . . . . . . . . . 28 5.9. ARAP-Password AVP . . . . . . . . . . . . . . . . . . . 28 5.10. ARAP-Challenge-Response AVP. . . . . . . . . . . . . . . 28 5.11. ARAP-Security AVP. . . . . . . . . . . . . . . . . . . . 29 5.12. ARAP-Security-Data AVP . . . . . . . . . . . . . . . . . 29 6. NAS Authorization AVPs . . . . . . . . . . . . . . . . . . . . 29 6.1. Service-Type AVP . . . . . . . . . . . . . . . . . . . . 30 6.2. Callback-Number AVP . . . . . . . . . . . . . . . . . . 32 6.3. Callback-Id AVP . . . . . . . . . . . . . . . . . . . . 32
ToP   noToC   RFC4005 - Page 3
       6.4.  Idle-Timeout AVP . . . . . . . . . . . . . . . . . . . . 32
       6.5.  Port-Limit AVP . . . . . . . . . . . . . . . . . . . . . 32
       6.6.  NAS-Filter-Rule AVP  . . . . . . . . . . . . . . . . . . 32
       6.7.  Filter-Id AVP  . . . . . . . . . . . . . . . . . . . . . 33
       6.8.  Configuration-Token AVP  . . . . . . . . . . . . . . . . 33
       6.9.  QoS-Filter-Rule AVP  . . . . . . . . . . . . . . . . . . 33
       6.10. Framed Access Authorization AVPs . . . . . . . . . . . . 35
             6.10.1.  Framed-Protocol AVP . . . . . . . . . . . . . . 35
             6.10.2.  Framed-Routing AVP. . . . . . . . . . . . . . . 35
             6.10.3.  Framed-MTU AVP. . . . . . . . . . . . . . . . . 35
             6.10.4.  Framed-Compression AVP. . . . . . . . . . . . . 36
       6.11. IP Access Authorization AVPs.. . . . . . . . . . . . . . 36
             6.11.1.  Framed-IP-Address AVP . . . . . . . . . . . . . 36
             6.11.2.  Framed-IP-Netmask AVP . . . . . . . . . . . . . 36
             6.11.3.  Framed-Route AVP. . . . . . . . . . . . . . . . 37
             6.11.4.  Framed-Pool AVP . . . . . . . . . . . . . . . . 37
             6.11.5.  Framed-Interface-Id AVP . . . . . . . . . . . . 37
             6.11.6.  Framed-IPv6-Prefix AVP. . . . . . . . . . . . . 38
             6.11.7.  Framed-IPv6-Route AVP . . . . . . . . . . . . . 38
             6.11.8.  Framed-IPv6-Pool AVP. . . . . . . . . . . . . . 38
       6.12. IPX Access . . . . . . . . . . . . . . . . . . . . . . . 38
             6.12.1.  Framed-IPX-Network AVP. . . . . . . . . . . . . 39
       6.13. AppleTalk Network Access . . . . . . . . . . . . . . . . 39
             6.13.1.  Framed-AppleTalk-Link AVP . . . . . . . . . . . 39
             6.13.2.  Framed-AppleTalk-Network AVP . . . . . . . . .  39
             6.13.3.  Framed-AppleTalk-Zone AVP . . . . . . . . . . . 40
       6.14. AppleTalk Remote Access. . . . . . . . . . . . . . . . . 40
             6.14.1.  ARAP-Features AVP . . . . . . . . . . . . . . . 40
             6.14.2.  ARAP-Zone-Access AVP. . . . . . . . . . . . . . 40
       6.15. Non-Framed Access Authorization AVPs . . . . . . . . . . 40
             6.15.1.  Login-IP-Host AVP . . . . . . . . . . . . . . . 40
             6.15.2.  Login-IPv6-Host AVP . . . . . . . . . . . . . . 41
             6.15.3.  Login-Service AVP . . . . . . . . . . . . . . . 41
       6.16. TCP Services . . . . . . . . . . . . . . . . . . . . . . 42
             6.16.1.  Login-TCP-Port AVP . . . . . . . . . . . . . .  42
       6.17. LAT Services . . . . . . . . . . . . . . . . . . . . . . 42
             6.17.1.  Login-LAT-Service AVP . . . . . . . . . . . . . 42
             6.17.2.  Login-LAT-Node AVP. . . . . . . . . . . . . . . 43
             6.17.3.  Login-LAT-Group AVP . . . . . . . . . . . . . . 43
             6.17.4.  Login-LAT-Port AVP. . . . . . . . . . . . . . . 43
   7.  NAS Tunneling  . . . . . . . . . . . . . . . . . . . . . . . . 44
       7.1.  Tunneling AVP  . . . . . . . . . . . . . . . . . . . . . 44
       7.2.  Tunnel-Type AVP  . . . . . . . . . . . . . . . . . . . . 45
       7.3.  Tunnel-Medium-Type AVP . . . . . . . . . . . . . . . . . 46
       7.4.  Tunnel-Client-Endpoint AVP . . . . . . . . . . . . . . . 46
       7.5.  Tunnel-Server-Endpoint AVP . . . . . . . . . . . . . . . 47
       7.6.  Tunnel-Password AVP  . . . . . . . . . . . . . . . . . . 48
       7.7.  Tunnel-Private-Group-Id AVP  . . . . . . . . . . . . . . 48
ToP   noToC   RFC4005 - Page 4
       7.8.  Tunnel-Assignment-Id AVP . . . . . . . . . . . . . . . . 48
       7.9.  Tunnel-Preference AVP  . . . . . . . . . . . . . . . . . 49
       7.10. Tunnel-Client-Auth-Id AVP. . . . . . . . . . . . . . . . 50
       7.11. Tunnel-Server-Auth-Id AVP. . . . . . . . . . . . . . . . 50
   8.  NAS Accounting . . . . . . . . . . . . . . . . . . . . . . . . 50
       8.1.  Accounting-Input-Octets AVP  . . . . . . . . . . . . . . 51
       8.2.  Accounting-Output-Octets AVP . . . . . . . . . . . . . . 52
       8.3.  Accounting-Input-Packets AVP . . . . . . . . . . . . . . 52
       8.4.  Accounting-Output-Packets AVP  . . . . . . . . . . . . . 52
       8.5.  Acct-Session-Time AVP  . . . . . . . . . . . . . . . . . 52
       8.6.  Acct-Authentic AVP . . . . . . . . . . . . . . . . . . . 52
       8.7.  Accounting-Auth-Method AVP . . . . . . . . . . . . . . . 53
       8.8.  Acct-Delay-Time  . . . . . . . . . . . . . . . . . . . . 53
       8.9.  Acct-Link-Count  . . . . . . . . . . . . . . . . . . . . 54
       8.10. Acct-Tunnel-Connection AVP . . . . . . . . . . . . . . . 54
       8.11. Acct-Tunnel-Packets-Lost AVP . . . . . . . . . . . . . . 55
   9.  RADIUS/Diameter Protocol Interactions  . . . . . . . . . . . . 55
       9.1.  RADIUS Request Forwarded as Diameter Request . . . . . . 55
             9.1.1.   RADIUS Dynamic Authorization Considerations . . 59
       9.2.  Diameter Request Forwarded as RADIUS Request . . . . . . 60
             9.2.1.   RADIUS Dynamic Authorization Considerations . . 62
       9.3.  AVPs Used Only for Compatibility . . . . . . . . . . . . 63
             9.3.1.   NAS-Identifier AVP. . . . . . . . . . . . . . . 63
             9.3.2.   NAS-IP-Address AVP. . . . . . . . . . . . . . . 64
             9.3.3.   NAS-IPv6-Address AVP. . . . . . . . . . . . . . 65
             9.3.4.   State AVP . . . . . . . . . . . . . . . . . . . 65
             9.3.5.   Termination-Cause AVP Code Values . . . . . . . 66
             9.3.6.   Origin-AAA-Protocol . . . . . . . . . . . . . . 68
       9.4.  Prohibited RADIUS Attributes . . . . . . . . . . . . . . 69
       9.5.  Translatable Diameter AVPs . . . . . . . . . . . . . . . 69
       9.6.  RADIUS Vendor-Specific Attributes  . . . . . . . . . . . 69
             9.6.1.  Forwarding a Diameter Vendor Specific AVP as a
                     RADIUS VSA . . . . . . . . . . . . . . . . . . . 70
             9.6.2.  Forwarding a RADIUS VSA as a Diameter Vendor
                     Specific AVP . . . . . . . . . . . . . . . . . . 70
   10. AVP Occurrence Tables. . . . . . . . . . . . . . . . . . . . . 71
       10.1. AA-Request/Answer AVP Table. . . . . . . . . . . . . . . 71
       10.2. Accounting AVP Tables. . . . . . . . . . . . . . . . . . 73
             10.2.1.  Accounting Framed Access AVP Table. . . . . . . 74
             10.2.2.  Accounting Non-Framed Access AVP Table. . . . . 76
   11. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 77
       11.1. Command Codes. . . . . . . . . . . . . . . . . . . . . . 77
       11.2. AVP Codes. . . . . . . . . . . . . . . . . . . . . . . . 78
       11.3. Application Identifier . . . . . . . . . . . . . . . . . 78
       11.4. CHAP-Algorithm AVP Values. . . . . . . . . . . . . . . . 78
       11.5. Accounting-Auth-Method AVP Values. . . . . . . . . . . . 78
       11.6. Origin-AAA-Protocol AVP Values . . . . . . . . . . . . . 78
   12. Security Considerations. . . . . . . . . . . . . . . . . . . . 78
ToP   noToC   RFC4005 - Page 5
   13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 79
       13.1. Normative References . . . . . . . . . . . . . . . . . . 79
       13.2. Informative References . . . . . . . . . . . . . . . . . 80
   14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 83
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 84
   Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 85

1. Introduction

This document describes the Diameter protocol application used for AAA in the Network Access Server (NAS) environment. When combined with the Diameter Base protocol [BASE], Transport Profile [DiamTrans], and EAP [DiamEAP] specifications, this Diameter NAS application specification satisfies NAS-related requirements defined in RFC 2989 [AAACriteria] and RFC 3169 [NASCriteria]. Initial deployments of the Diameter protocol are expected to include legacy systems. Therefore, this application has been carefully designed to ease the burden of protocol conversion between RADIUS and Diameter. This is achieved by including the RADIUS attribute space to eliminate the need to perform many attribute translations. The interactions specified in this document between Diameter applications and RADIUS are to be applied to all Diameter applications. In this sense, this document extends the Base Diameter protocol [BASE]. First, this document describes the operation of a Diameter NAS application. Then it defines the Diameter message Command-Codes. The following sections list the AVPs used in these messages, grouped by common usage. These are session identification, authentication, authorization, tunneling, and accounting. The authorization AVPs are further broken down by service type. Interaction and backward compatibility issues with RADIUS are discussed in later sections.

1.1. Terminology

The base Diameter [BASE] specification section 1.4 defines most of the terminology used in this document. Additionally, the following terms and acronyms are used in this application: NAS (Network Access Server) - A device that provides an access service for a user to a network. The service may be a network connection or a value-added service such as terminal emulation [NASModel].
ToP   noToC   RFC4005 - Page 6
   PPP (Point-to-Point Protocol) - A multiprotocol serial datalink.  PPP
   is the primary IP datalink used for dial-in NAS connection service
   [PPP].

   CHAP (Challenge Handshake Authentication Protocol) - An
   authentication process used in PPP [PPPCHAP].

   PAP (Password Authentication Protocol) - A deprecated PPP
   authentication process, but often used for backward compatibility
   [PAP].

   SLIP (Serial Line Interface Protocol) - A serial datalink that only
   supports IP.  A design prior to PPP.

   ARAP (Appletalk Remote Access Protocol) - A serial datalink for
   accessing Appletalk networks [ARAP].

   IPX (Internet Packet Exchange) - The network protocol used by NetWare
   networks [IPX].

   LAT (Local Area Transport) - A Digital Equipment Corp. LAN protocol
   for terminal services [LAT].

   VPN (Virtual Private Network) - In this document, this term is used
   to describe access services that use tunneling methods.

1.2. Requirements Language

In this document, the key words "MAY", "MUST", "MUST NOT", "OPTIONAL", "RECOMMENDED", "SHOULD", and "SHOULD NOT" are to be interpreted as described in [Keywords].

1.3. Advertising Application Support

Diameter applications conforming to this specification MUST advertise support by including the value of one (1) in the Auth-Application-Id of Capabilities-Exchange-Request (CER), AA-Request (AAR), and AA- Answer (AAA) messages. All other messages are defined by [BASE] and use the Base application id value.

2. NAS Calls, Ports, and Sessions

The arrival of a new call or service connection at a port of a Network Access Server (NAS) starts a Diameter NAS message exchange. Information about the call, the identity of the user, and the user's authentication information are packaged into a Diameter AA-Request (AAR) message and sent to a server.
ToP   noToC   RFC4005 - Page 7
   The server processes the information and responds with a Diameter
   AA-Answer (AAA) message that contains authorization information for
   the NAS, or a failure code (Result-Code AVP).  A value of
   DIAMETER_MULTI_ROUND_AUTH indicates an additional authentication
   exchange, and several AAR and AAA messages may be exchanged until the
   transaction completes.

   Depending on the Auth-Request-Type AVP, the Diameter protocol allows
   authorization-only requests that contain no authentication
   information from the client.  This capability goes beyond the Call
   Check capabilities described in section 5.6 of [RADIUS] in that no
   access decision is requested.  As a result, service cannot be started
   as a result of a response to an authorization-only request without
   introducing a significant security vulnerability.

   Since no equivalent capability exists in RADIUS, authorization-only
   requests from a NAS implementing Diameter may not be easily
   translated to an equivalent RADIUS message by a Diameter/RADIUS
   gateway.  For example, when a Diameter authorization-only request
   cannot be translated to a RADIUS Call Check, it would be necessary
   for the Diameter/RADIUS gateway to add authentication information to
   the RADIUS Access Request.  On receiving the Access-Reply, the
   Diameter/RADIUS gateway would need to discard the access decision
   (Accept/Reject).  It is not clear whether these translations can be
   accomplished without adding significant security vulnerabilities.

2.1. Diameter Session Establishment

When the authentication or authorization exchange completes successfully, the NAS application SHOULD start a session context. If the Result-Code of DIAMETER_MULTI_ROUND_AUTH is returned, the exchange continues until a success or error is returned. If accounting is active, the application MUST also send an Accounting message [BASE]. An Accounting-Record-Type of START_RECORD is sent for a new session. If a session fails to start, the EVENT_RECORD message is sent with the reason for the failure described. Note that the return of an unsupportable Accounting-Realtime-Required value [BASE] would result in a failure to establish the session.

2.2. Diameter Session Reauthentication or Reauthorization

The Diameter Base protocol allows users to be periodically reauthenticated and/or reauthorized. In such instances, the Session-Id AVP in the AAR message MUST be the same as the one present in the original authentication/authorization message.
ToP   noToC   RFC4005 - Page 8
   A Diameter server informs the NAS of the maximum time allowed before
   reauthentication or reauthorization via the Authorization-Lifetime
   AVP [BASE].  A NAS MAY reauthenticate and/or reauthorize before the
   end, but A NAS MUST reauthenticate and/or reauthorize at the end of
   the period provided by the Authorization-Lifetime AVP.  The failure
   of a reauthentication exchange will terminate the service.

   Furthermore, it is possible for Diameter servers to issue an
   unsolicited reauthentication and/or reauthorization request (e.g.,
   Re-Auth-Request (RAR) message [BASE]) to the NAS.  Upon receipt of
   such a message, the NAS MUST respond to the request with a Re-Auth-
   Answer (RAA) message [BASE].

   If the RAR properly identifies an active session, the NAS will
   initiate a new local reauthentication or authorization sequence as
   indicated by the Re-Auth-Request-Type value.  This will cause the NAS
   to send a new AAR message using the existing Session-Id.  The server
   will respond with an AAA message to specify the new service
   parameters.

   If accounting is active, every change of authentication or
   authorization SHOULD generate an accounting message.  If the NAS
   service is a continuation of the prior user context, then an
   Accounting-Record-Type of INTERIM_RECORD indicating the new session
   attributes and cumulative status would be appropriate.  If a new user
   or a significant change in authorization is detected by the NAS, then
   the service may send two messages of the types STOP_RECORD and
   START_RECORD.  Accounting may change the subsession identifiers
   (Acct-Session-ID, or Acct-Sub-Session-Id) to indicate such sub-
   sessions.  A service may also use a different Session-Id value for
   accounting (see [BASE] section 9.6).

   However, the Diameter Session-ID AVP value used for the initial
   authorization exchange MUST be used to generate an STR message when
   the session context is terminated.

2.3. Diameter Session Termination

When a NAS receives an indication that a user's session is being disconnected by the client (e.g., LCP Terminate is received) or an administrative command, the NAS MUST issue a Session-Termination- Request (STR) [BASE] to its Diameter Server. This will ensure that any resources maintained on the servers are freed appropriately. Furthermore, a NAS that receives an Abort-Session-Request (ASR) [BASE] MUST issue an ASA if the session identified is active and disconnect the PPP (or tunneling) session.
ToP   noToC   RFC4005 - Page 9
   If accounting is active, an Accounting STOP_RECORD message [BASE]
   MUST be sent upon termination of the session context.

   More information on Diameter Session Termination is included in
   [BASE] sections 8.4 and 8.5.

3. NAS Messages

This section defines the Diameter message Command-Code [BASE] values that MUST be supported by all Diameter implementations conforming to this specification. The Command Codes are as follows: Command-Name Abbrev. Code Reference ------------------------------------------------------- AA-Request AAR 265 3.1 AA-Answer AAA 265 3.2 Re-Auth-Request RAR 258 3.3 Re-Auth-Answer RAA 258 3.4 Session-Termination-Request STR 275 3.5 Session-Termination-Answer STA 275 3.6 Abort-Session-Request ASR 274 3.7 Abort-Session-Answer ASA 274 3.8 Accounting-Request ACR 271 3.9 Accounting-Answer ACA 271 3.10

3.1. AA-Request (AAR) Command

The AA-Request (AAR), which is indicated by setting the Command-Code field to 265 and the 'R' bit in the Command Flags field, is used to request authentication and/or authorization for a given NAS user. The type of request is identified through the Auth-Request-Type AVP [BASE]. The recommended value for most RADIUS interoperabily situations is AUTHORIZE_AUTHENTICATE. If Authentication is requested, the User-Name attribute SHOULD be present, as well as any additional authentication AVPs that would carry the password information. A request for authorization SHOULD only include the information from which the authorization will be performed, such as the User-Name, Called-Station-Id, or Calling- Station-Id AVPs. All requests SHOULD contain AVPs uniquely identifying the source of the call, such as Origin-Host and NAS-Port. Certain networks MAY use different AVPs for authorization purposes. A request for authorization will include some AVPs defined in section 6. It is possible for a single session to be authorized first and then for an authentication request to follow.
ToP   noToC   RFC4005 - Page 10
   This AA-Request message MAY be the result of a multi-round
   authentication exchange, which occurs when the AA-Answer message is
   received with the Result-Code AVP set to DIAMETER_MULTI_ROUND_AUTH.
   A subsequent AAR message SHOULD be sent, with the User-Password AVP
   that includes the user's response to the prompt, and MUST include any
   State AVPs that were present in the AAA message.

   Message Format
      <AA-Request> ::= < Diameter Header: 265, REQ, PXY >
                       < Session-Id >
                       { Auth-Application-Id }
                       { Origin-Host }
                       { Origin-Realm }
                       { Destination-Realm }
                       { Auth-Request-Type }
                       [ Destination-Host ]
                       [ NAS-Identifier ]
                       [ NAS-IP-Address ]
                       [ NAS-IPv6-Address ]
                       [ NAS-Port ]
                       [ NAS-Port-Id ]
                       [ NAS-Port-Type ]
                       [ Origin-AAA-Protocol ]
                       [ Origin-State-Id ]
                       [ Port-Limit ]
                       [ User-Name ]
                       [ User-Password ]
                       [ Service-Type ]
                       [ State ]
                       [ Authorization-Lifetime ]
                       [ Auth-Grace-Period ]
                       [ Auth-Session-State ]
                       [ Callback-Number ]
                       [ Called-Station-Id ]
                       [ Calling-Station-Id ]
                       [ Originating-Line-Info ]
                       [ Connect-Info ]
                       [ CHAP-Auth ]
                       [ CHAP-Challenge ]
                     * [ Framed-Compression ]
                       [ Framed-Interface-Id ]
                       [ Framed-IP-Address ]
                     * [ Framed-IPv6-Prefix ]
                       [ Framed-IP-Netmask ]
                       [ Framed-MTU ]
                       [ Framed-Protocol ]
                       [ ARAP-Password ]
                       [ ARAP-Security ]
ToP   noToC   RFC4005 - Page 11
                     * [ ARAP-Security-Data ]
                     * [ Login-IP-Host ]
                     * [ Login-IPv6-Host ]
                       [ Login-LAT-Group ]
                       [ Login-LAT-Node ]
                       [ Login-LAT-Port ]
                       [ Login-LAT-Service ]
                     * [ Tunneling ]
                     * [ Proxy-Info ]
                     * [ Route-Record ]
                     * [ AVP ]

3.2. AA-Answer (AAA) Command

The AA-Answer (AAA) message is indicated by setting the Command-Code field to 265 and clearing the 'R' bit in the Command Flags field. It is sent in response to the AA-Request (AAR) message. If authorization was requested, a successful response will include the authorization AVPs appropriate for the service being provided, as defined in section 6. For authentication exchanges requiring more than a single round trip, the server MUST set the Result-Code AVP to DIAMETER_MULTI_ROUND_AUTH. An AAA message with this result code MAY include one Reply-Message or more and MAY include zero or one State AVPs. If the Reply-Message AVP was present, the network access server SHOULD send the text to the user's client to display to the user, instructing the client to prompt the user for a response. For example, this capability can be achieved in PPP via PAP. If the access client is unable to prompt the user for a new response, it MUST treat the AA-Answer (AAA) with the Reply-Message AVP as an error and deny access. Message Format <AA-Answer> ::= < Diameter Header: 265, PXY > < Session-Id > { Auth-Application-Id } { Auth-Request-Type } { Result-Code } { Origin-Host } { Origin-Realm } [ User-Name ] [ Service-Type ] * [ Class ] * [ Configuration-Token ] [ Acct-Interim-Interval ]
ToP   noToC   RFC4005 - Page 12
                      [ Error-Message ]
                      [ Error-Reporting-Host ]
                    * [ Failed-AVP ]
                      [ Idle-Timeout ]
                      [ Authorization-Lifetime ]
                      [ Auth-Grace-Period ]
                      [ Auth-Session-State ]
                      [ Re-Auth-Request-Type ]
                      [ Multi-Round-Time-Out ]
                      [ Session-Timeout ]
                      [ State ]
                    * [ Reply-Message ]
                      [ Origin-AAA-Protocol ]
                      [ Origin-State-Id ]
                    * [ Filter-Id ]
                      [ Password-Retry ]
                      [ Port-Limit ]
                      [ Prompt ]
                      [ ARAP-Challenge-Response ]
                      [ ARAP-Features ]
                      [ ARAP-Security ]
                    * [ ARAP-Security-Data ]
                      [ ARAP-Zone-Access ]
                      [ Callback-Id ]
                      [ Callback-Number ]
                      [ Framed-Appletalk-Link ]
                    * [ Framed-Appletalk-Network ]
                      [ Framed-Appletalk-Zone ]
                    * [ Framed-Compression ]
                      [ Framed-Interface-Id ]
                      [ Framed-IP-Address ]
                    * [ Framed-IPv6-Prefix ]
                      [ Framed-IPv6-Pool ]
                    * [ Framed-IPv6-Route ]
                      [ Framed-IP-Netmask ]
                    * [ Framed-Route ]
                      [ Framed-Pool ]
                      [ Framed-IPX-Network ]
                      [ Framed-MTU ]
                      [ Framed-Protocol ]
                      [ Framed-Routing ]
                    * [ Login-IP-Host ]
                    * [ Login-IPv6-Host ]
                      [ Login-LAT-Group ]
                      [ Login-LAT-Node ]
                      [ Login-LAT-Port ]
                      [ Login-LAT-Service ]
                      [ Login-Service ]
ToP   noToC   RFC4005 - Page 13
                      [ Login-TCP-Port ]
                    * [ NAS-Filter-Rule ]
                    * [ QoS-Filter-Rule ]
                    * [ Tunneling ]
                    * [ Redirect-Host ]
                      [ Redirect-Host-Usage ]
                      [ Redirect-Max-Cache-Time ]
                    * [ Proxy-Info ]
                    * [ AVP ]

3.3. Re-Auth-Request (RAR) Command

A Diameter server may initiate a re-authentication and/or re- authorization service for a particular session by issuing a Re-Auth- Request (RAR) message [BASE]. For example, for pre-paid services, the Diameter server that originally authorized a session may need some confirmation that the user is still using the services. If a NAS receives an RAR message with Session-Id equal to a currently active session and a Re-Auth-Type that includes authentication, it MUST initiate a re-authentication toward the user, if the service supports this particular feature. Message Format <RA-Request> ::= < Diameter Header: 258, REQ, PXY > < Session-Id > { Origin-Host } { Origin-Realm } { Destination-Realm } { Destination-Host } { Auth-Application-Id } { Re-Auth-Request-Type } [ User-Name ] [ Origin-AAA-Protocol ] [ Origin-State-Id ] [ NAS-Identifier ] [ NAS-IP-Address ] [ NAS-IPv6-Address ] [ NAS-Port ] [ NAS-Port-Id ] [ NAS-Port-Type ] [ Service-Type ] [ Framed-IP-Address ] [ Framed-IPv6-Prefix ] [ Framed-Interface-Id ]
ToP   noToC   RFC4005 - Page 14
                       [ Called-Station-Id ]
                       [ Calling-Station-Id ]
                       [ Originating-Line-Info ]
                       [ Acct-Session-Id ]
                       [ Acct-Multi-Session-Id ]
                       [ State ]
                     * [ Class ]
                       [ Reply-Message ]
                     * [ Proxy-Info ]
                     * [ Route-Record ]
                     * [ AVP ]

3.4. Re-Auth-Answer (RAA) Command

The Re-Auth-Answer (RAA) message [BASE] is sent in response to the RAR. The Result-Code AVP MUST be present and indicates the disposition of the request. A successful RAA transaction MUST be followed by an AAR message. Message Format <RA-Answer> ::= < Diameter Header: 258, PXY > < Session-Id > { Result-Code } { Origin-Host } { Origin-Realm } [ User-Name ] [ Origin-AAA-Protocol ] [ Origin-State-Id ] [ Error-Message ] [ Error-Reporting-Host ] * [ Failed-AVP ] * [ Redirected-Host ] [ Redirected-Host-Usage ] [ Redirected-Host-Cache-Time ] [ Service-Type ] * [ Configuration-Token ] [ Idle-Timeout ] [ Authorization-Lifetime ] [ Auth-Grace-Period ] [ Re-Auth-Request-Type ] [ State ] * [ Class ] * [ Reply-Message ] [ Prompt ] * [ Proxy-Info ] * [ AVP ]
ToP   noToC   RFC4005 - Page 15

3.5. Session-Termination-Request (STR) Command

The Session-Termination-Request (STR) message [BASE] is sent by the NAS to inform the Diameter Server that an authenticated and/or authorized session is being terminated. Message Format <ST-Request> ::= < Diameter Header: 275, REQ, PXY > < Session-Id > { Origin-Host } { Origin-Realm } { Destination-Realm } { Auth-Application-Id } { Termination-Cause } [ User-Name ] [ Destination-Host ] * [ Class ] [ Origin-AAA-Protocol ] [ Origin-State-Id ] * [ Proxy-Info ] * [ Route-Record ] * [ AVP ]

3.6. Session-Termination-Answer (STA) Command

The Session-Termination-Answer (STA) message [BASE] is sent by the Diameter Server to acknowledge the notification that the session has been terminated. The Result-Code AVP MUST be present and MAY contain an indication that an error occurred while the STR was being serviced. Upon sending or receiving the STA, the Diameter Server MUST release all resources for the session indicated by the Session-Id AVP. Any intermediate server in the Proxy-Chain MAY also release any resources, if necessary. Message Format <ST-Answer> ::= < Diameter Header: 275, PXY > < Session-Id > { Result-Code } { Origin-Host } { Origin-Realm } [ User-Name ] * [ Class ] [ Error-Message ] [ Error-Reporting-Host ]
ToP   noToC   RFC4005 - Page 16
                     * [ Failed-AVP ]
                       [ Origin-AAA-Protocol ]
                       [ Origin-State-Id ]
                     * [ Redirect-Host ]
                       [ Redirect-Host-Usase ]
                       [ Redirect-Max-Cache-Time ]
                     * [ Proxy-Info ]
                     * [ AVP ]

3.7. Abort-Session-Request (ASR) Command

The Abort-Session-Request (ASR) message [BASE] may be sent by any server to the NAS providing session service, to request that the session identified by the Session-Id be stopped. Message Format <AS-Request> ::= < Diameter Header: 274, REQ, PXY > < Session-Id > { Origin-Host } { Origin-Realm } { Destination-Realm } { Destination-Host } { Auth-Application-Id } [ User-Name ] [ Origin-AAA-Protocol ] [ Origin-State-Id ] [ NAS-Identifier ] [ NAS-IP-Address ] [ NAS-IPv6-Address ] [ NAS-Port ] [ NAS-Port-Id ] [ NAS-Port-Type ] [ Service-Type ] [ Framed-IP-Address ] [ Framed-IPv6-Prefix ] [ Framed-Interface-Id ] [ Called-Station-Id ] [ Calling-Station-Id ] [ Originating-Line-Info ] [ Acct-Session-Id ] [ Acct-Multi-Session-Id ] [ State ] * [ Class ] * [ Reply-Message ] * [ Proxy-Info ] * [ Route-Record ] * [ AVP ]
ToP   noToC   RFC4005 - Page 17

3.8. Abort-Session-Answer (ASA) Command

The ASA message [BASE] is sent in response to the ASR. The Result- Code AVP MUST be present and indicates the disposition of the request. If the session identified by Session-Id in the ASR was successfully terminated, Result-Code is set to DIAMETER_SUCCESS. If the session is not currently active, Result-Code is set to DIAMETER_UNKNOWN_SESSION_ID. If the access device does not stop the session for any other reason, Result-Code is set to DIAMETER_UNABLE_TO_COMPLY. Message Format <AS-Answer> ::= < Diameter Header: 274, PXY > < Session-Id > { Result-Code } { Origin-Host } { Origin-Realm } [ User-Name ] [ Origin-AAA-Protocol ] [ Origin-State-Id ] [ State] [ Error-Message ] [ Error-Reporting-Host ] * [ Failed-AVP ] * [ Redirected-Host ] [ Redirected-Host-Usage ] [ Redirected-Max-Cache-Time ] * [ Proxy-Info ] * [ AVP ]

3.9. Accounting-Request (ACR) Command

The ACR message [BASE] is sent by the NAS to report its session information to a target server downstream. Either of Acct-Application-Id or Vendor-Specific-Application-Id AVPs MUST be present. If the Vendor-Specific-Application-Id grouped AVP is present, it must have an Acct-Application-Id inside. The AVPs listed in the Base MUST be assumed to be present, as appropriate. NAS service-specific accounting AVPs SHOULD be present as described in section 8 and the rest of this specification.
ToP   noToC   RFC4005 - Page 18
   Message Format

      <AC-Request> ::= < Diameter Header: 271, REQ, PXY >
                      < Session-Id >
                      { Origin-Host }
                      { Origin-Realm }
                      { Destination-Realm }
                      { Accounting-Record-Type }
                      { Accounting-Record-Number }
                      [ Acct-Application-Id ]
                      [ Vendor-Specific-Application-Id ]
                      [ User-Name ]
                      [ Accounting-Sub-Session-Id ]
                      [ Acct-Session-Id ]
                      [ Acct-Multi-Session-Id ]
                      [ Origin-AAA-Protocol ]
                      [ Origin-State-Id ]
                      [ Destination-Host ]
                      [ Event-Timestamp ]
                      [ Acct-Delay-Time ]
                      [ NAS-Identifier ]
                      [ NAS-IP-Address ]
                      [ NAS-IPv6-Address ]
                      [ NAS-Port ]
                      [ NAS-Port-Id ]
                      [ NAS-Port-Type ]
                    * [ Class ]
                      [ Service-Type ]
                      [ Termination-Cause ]
                      [ Accounting-Input-Octets ]
                      [ Accounting-Input-Packets ]
                      [ Accounting-Output-Octets ]
                      [ Accounting-Output-Packets ]
                      [ Acct-Authentic ]
                      [ Accounting-Auth-Method ]
                      [ Acct-Link-Count ]
                      [ Acct-Session-Time ]
                      [ Acct-Tunnel-Connection ]
                      [ Acct-Tunnel-Packets-Lost ]
                      [ Callback-Id ]
                      [ Callback-Number ]
                      [ Called-Station-Id ]
                      [ Calling-Station-Id ]
                    * [ Connection-Info ]
                      [ Originating-Line-Info ]
                      [ Authorization-Lifetime ]
                      [ Session-Timeout ]
                      [ Idle-Timeout ]
ToP   noToC   RFC4005 - Page 19
                      [ Port-Limit ]
                      [ Accounting-Realtime-Required ]
                      [ Acct-Interim-Interval ]
                    * [ Filter-Id ]
                    * [ NAS-Filter-Rule ]
                    * [ Qos-Filter-Rule ]
                      [ Framed-AppleTalk-Link ]
                      [ Framed-AppleTalk-Network ]
                      [ Framed-AppleTalk-Zone ]
                      [ Framed-Compression ]
                      [ Framed-Interface-Id ]
                      [ Framed-IP-Address ]
                      [ Framed-IP-Netmask ]
                    * [ Framed-IPv6-Prefix ]
                      [ Framed-IPv6-Pool ]
                    * [ Framed-IPv6-Route ]
                      [ Framed-IPX-Network ]
                      [ Framed-MTU ]
                      [ Framed-Pool ]
                      [ Framed-Protocol ]
                    * [ Framed-Route ]
                      [ Framed-Routing ]
                    * [ Login-IP-Host ]
                    * [ Login-IPv6-Host ]
                      [ Login-LAT-Group ]
                      [ Login-LAT-Node ]
                      [ Login-LAT-Port ]
                      [ Login-LAT-Service ]
                      [ Login-Service ]
                      [ Login-TCP-Port ]
                    * [ Tunneling ]
                    * [ Proxy-Info ]
                    * [ Route-Record ]
                    * [ AVP ]

3.10. Accounting-Answer (ACA) Command

The ACA message [BASE] is used to acknowledge an Accounting-Request command. The Accounting-Answer command contains the same Session-Id as the Request. If the Accounting-Request was protected by end-to- end security, then the corresponding ACA message MUST be protected as well. Only the target Diameter Server or home Diameter Server SHOULD respond with the Accounting-Answer command. Either Acct-Application-Id or Vendor-Specific-Application-Id AVPs MUST be present, as it was in the request.
ToP   noToC   RFC4005 - Page 20
   The AVPs listed in the Base MUST be assumed to be present, as
   appropriate.  NAS service-specific accounting AVPs SHOULD be present
   as described in section 8 and the rest of this specification.

   Message Format

      <AC-Answer> ::= < Diameter Header: 271, PXY >
                      < Session-Id >
                      { Result-Code }
                      { Origin-Host }
                      { Origin-Realm }
                      { Accounting-Record-Type }
                      { Accounting-Record-Number }
                      [ Acct-Application-Id ]
                      [ Vendor-Specific-Application-Id ]
                      [ User-Name ]
                      [ Accounting-Sub-Session-Id ]
                      [ Acct-Session-Id ]
                      [ Acct-Multi-Session-Id ]
                      [ Event-Timestamp ]
                      [ Error-Message ]
                      [ Error-Reporting-Host ]
                    * [ Failed-AVP ]
                      [ Origin-AAA-Protocol ]
                      [ Origin-State-Id ]
                      [ NAS-Identifier ]
                      [ NAS-IP-Address ]
                      [ NAS-IPv6-Address ]
                      [ NAS-Port ]
                      [ NAS-Port-Id ]
                      [ NAS-Port-Type ]
                      [ Service-Type ]
                      [ Termination-Cause ]
                      [ Accounting-Realtime-Required ]
                      [ Acct-Interim-Interval ]
                    * [ Class ]
                    * [ Proxy-Info ]
                    * [ Route-Record ]
                    * [ AVP ]



(page 20 continued on part 2)

Next Section