INTERNET DRAFT Pat R. Calhoun Category: Standards Track Sun Microsystems, Inc. Title: draft-calhoun-diameter-authent-03.txt William Bulley Date: May 1998 Merit Network, Inc. DIAMETER User Authentication Extensions Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months. Internet-Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet- Drafts as reference material or to cite them other than as a ``working draft'' or ``work in progress.'' To view the entire list of current Internet-Drafts, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Abstract DIAMETER is a Policy and AAA protocol which can be used for a variety of services. This document defines DIAMETER messages that are used for the authentication, authorization and accounting of users. A considerable amount of effort was put into the design of this protocol to ensure that an implementation could support both DIAMETER and RADIUS concurrently. Calhoun expires November 1998 [Page 1] INTERNET DRAFT May 1998 Table of Contents 1.0 Introduction 1.1 Specification of Requirements 2.0 Command Codes 2.1 Domain-Discovery-Request 2.2 Domain-Discovery-Response 2.3 Access-Request 2.4 Access-Response 2.5 Access-Challenge 3.0 DIAMETER AVPs 3.1 User-Name 3.2 User-Password 3.3 CHAP-Password 3.4 NAS-Port 3.5 Service-Type 3.6 Framed-Protocol 3.7 Framed-IP-Address 3.8 Framed-IP-Netmask 3.9 Framed-Routing 3.10 Filter-Id 3.11 Framed-MTU 3.12 Framed-Compression 3.13 Login-IP-Host 3.14 Login-Service 3.15 Login-TCP-Port 3.16 Reply-Message 3.17 Callback-Number 3.18 Callback-Id 3.19 Framed-Route 3.20 Framed-IPX-Network 3.21 State 3.22 Class 3.23 Vendor-Specific 3.24 Session-Timeout 3.25 Idle-Timeout 3.26 Termination-Action 3.27 Called-Station-Id 3.28 Calling-Station-Id 3.29 Proxy-State 3.30 Login-LAT-Service 3.31 Login-LAT-Node 3.32 Login-LAT-Group 3.33 Framed-AppleTalk-Link 3.34 Framed-AppleTalk-Network 3.35 Framed-AppleTalk-Zone 3.36 CHAP-Challenge 3.37 NAS-Port-Type Calhoun expires November 1998 [Page 2] INTERNET DRAFT May 1998 3.38 Port-Limit 3.39 Login-LAT-Port 3.40 Filter-Rule 3.41 Framed-Password-Policy 3.42 Table of Attributes 4.0 Protocol Definition 4.1 Authorization Procedure 4.2 Integration with Resource-Management 4.3 RADIUS Proxies 4.4 DIAMETER Proxies 4.5 Domain Discovery 5.0 References 6.0 Acknowledgements 7.0 Authors' Addresses 1.0 Introduction This document describes the DIAMETER User Authentication Extensions that can be used for a variety of services including Dial-up users via NAS, WWW User Authentication, Firewall User Authentication[5][6]. This document describes Authentication/Authorization messages as well as a set of messages which allow DIAMETER hosts to bypass proxies. Since Most of the AVPs found in this document was copied from the RADIUS protocol[1], it is possible to have both RADIUS and DIAMETER servers read the same dictionary and users files. The backward compatibility that DIAMETER offers is intended to facilitate deployment. The Extension number for this draft is one. This value is used in the Service-Id AVP as defined in [2]. 1.1 Specification of Requirements In this document, several words are used to signify the requirements of the specification. These words are often capitalized. MUST This word, or the adjective "required", means that the definition is an absolute requirement of the specification. MUST NOT This phrase means that the definition is an absolute prohibition of the specification. SHOULD This word, or the adjective "recommended", means that Calhoun expires November 1998 [Page 3] INTERNET DRAFT May 1998 there may exist valid reasons in particular circumstances to ignore this item, but the full implications must be understood and carefully weighed before choosing a different course. MAY This word, or the adjective "optional", means that this item is one of an allowed set of alternatives. An implementation which does not include this option MUST be prepared to interoperate with another implementation which does include the option. 2.0 Command Codes This document defines the following DIAMETER Commands. All DIAMETER implementations supporting this extension MUST support all of the following commands: Command Name Command Code ----------------------------------- Domain-Discovery-Request 261 Domain-Discovery-Response 262 Access-Request 263 Access-Response 264 Access-Challenge 265 2.1 Domain-Discovery-Request Description The Domain-Discovery-Request message is used by a DIAMETER device wishing to get contact information about a domain's home authentication server as well as to receive password policy information. This message MUST contain the User-Name attribute in order to pass along the user's domain information. The X509-Certificate or the X509-Certificate-URL [2] MUST be present in this message in order to inform the home authentication server of the issuing host's certificate. A summary of the Domain-Discovery-Request packet format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | Calhoun expires November 1998 [Page 4] INTERNET DRAFT May 1998 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Code 256 DIAMETER Command AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Command Type The Command Type field MUST be set to 261 (Domain-Discovery- Request). 2.2 Domain-Discovery-Response Description The Domain-Discovery-Response message is sent in response to the Domain-Discovery-Request message by the domain's Home authentication server. The message MUST contain either the Host- Name or Host-IP-Address and either the X509-Certificate or the X509-Certificate-URL attribute and SHOULD contain at least one Framed-Password-Policy AVP. The absence of any Framed-Password-Policy AVPs means that the issuer will only accept CHAP and PAP. The Domain-Discovery-Response message MUST include the Result-Code AVP to indicate whether the request was successful or not. The following Error Codes are defined for this command: DIAMETER_ERROR_UNKNOWN_DOMAIN 1 This error code is used to indicate to the initiator of the request that the requested domain is unknown and cannot be resolved. DIAMETER_ERROR_BAD_CERT 2 Calhoun expires November 1998 [Page 5] INTERNET DRAFT May 1998 This error code is used to indicate that the X509- Certificate or the X509-Certificate-URL in the Domain- Discovery-Request was invalid. DIAMETER_ERROR_CANNOT_REPLY 3 This error code is returned when either an intermediate DIAMETER node or the home authentication server cannot reply to DIAMETER messages directly. This could be that the policy of an intermediate DIAMETER server does not permit direct contact and therefore requires proxying. It could also signify that the home authentication server does not have public key support. A summary of the Domain-Discovery-Response packet format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Code 256 DIAMETER Command AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Command Type The Command Type field MUST be set to 262 (Domain-Discovery- Response). 2.3 Access-Request Description Calhoun expires November 1998 [Page 6] INTERNET DRAFT May 1998 The Access-Request message is used in order to request authentication and authorization for a given user. If Authentication is requested the User-Name attribute MUST be present. If only Authorization is required it is possible to authorize based on DNIS and ANI instead. However, it is not possible to authenticate using a User-Name AVP and later requesting authorization based on DNIS using the same Session-Id (although the inverse is legal). Note that the flag field MAY be used in this command in order to indicate that either Authentication-Only or Authorization-Only is required for the request. If the Authentication-Only bit is set the response MUST NOT include any authorization information. Both the Authenticate and Authorize bits MUST NOT be set at the same time. To ensure that a user is both authenticated and authorized, neither flag is set. The Access-Request message MUST include a unique Session-Id AVP. If The Access-Request is a result of a successful Access-Challenge the Session-Id MUST be identical to the one provided in the initial Access-Request. A summary of the Access-Request packet format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Code 256 DIAMETER Command AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. In addition, the following bits may be used (note these bits are Calhoun expires November 1998 [Page 7] INTERNET DRAFT May 1998 mutually exclusive): Authenticate-Only 32 The Authentication-Only bit is set to indicate that only authentication of the user is requested and that no authorization information should be returned in the response. Authorize-Only 64 The Authorization-Only bit is set to indicate that only authorization of the user is requested and that no authentication is required. Command Type The Command Type field MUST be set to 263 (Access-Request). 2.4 Access-Response Description The Access-Response message is used in order to indicate that Authentication and/or authorization was successful. If authorization was requested a list of AVPs with the authorization information MUST be attached to the message (see section 3.41). The Access-Response message MUST include the Session-Id AVP that was present in the Access-Request. The Access-Response MUST also include the Host-Name AVP and the Result-Code AVP to indicate the status of the session. The following error codes are defined for this message: DIAMETER_ERROR_UNKNOWN_DOMAIN 1 This error code is used to indicate to the initiator of the request that the requested domain is unknown and cannot be resolved. DIAMETER_ERROR_USER_UNKNOWN 2 This error code is used to indicate to the initiator that the username request is not valid. DIAMETER_ERROR_BAD_PASSWORD 3 This error code indicates that the password provided is invalid. DIAMETER_ERROR_CANNOT_AUTHORIZE 4 This error code is used to indicate that the user cannot be Calhoun expires November 1998 [Page 8] INTERNET DRAFT May 1998 authorized due to the fact that the user has expended the servers local resources. This could be a result that the server believes that the user already has an active session, or that the user has already spent the number of credits in his/her account, etc. Note that the flag field MUST be set to the same value that was found in the Access-Request message. A summary of the Access-Response packet format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Code 256 DIAMETER Command AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. In addition, the following bits may be used (note these bits are mutually exclusive): Authenticate-Only 32 The Authentication-Only bit is set to indicate that only authentication of the user is requested and that no authorization information should be returned in the response. Authorize-Only 64 The Authorization-Only bit is set to indicate that only authorization of the user is requested and that no authentication is required. Command Type Calhoun expires November 1998 [Page 9] INTERNET DRAFT May 1998 The Command Type field MUST be set to 264 (Access-Response). 2.5 Access-Challenge Description If the DIAMETER server desires to send the user a challenge requiring a response, then the DIAMETER server MUST respond to the Access-Request by transmitting a packet with the Code field set to 265 (Access-Challenge). The message MAY have one or more Reply-Message AVP, and MAY have a single State AVP, or none. No other AVPs are permitted in an Access-Challenge other than the Integrity-Check-Vector or Digital-Signature AVP as defined in [2]. On receipt of an Access-Challenge, the Identifier field is matched with a pending Access-Request. Invalid packets are silently discarded. The receipt of a valid Access-Challenge indicates that a new Access-Request SHOULD be sent. The NAS MAY display the text message, if any, to the user, and then prompt the user for a response. It then sends its original Acess-Request with a new request ID, with the User-Password AVP replaced by the user's response (encrypted), and including the State AVP from the Access-Challenge, if any. Only zero or one instances of the State Attribute can be present in an Access-Request. A NAS which supports PAP MAY forward the Reply-Message to the dialin client and accept a PAP response which it can use as though the user had entered the response. If the NAS cannot do so, it should treat the Access-Challenge as though it had received an Access-Response with a Result-Code AVP set to a value other than DIAMETER_SUCCESS instead. It is preferable to use EAP [5] instead of the Access-Challenge, yet it has been maintained for backward compatibility. The Access-Response message MUST include the Session-Id AVP that was present in the Access-Request and MUST include the same flag value that was found in the Access-Request. A summary of the Access-Challenge packet format is shown below. The fields are transmitted from left to right. 0 1 2 3 Calhoun expires November 1998 [Page 10] INTERNET DRAFT May 1998 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Code 256 DIAMETER Command AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. In addition, following bits may be used (note these bits are mutually exclusive): Authenticate-Only 32 The Authentication-Only bit is set to indicate that only authentication of the user is requested and that no authorization information should be returned in the response. Authorize-Only 64 The Authorization-Only bit is set to indicate that only authorization of the user is requested and that no authentication is required. Command Type The Command Type field MUST be set to 265 (Access-Challenge). 3.0 DIAMETER AVPs This section will define the mandatory AVPs which MUST be supported by all DIAMETER implementations supporting this extension. The following AVPs are defined in this document: Attribute Name Attribute Code ----------------------------------- User-Name 1 Calhoun expires November 1998 [Page 11] INTERNET DRAFT May 1998 User-Password 2 CHAP-Password 3 NAS-IP-Address 4 NAS-Port 5 Service-Type 6 Framed-Protocol 7 Framed-IP-Address 8 Framed-IP-Netmask 9 Framed-Routing 10 Filter-Id 11 Framed-MTU 12 Framed-Compression 13 Login-IP-Host 14 Login-Service 15 Login-TCP-Port 16 Reply-Message 18 Callback-Number 19 Callback-Id 20 Framed-Route 22 Framed-IPX-Network 23 State 24 Class 25 Vendor-Specific 26 Session-Timeout 27 Idle-Timeout 28 Termination-Action 29 Called-Station-Id 30 Calling-Station-Id 31 NAS-Identifier 32 Proxy-State 33 Login-LAT-Service 34 Login-LAT-Node 35 Login-LAT-Group 36 Framed-AppleTalk-Link 37 Framed-AppleTalk-Network 38 Framed-AppleTalk-Zone 39 CHAP-Challenge 60 NAS-Port-Type 61 Port-Limit 62 Login-LAT-Port 63 Filter-Rule 280 Framed-Password-Policy 281 3.1 User-Name Description Calhoun expires November 1998 [Page 12] INTERNET DRAFT May 1998 This Attribute indicates the name of the user to be authenticated. It is normally used in Access-Request packets, but MAY be present in the Access-Response message. A summary of the User-Name Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 1 for User-Name. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. The SS-Encrypted-Data bit SHOULD be set if a shared secret exists. The PK-Encrypted-data bit SHOULD NOT be set since intermediate DIAMETER servers will require this information in order to determine the home DIAMETER server. String The String field is one or more octets. All DIAMETER systems SHOULD support User-Name lengths of at least 63 octets. The format of the User-Name SHOULD follow the format defined in [3]. 3.2 User-Password Description This Attribute indicates the password of the user to be authenticated, or the user's input following an Access-Challenge. It is only used in Access-Request packets. Calhoun expires November 1998 [Page 13] INTERNET DRAFT May 1998 This AVP MUST be encrypted using one of the methods described in [2]. The use of this AVP with shared secret encryption is strongly discouraged by the author due to the security implications in a proxy environment, yet the support of this attribute has been retained for RADIUS backward compability. A summary of the User-Password Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-+-+-+-+ Type 2 for User-Password. AVP Length The length of this attribute MUST be at least 24 and MUST be no larger than 136. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. One of the AVP Encryption bits MUST be set. Data The Data field is between 16 and 128 octets long, inclusive. 3.3 CHAP-Password Description This Attribute indicates the response value provided by a PPP Challenge-Handshake Authentication Protocol (CHAP) user in response to the challenge. It is only used in Access-Request packets. If the CHAP-Password Attribute is found in a message, the CHAP- Calhoun expires November 1998 [Page 14] INTERNET DRAFT May 1998 Challenge Attribute (60) MUST be present as well. A summary of the CHAP-Password Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHAP Ident | Data ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 3 for CHAP-Password. AVP Length The length of this attribute MUST be 25. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. CHAP Ident This field is one octet, and contains the CHAP Identifier from the user's CHAP Response. Data The Data field is 16 octets, and contains the CHAP Response from the user. 3.4 NAS-Port Description This Attribute indicates the physical port number of the NAS which is authenticating the user. It is normally only used in Access- Request messages (see section x for more info). Note that this is using "port" in its sense of a physical connection on the NAS, not in the sense of a TCP or UDP port number. Either NAS-Port or NAS- Port-Type (61) or both SHOULD be present in an Access-Request Calhoun expires November 1998 [Page 15] INTERNET DRAFT May 1998 packet, if the NAS differentiates among its ports. A summary of the NAS-Port Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 5 for NAS-Port. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. 3.5 Service-Type Description This Attribute indicates the type of service the user has requested, or the type of service to be provided. It MAY be used in both Access-Request and Access-Response messages. A NAS is not required to implement all of these service types, and MUST treat unknown or unsupported Service-Types as though an Access-Response with a Result-Code other than DIAMETER-SUCCESS had been received instead. A summary of the Service-Type Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 Calhoun expires November 1998 [Page 16] INTERNET DRAFT May 1998 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 6 for Service-Type. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. AVP Length The length of this attribute MUST be 12. Integer32 The Integer32 field is four octets. 1 Login 2 Framed 3 Callback Login 4 Callback Framed 5 Outbound 6 Administrative 7 NAS Prompt 8 Authenticate Only 9 Callback NAS Prompt The service types are defined as follows when used in an Access- Response. When used in an Access-Request, they should be considered to be a hint to the DIAMETER server that the NAS has reason to believe the user would prefer the kind of service indicated, but the server is not required to honor the hint. Login The user should be connected to a host. Framed A Framed Protocol should be started for the User, such as PPP or SLIP. Callback Login The user should be disconnected and called back, then connected to a host. Calhoun expires November 1998 [Page 17] INTERNET DRAFT May 1998 Callback Framed The user should be disconnected and called back, then a Framed Protocol should be started for the User, such as PPP or SLIP. Outbound The user should be granted access to outgoing devices. Administrative The user should be granted access to the administrative interface to the NAS from which privileged commands can be executed. NAS Prompt The user should be provided a command prompt on the NAS from which non-privileged commands can be executed. Authenticate Only Only Authentication is requested, and no authorization information needs to be returned in the Access-Response (typically used by proxy servers rather than the NAS itself). This SHOULD NOT be used in DIAMETER, yet it is maintained for backward compatibility. Callback NAS Prompt The user should be disconnected and called back, then provided a command prompt on the NAS from which non-privileged commands can be executed. 3.6 Framed-Protocol Description This Attribute indicates the framing to be used for framed access. It MAY be used in both Access-Request and Access-Response messages. A summary of the Framed-Protocol Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Calhoun expires November 1998 [Page 18] INTERNET DRAFT May 1998 Type 7 for Framed-Protocol. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. 1 PPP 2 SLIP 3 AppleTalk Remote Access Protocol (ARAP) 4 Gandalf proprietary SingleLink/MultiLink protocol 5 Xylogics proprietary IPX/SLIP 3.7 Framed-IP-Address Description This Attribute indicates the address to be configured for the user. It MAY be used in Access-Request messages as a hint by the NAS to the server that it would prefer that address, but the server is not required to honor the hint. A summary of the Framed-IP-Address Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 8 for Framed-IP-Address. Calhoun expires November 1998 [Page 19] INTERNET DRAFT May 1998 AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Address The Address field is four octets. The value 0xFFFFFFFF indicates that the NAS should allow the user to select an address (e.g. Negotiated). The value 0xFFFFFFFE indicates that the NAS should select an address for the user (e.g. Assigned from a pool of addresses kept by the NAS). Other valid values indicate that the NAS should use that value as the user's IP address. 3.8 Framed-IP-Netmask Description This Attribute indicates the IP netmask to be configured for the user when the user is a router to a network. It MUST be used in Access-Response messages if the Framed-IP-Address AVP was returned with a value other than 0xFFFFFFFF. It MAY be used in an Access- Request message as a hint by the NAS to the server that it would prefer that netmask, but the server is not required to honor the hint. A summary of the Framed-IP-Netmask Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 9 for Framed-IP-Netmask. AVP Length Calhoun expires November 1998 [Page 20] INTERNET DRAFT May 1998 The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Address The Address field is four octets specifying the IP netmask of the user. 3.9 Framed-Routing Description This Attribute indicates the routing method for the user, when the user is a router to a network. It is only used in Access-Response messages. A summary of the Framed-Routing Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 10 for Framed-Routing. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. Calhoun expires November 1998 [Page 21] INTERNET DRAFT May 1998 0 None 1 Send routing packets 2 Listen for routing packets 3 Send and Listen 3.10 Filter-Id Description This Attribute indicates the name of the filter list for this user. Zero or more Filter-Id attributes MAY be sent in an Access- Response message. Identifying a filter list by name allows the filter to be used on different NASes without regard to filter-list implementation details. However, this AVP is not roaming friendly since filter naming differs from one service provider to another. It is strongly encouraged to support the Filter-Rule AVP instead. A summary of the Filter-Id Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 11 for Filter-Id. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String Calhoun expires November 1998 [Page 22] INTERNET DRAFT May 1998 The String field is one or more octets, and its contents are implementation dependent. It is intended to be human readable and MUST NOT affect operation of the protocol. It is recommended that the message contain displayable ASCII characters from the range 32 through 126 decimal. 3.11 Framed-MTU Description This Attribute indicates the Maximum Transmission Unit to be configured for the user, when it is not negotiated by some other means (such as PPP). It is only used in Access-Response messages. A summary of the Framed-MTU Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 12 for Framed-MTU. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. Despite the size of the field, values range from 64 to 65535. 3.12 Framed-Compression Calhoun expires November 1998 [Page 23] INTERNET DRAFT May 1998 Description This Attribute indicates a compression protocol to be used for the link. It MAY be used in Access-Response packets. It MAY be used in an Access-Request packet as a hint to the server that the NAS would prefer to use that compression, but the server is not required to honor the hint. More than one compression protocol Attribute MAY be sent. It is the responsibility of the NAS to apply the proper compression protocol to appropriate link traffic. A summary of the Framed-Compression Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 13 for Framed-Compression. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. 0 None 1 VJ TCP/IP header compression [7] 2 IPX header compression 3.13 Login-IP-Host Calhoun expires November 1998 [Page 24] INTERNET DRAFT May 1998 Description This Attribute indicates the system with which to connect the user, when the Login-Service Attribute is included. It MAY be used in Access-Response messages. It MAY be used in an Access-Request message as a hint to the server that the NAS would prefer to use that host, but the server is not required to honor the hint. A summary of the Login-IP-Host Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 14 for Login-IP-Host. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Address The Address field is four octets. The value 0xFFFFFFFF indicates that the NAS SHOULD allow the user to select an address. The value zero indicates that the NAS SHOULD select a host to connect the user to. Other values indicate the address the NAS SHOULD connect the user to. 3.14 Login-Service Description This Attribute indicates the service which should be used to connect the user to the login host. It is only used in Access- Calhoun expires November 1998 [Page 25] INTERNET DRAFT May 1998 Response messages. A summary of the Login-Service Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 15 for Login-Service. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. 0 Telnet 1 Rlogin 2 TCP Clear 3 PortMaster (proprietary) 4 LAT 3.15 Login-TCP-Port Description This Attribute indicates the TCP port with which the user is to be connected, when the Login-Service Attribute is also present. It is only used in Access-Response packets. A summary of the Login-TCP-Port Attribute format is shown below. The fields are transmitted from left to right. Calhoun expires November 1998 [Page 26] INTERNET DRAFT May 1998 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 16 for Login-TCP-Port. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. Despite the size of the field, values range from zero to 65535. 3.16 Reply-Message Description This Attribute indicates text which MAY be displayed to the user. When used in an Access-Response message with a successful Result- Code AVP it indicates the success message. When found in the same message with a Result-Code other than DIAMETER-SUCCESS it contains the failure message. It MAY indicate a dialog message to prompt the user before another Access-Request attempt. When used in an Access-Challenge, it MAY indicate a dialog message to prompt the user for a response. Multiple Reply-Message's MAY be included and if any are displayed, they MUST be displayed in the same order as they appear in the packet. Calhoun expires November 1998 [Page 27] INTERNET DRAFT May 1998 A summary of the Reply-Message Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 18 for Reply-Message. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets, and its contents are implementation dependent. It is intended to be human readable, and MUST NOT affect operation of the protocol. It is recommended that the message contain displayable ASCII characters from the range 10, 13, and 32 through 126 decimal. Mechanisms for extension to other character sets are beyond the scope of this specification. 3.17 Callback-Number Description This Attribute indicates a dialing string to be used for callback. It MAY be used in Access-Response packets. It MAY be used in an Access-Request packet as a hint to the server that a Callback service is desired, but the server is not required to honor the hint. A summary of the Callback-Number Attribute format is shown below. The fields are transmitted from left to right. Calhoun expires November 1998 [Page 28] INTERNET DRAFT May 1998 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 19 for Callback-Number. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets. The actual format of the information is site or application specific, and a robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. 3.18 Callback-Id Description This Attribute indicates the name of a place to be called, to be interpreted by the NAS. It MAY be used in Access-Response messages. This AVP is not roaming friendly since it assumes that the Callback-Id is configured on the NAS. It is therefore preferable to use the Callback-Number AVP instead. A summary of the Callback-Id Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 Calhoun expires November 1998 [Page 29] INTERNET DRAFT May 1998 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 20 for Callback-Id. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets. The actual format of the information is site or application specific, and a robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. 3.19 Framed-IP-Route Description This Attribute provides routing information to be configured for the user on the NAS. It is used in the Access-Response message and can appear multiple times. A summary of the Framed-Route Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Calhoun expires November 1998 [Page 30] INTERNET DRAFT May 1998 | String ... +-+-+-+-+-+-+-+-+ Type 22 for Framed-IP-Route. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String It MUST contain a destination prefix in dotted quad form optionally followed by a slash and a decimal length specifier stating how many high order bits of the prefix should be used. That is followed by a space, a gateway address in dotted quad form, a space, and one or more metrics separated by spaces. For example, "192.168.1.0/24 192.168.1.1 1". The length specifier may be omitted in which case it should default to 8 bits for class A prefixes, 16 bits for class B prefixes, and 24 bits for class C prefixes. For example, "192.168.1.0 192.168.1.1 1". Whenever the gateway address is specified as "0.0.0.0" the IP address of the user SHOULD be used as the gateway address. 3.20 Framed-IPX-Network Description This Attribute indicates the IPX Network number to be configured for the user. It is used in Access-Response messages. A summary of the Framed-IPX-Network Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | Calhoun expires November 1998 [Page 31] INTERNET DRAFT May 1998 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 23 for Framed-IPX-Network. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. The value 0xFFFFFFFF indicates that the NAS should allow the user to select an address (e.g. Negotiated). The value 0xFFFFFFFE indicates that the NAS should select an address for the user (e.g. assigned from a pool of one or more IPX networks kept by the NAS). Other values should be used as the IPX network for the link to the user. 3.21 State Description This Attribute is available to be sent by the server to the client in an Access-Challenge and MUST be sent unmodified from the client to the server in the new Access-Request reply to that challenge, if any. In either usage, no interpretation by the client should be made. A packet may have only one State Attribute. Usage of the State Attribute is implementation dependent. A summary of the State Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Calhoun expires November 1998 [Page 32] INTERNET DRAFT May 1998 | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-+-+-+-+ Type 24 for State. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets. The actual format of the information is site or application specific, and a robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. 3.22 Class Description This Attribute is available to be sent by the server to the client in an Access-Response and should be sent unmodified by the client to the accounting server as part of the Accounting-Request message if accounting is supported. No interpretation by the client should be made. A summary of the Class Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... Calhoun expires November 1998 [Page 33] INTERNET DRAFT May 1998 +-+-+-+-+-+-+-+-+ Type 25 for Class. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets. The actual format of the information is site or application specific, and a robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. 3.23 Vendor-Specific Description This AVP is not supported in DIAMETER. Vendor Specific Attributes are used by enabling the Vendor-Specific bit in the AVP header. 3.24 Session-Timeout Description This Attribute sets the maximum number of seconds of service to be provided to the user before termination of the session or prompt. This Attribute is available to be sent by the server to the client in an Access-Response or Access-Challenge. A summary of the Session-Timeout Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | Calhoun expires November 1998 [Page 34] INTERNET DRAFT May 1998 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 27 for Session-Timeout. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is 4 octets, containing a 32-bit unsigned integer with the maximum number of seconds this user should be allowed to remain connected by the NAS. A value of zero means that this session has an unlimited number of seconds before termination or prompt. 3.25 Idle-Timeout Description This Attribute sets the maximum number of consecutive seconds of idle connection allowed to the user before termination of the session or prompt. This Attribute is available to be sent by the server to the client in an Access-Response or Access-Challenge. A summary of the Idle-Timeout Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Calhoun expires November 1998 [Page 35] INTERNET DRAFT May 1998 Type 28 for Idle-Timeout. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is 4 octets, containing a 32-bit unsigned integer with the maximum number of consecutive seconds of idle time this user should be permitted before being disconnected by the NAS. 3.26. Termination-Action Description This Attribute is not supported in DIAMETER. 3.27 Called-Station-Id Description This Attribute allows the NAS to send in the Access-Request message the phone number that the user called, using Dialed Number Identification (DNIS) or similar technology. Note that this may be different from the phone number the call comes in on. It is only used in Access-Request packets. If the Authorization-Only flag is set in the message and the User-Name AVP is absent, the DIAMETER Server MUST perform authorization based on this field. This can be used by a NAS to request whether a call should be answered based on the DNIS. A summary of the Called-Station-Id Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Calhoun expires November 1998 [Page 36] INTERNET DRAFT May 1998 | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 30 for Called-Station-Id. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets, containing the phone number that the user's call came in on. The actual format of the information is site or application specific. Printable ASCII is recommended, but a robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. 3.28 Calling-Station-Id Description This Attribute allows the NAS to send in the Access-Request packet the phone number that the call came from, using Automatic Number Identification (ANI) or similar technology. It is only used in Access-Request packets. If the Authorization-Only flag is set in the message and the User-Name AVP is absent, the DIAMETER Server must perform authorization based on this field. This can be used by a NAS to request whether a call should be answered based on the ANI. A summary of the Calling-Station-Id Attribute format is shown below. The fields are transmitted from left to right. Calhoun expires November 1998 [Page 37] INTERNET DRAFT May 1998 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 31 for Calling-Station-Id. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets, containing the phone number that the user placed the call from. The actual format of the information is site or application specific. Printable ASCII is recommended, but a robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. 3.29 Proxy-State Description This Attribute is available to be sent by a proxy server to another server when forwarding an Access-Request and MUST be returned unmodified in the Access-Response, or Access-Challenge. This attribute should be removed by the proxy server before the response is forwarded to the NAS, and SHOULD therefore not be protected by the Integrity-Check-Vector or the Digital-Signature. A summary of the Proxy-State Attribute format is shown below. The Calhoun expires November 1998 [Page 38] INTERNET DRAFT May 1998 fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-+-+-+-+ Type 33 for Proxy-State. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets. The actual format of the information is site or application specific, and a robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. 3.30 Login-LAT-Service Description This Attribute indicates the system with which the user is to be connected by LAT. It MAY be used in Access-Response packets, but only when LAT is specified as the Login-Service. It MAY be used in an Access-Request packet as a hint to the server, but the server is not required to honor the hint. Administrators use the service attribute when dealing with clustered systems, such as a VAX or Alpha cluster. In such an environment several different time sharing hosts share the same resources (disks, printers, etc.), and administrators often Calhoun expires November 1998 [Page 39] INTERNET DRAFT May 1998 configure each to offer access (service) to each of the shared resources. In this case, each host in the cluster advertises its services through LAT broadcasts. Sophisticated users often know which service providers (machines) are faster and tend to use a node name when initiating a LAT connection. Alternately, some administrators want particular users to use certain machines as a primitive form of load balancing (although LAT knows how to do load balancing itself). A summary of the Login-LAT-Service Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 34 for Login-LAT-Service. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets, and contains the identity of the LAT service to use. The LAT Architecture allows this string to contain $ (dollar), - (hyphen), . (period), _ (underscore), numerics, upper and lower case alphabetics, and the ISO Latin-1 character set extension [8]. All LAT string comparisons are case insensitive. 3.31 Login-LAT-Node Description Calhoun expires November 1998 [Page 40] INTERNET DRAFT May 1998 This Attribute indicates the Node with which the user is to be automatically connected by LAT. It MAY be used in Access-Response packets, but only when LAT is specified as the Login-Service. It MAY be used in an Access-Request packet as a hint to the server, but the server is not required to honor the hint. A summary of the Login-LAT-Node Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 35 for Login-LAT-Node. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets, and contains the identity of the LAT Node to connect the user to. The LAT Architecture allows this string to contain $ (dollar), - (hyphen), . (period), _ (underscore), numerics, upper and lower case alphabetics, and the ISO Latin-1 character set extension. All LAT string comparisons are case insensitive. 3.32 Login-LAT-Group Description This Attribute contains a string identifying the LAT group codes which this user is authorized to use. It MAY be used in Access- Response packets, but only when LAT is specified as the Login- Calhoun expires November 1998 [Page 41] INTERNET DRAFT May 1998 Service. It MAY be used in an Access-Request packet as a hint to the server, but the server is not required to honor the hint. LAT supports 256 different group codes, which LAT uses as a form of access rights. LAT encodes the group codes as a 256 bit bitmap. Administrators can assign one or more of the group code bits at the LAT service provider; it will only accept LAT connections that have these group codes set in the bit map. The administrators assign a bitmap of authorized group codes to each user; LAT gets these from the operating system, and uses these in its requests to the service providers. A summary of the Login-LAT-Group Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-+-+-+-+ Type 36 for Login-LAT-Group. AVP Length The length of this attribute MUST be 40. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Data The Data field is a 32 octet bit map, most significant octet first. A robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. Calhoun expires November 1998 [Page 42] INTERNET DRAFT May 1998 3.33 Framed-AppleTalk-Link Description This Attribute indicates the AppleTalk network number which should be used for the serial link to the user, which is another AppleTalk router. It is only used in Access-Response packets. It is never used when the user is not another router. A summary of the Framed-AppleTalk-Link Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 37 for Framed-AppleTalk-Link. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. Despite the size of the field, values range from zero to 65535. The special value of zero indicates that this is an unnumbered serial link. A value of one to 65535 means that the serial line between the NAS and the user should be assigned that value as an AppleTalk network number. 3.34 Framed-AppleTalk-Network Description This Attribute indicates the AppleTalk Network number which the Calhoun expires November 1998 [Page 43] INTERNET DRAFT May 1998 NAS should probe to allocate an AppleTalk node for the user. It is only used in Access-Response packets. It is never used when the user is another router. Multiple instances of this Attribute indicate that the NAS may probe using any of the network numbers specified. A summary of the Framed-AppleTalk-Network Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 38 for Framed-AppleTalk-Network. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. Despite the size of the field, values range from zero to 65535. The special value zero indicates that the NAS should assign a network for the user, using its default cable range. A value between one and 65535 (inclusive) indicates the AppleTalk Network the NAS should probe to find an address for the user. 3.35 Framed-AppleTalk-Zone Description This Attribute indicates the AppleTalk Default Zone to be used for this user. It is only used in Access-Response packets. Multiple instances of this attribute in the same packet are not allowed. Calhoun expires November 1998 [Page 44] INTERNET DRAFT May 1998 A summary of the Framed-AppleTalk-Zone Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-+-+-+-+ Type 39 for Framed-AppleTalk-Zone. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The name of the Default AppleTalk Zone to be used for this user. A robust implementation SHOULD support the field as undistinguished octets. The codification of the range of allowed usage of this field is outside the scope of this specification. 3.36 CHAP-Challenge Description This Attribute contains the CHAP Challenge sent by the NAS to a PPP Challenge-Handshake Authentication Protocol (CHAP) user. It is only used in Access-Request packets. A summary of the CHAP-Challenge Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Calhoun expires November 1998 [Page 45] INTERNET DRAFT May 1998 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-+-+-+-+ Type 60 for CHAP-Challenge. AVP Length The length of this attribute MUST be at least 24. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Data The Data field contains the CHAP Challenge. 3.37 NAS-Port-Type Description This Attribute indicates the type of the physical port of the NAS which is authenticating the user. It can be used instead of or in addition to the NAS-Port (5) attribute. It is only used in Access-Request packets. Either NAS-Port (5) or NAS-Port-Type or both SHOULD be present in an Access-Request packet, if the NAS differentiates among its ports. A summary of the NAS-Port-Type Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Calhoun expires November 1998 [Page 46] INTERNET DRAFT May 1998 Type 61 for NAS-Port-Type. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets. "Virtual" refers to a connection to the NAS via some transport protocol, instead of through a physical port. For example, if a user telnetted into a NAS to authenticate himself as an Outbound-User, the Access- Request might include NAS-Port-Type = Virtual as a hint to the RADIUS server that the user was not on a physical port. 0 Async 1 Sync 2 ISDN Sync 3 ISDN Async V.120 4 ISDN Async V.110 5 Virtual 3.38 Port-Limit Description This Attribute sets the maximum number of ports to be provided to the user by the NAS. This Attribute MAY be sent by the server to the client in an Access-Response packet. It is intended for use in conjunction with Multilink PPP [9] or similar uses. It MAY also be sent by the NAS to the server as a hint that that many ports are desired for use, but the server is not required to honor the hint. A summary of the Port-Limit Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Calhoun expires November 1998 [Page 47] INTERNET DRAFT May 1998 | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 62 for Port-Limit. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field is four octets, containing a 32-bit unsigned integer with the maximum number of ports this user should be allowed to connect to on the NAS. 3.39 Login-LAT-Port Description This Attribute indicates the Port with which the user is to be connected by LAT. It MAY be used in Access-Response packets, but only when LAT is specified as the Login-Service. It MAY be used in an Access-Request packet as a hint to the server, but the server is not required to honor the hint. A summary of the Login-LAT-Port Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type Calhoun expires November 1998 [Page 48] INTERNET DRAFT May 1998 63 for Login-LAT-Port. AVP Length The length of this attribute MUST be at least 9. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field is one or more octets, and contains the identity of the LAT port to use. The LAT Architecture allows this string to contain $ (dollar), - (hyphen), . (period), _ (underscore), numerics, upper and lower case alphabetics, and the ISO Latin-1 character set extension. All LAT string comparisons are case insensitive. 3.40 Filter-Rule Description This Attribute provides filter rules that need to be configured on the NAS for the user. It is used in the Access-Response message and can appear multiple times. A summary of the Filter-Rule Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | String ... +-+-+-+-+-+-+-+-+ Type 280 for Filter-Rule. AVP Length The length of this attribute MUST be at least 9. Calhoun expires November 1998 [Page 49] INTERNET DRAFT May 1998 AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. String The String field MUST contain a filter rule in the following format: "permit (offset=value AND offset=value) OR offset=value" or "deny (offset=value AND offset=value) OR offset=value". 3.41 Framed-Password-Policy Description This Attribute is used to indicate to a peer what types of authentication are supported by the issuing DIAMETER peer. More than one Framed-Password-Policy AVP MAY be present in the Domain- Discovery-Response message. A summary of the User-Name Attribute format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Length | AVP Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integer32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 281 for Framed-Password-Policy. AVP Length The length of this attribute MUST be 12. AVP Flags The AVP Flags field MUST have bit one (Mandatory Support) set. Integer32 The Integer32 field contains the supported authentication schemes Calhoun expires November 1998 [Page 50] INTERNET DRAFT May 1998 supported. The following values are supported: PAP 1 CHAP 2 MS-CHAP 3 EAP 4 SPAP 5 3.42 Table of Attributes The following table provides a guide to which attributes may be found in which kinds of packets, and in what quantity. Req Succ Fail Chal Disc-Req Disc-Rsp # Attribute 0-1 0-1 0 0 1 0-1 1 User-Name 0-1 0 0 0 0 0 2 User-Password [*1] 0-1 0 0 0 0 0 3 CHAP-Password [*1] 0-1 0 0 0 0 0 4 NAS-IP-Address 0-1 0 0 0 0 0 5 NAS-Port 0-1 0-1 0 0 0 0 6 Service-Type 0-1 0-1 0 0 0 0 7 Framed-Protocol 0-1 0-1 0 0 0 0 8 Framed-IP-Address 0-1 0-1 0 0 0 0 9 Framed-IP-Netmask 0 0-1 0 0 0 0 10 Framed-Routing 0 0+ 0 0 0 0 11 Filter-Id 0 0-1 0 0 0 0 12 Framed-MTU 0+ 0+ 0 0 0 0 13 Framed-Compression 0+ 0+ 0 0 0 0 14 Login-IP-Host 0 0-1 0 0 0 0 15 Login-Service 0 0-1 0 0 0 0 16 Login-TCP-Port 0 0+ 0+ 0+ 0 0 18 Reply-Message 0-1 0-1 0 0 0 0 19 Callback-Number 0 0-1 0 0 0 0 20 Callback-Id 0 0+ 0 0 0 0 22 Framed-Route 0 0-1 0 0 0 0 23 Framed-IPX-Network 0-1 0-1 0 0-1 0 0 24 State 0 0+ 0 0 0 0 25 Class 0 0-1 0 0-1 0-1 0-1 27 Session-Timeout 0 0-1 0 0-1 0-1 0-1 28 Idle-Timeout 0 0-1 0 0 0 0 29 Termination-Action 0-1 0 0 0 0 0 30 Called-Station-Id 0-1 0 0 0 0 0 31 Calling-Station-Id 0-1 0 0 0 0 0 32 NAS-Identifier 0+ 0+ 0+ 0+ 0+ 0+ 33 Proxy-State 0-1 0-1 0 0 0 0 34 Login-LAT-Service 0-1 0-1 0 0 0 0 35 Login-LAT-Node 0-1 0-1 0 0 0 0 36 Login-LAT-Group Calhoun expires November 1998 [Page 51] INTERNET DRAFT May 1998 0 0-1 0 0 0 0 37 Framed-AppleTalk-Link 0 0+ 0 0 0 0 38 Framed-AppleTalk-Net. 0 0-1 0 0 0 0 39 Framed-AppleTalk-Zone 0-1 0 0 0 0 0 60 CHAP-Challenge 0-1 0 0 0 0 0 61 NAS-Port-Type 0-1 0-1 0 0 0 0 62 Port-Limit 0-1 0-1 0 0 0 0 63 Login-LAT-Port 0 0+ 0 0 0 0 280 Filter-Rule 0 0 0 0 0+ 0+ 281 Framed-Password-Pol. Req Succ Fail Chal Disc-Req Disc-Rsp # Attribute [*1] An Access-Request MUST NOT contain both a User-Password and a CHAP-Password AVP. The following table defines the meaning of the above table entries. 0 This attribute MUST NOT be present in packet. 0+ Zero or more instances of this attribute MAY be present in packet. 0-1 Zero or one instance of this attribute MAY be present in packet. 1 Exactly one instance of this attribute MUST be present in packet. 4.0 Protocol Definition This section will outline how the DIAMETER Authentication Extension can be used. 4.1 Authorization Procedure This specification allows two different types of Authorization procedures. The first method is identical to the way RADIUS works today and requires the Access-Request to contain the UserName as well as either the Password or the CHAP-Password AVPs. The second method is used by NASes that send Access-Request whenever they receive an incoming call and want to get authorization from the DIAMETER Server to answer the call. In this case the Access-Request contains the NAS-IP-Address, the Calling-Station-Id and the Called- Station-Id AVPs. In this case the DIAMETER Server can lookup the combination of the Calling-Station-Id and the Called-Station-Id in order to ensure that the pair are authorized as per the local policy. Calhoun expires November 1998 [Page 52] INTERNET DRAFT May 1998 4.2 Integration with Resource-Management Document [10] specifies the Resource-Token AVP that is used to carry information required for a DIAMETER server to rebuild its state information in the event of a crash or some other event that would cause the server to loose its state information. When creating the Resource-Token AVP, the following AVPs MUST be present, in addition to the AVPs listed in [10]; the UserName AVP, the NAS-IP- Address, the NAS-Port. Any additional AVP MAY be included if the AVP is a resource that is being managed (i.e. Framed-IP- Address in the case where the DIAMETER Server is allocating IP Addresses out of a centrally managed address pool). 4.3 RADIUS Proxies In today's dial up networks the RADIUS protocol is used to authentication, authorize and perform accounting for dial-up users. However, it has become common practice to make use of RADIUS Servers known as proxies. The use of proxies has become widespread especially with the popularity of Internet Roaming[4]. In this example a user has a single user account with a local service provider. When this user roams outside of the ISP's service area, it is possible for the user to connect to another service provider (see [4] for more detail). In this scenario, the new service provider (ISPB) provides internet access for the user through a NAS (NASB). ISPB owns an authentication server (RADB), which proxies the authentication request to the user's original provider's authentication server (RADA). (Access-Request) (Access-Request) +------+ -----> +------+ ------> +------+ | | | | | | | NASB +--------------------+ RADB +--------------------+ RADA | | | | | | | +------+ <----- +------+ <------ +------+ (Access-Accept) (Access-Accept) The example shown above NASB generates an authentication request on behalf of the dial-in user to the RADB Authentication server. In this case, the user's identity would include a domain identifier [3] that would enable RADB to identify the authentication server (i.e. user@ISPA.com). The RADB server then forwards the request to RADA which authenticates Calhoun expires November 1998 [Page 53] INTERNET DRAFT May 1998 the user based on information found within the request. If successfully authenticated the RADA server returns a successful response along with authorization information. If the user authentication fails RADA replies with a failed response. In the past this model has caused much concern over it's security implication. The model is much worse in the when there exists an intermediate provider between ISPB and ISPA (say ISPC). The following diagram depicts such an example where RADB must forward any requests for RADA through RADC. (Accounting-Request) (Accounting-Request) +------+ -----> +------+ ------> +------+ | | | | | | | RADB +--------------------+ RADC +--------------------+ RADA | | | | | | | +------+ <----- +------+ <------ +------+ (Accounting-Response) (Accounting-Response) The problem with the above scenario is that complete trust is placed in RADC (and hence ISPC) since it is very simple to modify any attributes found within the request or the response. The example shows an accounting request sent from RADB to RADA through RADC. The following is a list of a few attacks which can be generated by a malicious proxy: - Generating Accounting Records by replaying old authentication/accounting records. In this example it is very simple for RADC to simple retain old packets and replay then at a later date. This will cause RADA to "pay" for services which were never rendered. - Modify Attributes within the request or response. In this case RADC can modify attributes, such as the length of the call, that would fool RADA into believing the call was longer than in reality. - Stealing PAP Passwords is another problem with today's proxies. In the current model PAP passwords are encrypted using a shared secret which is shared between each hop in the proxy chain. In this case each hop has the opportunity to decrypt, and possibly save for future use, the user's password. Given the problems identified above with the current proxy model it is necessary to create a mechanism which allows for non-repudiation, end-to-end data integrity as well as end-to-end encryption. Given the current encryption technology this can only be achieved with the use of asymetric encryption and digital signatures. Calhoun expires November 1998 [Page 54] INTERNET DRAFT May 1998 4.4 DIAMETER Proxies The DIAMETER protocol also makes use of proxies in order to keep the existing arrangements while migrating from RADIUS to DIAMETER. However since DIAMETER makes use of asymetric encryption and digital signatures it solves many of the problems shown above. (Access-Request) (Access-Request) +------+ -----> +------+ ------> +------+ | | | | | | | NASB +--------------------+ DIA2 +--------------------+ DIA1 | | | | | | | +------+ <----- +------+ <------ +------+ (Access-Response) (Access-Response) In this example NASB generates an Access-Request that is forwarded to DIA2. The Access-Request contains a digital signature AVP which "protects" all mandatory (or non-editable) AVPs within the request. All AVPs which may be modified, or removed appear after the digital signature AVP. Once DIA2 receives the request, it MAY authenticate the request to ensure that it was originated by NASB (verifying the signature is not necessary if the link between NASB and DIA2 is secured using IPSEC). The DIA2 Server may then add new attributes to the request. All mandatory AVPs MUST be present prior to the non mandatory AVPs and MUST be preceeded by a Digital Signature AVP (using DIA2's private key). Note that all non-mandatory AVPs added to the packet by NASB must appear after DIA2's digital signature AVP. The message is then forwarded towards the DIA1 server. Since all packets between NASB and DIA1 must flow through DIA2, it is not possible to use IPSEC between both hosts. Therefore DIA1 MUST validate NASB's digital signature AVP. However it is not necessary to validate DIA2's digital signature if the link between DIA2 and DIA1 is secured using IPSEC. This mechanism now provides a method for DIA1 to prove that NASB was the initiator of the request (note that DIAMETER also includes a timestap to prevent replay attacks). It also provides a method of ensuring that DIA2 cannot modify any "non-editable" attributes (such as length of call, etc). In addition, this same mechanism can be used for end-to-end encryption of AVPs. In the case where NASB needs to encrypt an AVP it is done using asymetric encryption using DIA1's public key. This ensures that only DIA1 can decrypt the AVP. Calhoun expires November 1998 [Page 55] INTERNET DRAFT May 1998 An attack has been identified in this proposal which allows a malicous man in the middle attack as shown in the following diagram. (Access-Request) (Access-Request) (Access-Request) +------+ -----> +------+ -----> +------+ -----> +------+ | | | | | | | | | NASB +----------+ DIA2 +----------+ DIA3 +----------+ DIA1 | | | | | | | | | +------+ <----- +------+ <----- +------+ <----- +------+ (Access-Response) (Access-Response) (Access-Response) In this example, DIA3 traps packets generated from DIA2 towards DIA1, removes the AVPs added by DIA2 and inserts its own AVPs (posibly by trying to convince DIA1 to pay DIA3 for the services). This attack can be prevented by supporting a new Next-Hop AVP. In this case when NASB prepares a request it inserts a non-editable Next-Hop AVP which contains DIA2's identitity. DIA2 also adds a Next-Hop AVP with DIA1 as the next hop. This mechanism ensures that a man in the middle cannot alter the packet by overriding the previous hop's additions and signature. DIA1 could easily validate the packet's path with the use of the Next-Hop AVPs. 4.5 Domain Discovery The Domain Discovery message set is very useful in determining the Home authentication server, the password policies for the domain, as a mechanism to retrieve a certificate (or a pointer to a certificate). The following example shows a case where DIA1 needs to communicate with DIA3. In this example it is necessary to use DIA2 as a proxy in order for both ISPs to communicate. Although this MAY be desireable in some business models, there are cases where it is beneficial to remove the proxy altogether and allow both DIA3 and DIA1 to communicate in a secure fashion. (DD-Request) (DD-Request) +------+ -----> +------+ ------> +------+ | | | | | | | DIA1 +--------------------+ DIA2 +--------------------+ DIA3 | | | | | | | +------+ <----- +------+ <------ +------+ (DD-Response) (DD-Response) The way the Domain Discovery works is that prior to sending out an Calhoun expires November 1998 [Page 56] INTERNET DRAFT May 1998 authentication request DIA1 would issue a Domain Discovery message towards DIA2. This message is protected with the digital signature as well as the Next-Hop AVP. DIA2 would then forward the request to DIA3 including the Next-Hop and the digital signature AVP. When DIA3 receives the request, it MUST save the certificate (or the pointer to the certificate) and respond back including the local password policy, DIA3's certificate, it's contact information (i.e. IP address) and protect the response with the digital signature. Note that in all cases the TimeStamp AVP is also present to ensure no reply packets are accepted. When DIA2 receives the packet, it must add the Next-Hop AVP as well as the digital signature AVP. When DIA1 receives the packet it then knows a direct route to communicate with DIA3 since the contact information is present in the response. The fact that both DIA1 and DIA3 can now communicate directly allows both peers to use IPSEC to protect the message exchange (note that it MAY be desirable to also use the digital signature in order to keep the information in the DIAMETER logs). (Access-Request) +------+ -----> +------+ | | | | | DIA1 +--------------------+ DIA3 | | | | | +------+ <----- +------+ (Access-Response) In addition, the password policy is also present which can indicate whether DIA3 is willing to accept CHAP, PAP or EAP authentication. Note that the Domain-Request/Response MAY include the Supported- Extension AVPs [2]. 5.0 References [1] Rigney, et alia, "RADIUS", RFC-2138, Livingston, April 1997 [2] Calhoun, Rubens, "DIAMETER Base Protocol", Internet-Draft, draft-calhoun-diameter-03.txt, May 1998. [3] Aboba, Beadles, "Network Address Identifier", Internet- Draft, draft-ietf-roamops-nai-10.txt, February 1998. [4] Aboba, Zorn, "Dialup Roaming Requirements", Internet-Draft, Calhoun expires November 1998 [Page 57] INTERNET DRAFT May 1998 July 1997. [5] Calhoun, Rubens, Aboba, "DIAMETER Extensible Authentication Protocol Extensions", Internet-Draft, draft-calhoun- diameter-eap-01.txt, March 1998. [6] Calhoun, Haag, Zorn, "EAP Authentication for SOCKS Version 5", draft-ietf-aft-socks-eap-00.txt, March 1998. [7] Jacobson, "Compressing TCP/IP headers for low-speed serial links", RFC 1144, February 1990. [8] ISO 8859. International Standard -- Information Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 1: Latin Alphabet No. 1, ISO 8859-1:1987. [9] Sklower, Lloyd, McGregor, Carr, "The PPP Multilink Protocol (MP)", RFC 1717, November 1994. [10] Calhoun, Greene, "DIAMETER Resource Management Extension", Internet-Draft, draft-calhoun-diameter-res-mgmt-01.txt, May 1998. [11] Calhoun, Zorn, Pan, "DIAMETER Framework", Internet- Draft, draft-calhoun-diameter-framework-00.txt, May 1998 6.0 Acknowledgements The Author wishes to thank Carl Rigney since much of the text in the document was shamefully copied from [1] as well as the following people for their help in the development of this protocol: Nancy Greene, Ryan Moats 7.0 Authors' Addresses Questions about this memo can be directed to: Pat R. Calhoun Technology Development Sun Microsystems, Inc. 15 Network Circle Menlo Park, California, 94025 USA Calhoun expires November 1998 [Page 58] INTERNET DRAFT May 1998 Phone: 1-650-786-7733 Fax: 1-650-786-6445 E-mail: pcalhoun@eng.sun.com William Bulley Merit Network, Inc. 4251 Plymouth Road, Suite C Ann Arbor, Michigan, 48105-2785 USA Phone: 1-734-764-9993 Fax: 1-734-647-3185 E-mail: web@merit.edu Calhoun expires November 1998 [Page 59]