tech-invite   World Map     

3GPP     Specs     Glossaries     Architecture     IMS     UICC       IETF     RFCs     Groups     SIP     ABNFs       Search

RFC 4005


Pages: 85
Top     in Index     Prev     Next
 

Diameter Network Access Server Application

Part 1 of 4, p. 1 to 20
None       Next RFC Part

Obsoleted by:    7155


Top       ToC       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       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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      ToC       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 RFC Part