draft-ietf-dime-rfc4005bis-14.txt | rfc7155.txt | |||
---|---|---|---|---|
Network Working Group G. Zorn, Ed. | Internet Engineering Task Force (IETF) G. Zorn, Ed. | |||
Internet-Draft Network Zen | Request for Comments: 7155 Network Zen | |||
Obsoletes: 4005 (if approved) November 28, 2013 | Obsoletes: 4005 April 2014 | |||
Intended status: Standards Track | Category: Standards Track | |||
Expires: June 1, 2014 | ISSN: 2070-1721 | |||
Diameter Network Access Server Application | Diameter Network Access Server Application | |||
draft-ietf-dime-rfc4005bis-14 | ||||
Abstract | Abstract | |||
This document describes the Diameter protocol application used for | This document describes the Diameter protocol application used for | |||
Authentication, Authorization, and Accounting (AAA) services in the | Authentication, Authorization, and Accounting services in the Network | |||
Network Access Server (NAS) environment; it obsoletes RFC 4005. When | Access Server (NAS) environment; it obsoletes RFC 4005. When | |||
combined with the Diameter Base protocol, Transport Profile, and | combined with the Diameter Base protocol, Transport Profile, and | |||
Extensible Authentication Protocol specifications, this application | Extensible Authentication Protocol specifications, this application | |||
specification satisfies typical network access services requirements. | specification satisfies typical network access services requirements. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at http://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 5741. | ||||
This Internet-Draft will expire on June 1, 2014. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
http://www.rfc-editor.org/info/rfc7155. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2014 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction ....................................................4 | |||
1.1. Changes from RFC 4005 . . . . . . . . . . . . . . . . . . 5 | 1.1. Changes from RFC 4005 ......................................5 | |||
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6 | 1.2. Terminology ................................................6 | |||
1.3. Requirements Language . . . . . . . . . . . . . . . . . . 7 | 1.3. Requirements Language ......................................7 | |||
1.4. Advertising Application Support . . . . . . . . . . . . . 8 | 1.4. Advertising Application Support ............................8 | |||
1.5. Application Identification . . . . . . . . . . . . . . . 8 | 1.5. Application Identification .................................8 | |||
1.6. Accounting Model . . . . . . . . . . . . . . . . . . . . 8 | 1.6. Accounting Model ...........................................8 | |||
2. NAS Calls, Ports, and Sessions . . . . . . . . . . . . . . . 8 | 2. NAS Calls, Ports, and Sessions ..................................8 | |||
2.1. Diameter Session Establishment . . . . . . . . . . . . . 8 | 2.1. Diameter Session Establishment .............................9 | |||
2.2. Diameter Session Reauthentication or Reauthorization . . 9 | 2.2. Diameter Session Reauthentication or Reauthorization .......9 | |||
2.3. Diameter Session Termination . . . . . . . . . . . . . . 10 | 2.3. Diameter Session Termination ..............................10 | |||
3. Diameter NAS Application Messages . . . . . . . . . . . . . . 10 | 3. Diameter NAS Application Messages ..............................11 | |||
3.1. AA-Request (AAR) Command . . . . . . . . . . . . . . . . 11 | 3.1. AA-Request (AAR) Command ..................................11 | |||
3.2. AA-Answer (AAA) Command . . . . . . . . . . . . . . . . . 12 | 3.2. AA-Answer (AAA) Command ...................................13 | |||
3.3. Re-Auth-Request (RAR) Command . . . . . . . . . . . . . . 14 | 3.3. Re-Auth-Request (RAR) Command .............................15 | |||
3.4. Re-Auth-Answer (RAA) Command . . . . . . . . . . . . . . 15 | 3.4. Re-Auth-Answer (RAA) Command ..............................16 | |||
3.5. Session-Termination-Request (STR) Command . . . . . . . . 16 | 3.5. Session-Termination-Request (STR) Command .................17 | |||
3.6. Session-Termination-Answer (STA) Command . . . . . . . . 17 | 3.6. Session-Termination-Answer (STA) Command ..................17 | |||
3.7. Abort-Session-Request (ASR) Command . . . . . . . . . . . 17 | 3.7. Abort-Session-Request (ASR) Command .......................18 | |||
3.8. Abort-Session-Answer (ASA) Command . . . . . . . . . . . 18 | 3.8. Abort-Session-Answer (ASA) Command ........................19 | |||
3.9. Accounting-Request (ACR) Command . . . . . . . . . . . . 19 | 3.9. Accounting-Request (ACR) Command ..........................20 | |||
3.10. Accounting-Answer (ACA) Command . . . . . . . . . . . . . 21 | 3.10. Accounting-Answer (ACA) Command ..........................22 | |||
4. Diameter NAS Application AVPs . . . . . . . . . . . . . . . . 22 | 4. Diameter NAS Application AVPs ..................................23 | |||
4.1. Derived AVP Data Formats . . . . . . . . . . . . . . . . 22 | 4.1. Derived AVP Data Formats ..................................23 | |||
4.1.1. QoSFilterRule . . . . . . . . . . . . . . . . . . . . 22 | 4.1.1. QoSFilterRule ......................................23 | |||
4.2. NAS Session AVPs . . . . . . . . . . . . . . . . . . . . 23 | 4.2. NAS Session AVPs ..........................................24 | |||
4.2.1. Call and Session Information . . . . . . . . . . . . 24 | 4.2.1. Call and Session Information .......................24 | |||
4.2.2. NAS-Port AVP . . . . . . . . . . . . . . . . . . . . 24 | 4.2.2. NAS-Port AVP .......................................25 | |||
4.2.3. NAS-Port-Id AVP . . . . . . . . . . . . . . . . . . . 25 | 4.2.3. NAS-Port-Id AVP ....................................25 | |||
4.2.4. NAS-Port-Type AVP . . . . . . . . . . . . . . . . . . 25 | 4.2.4. NAS-Port-Type AVP ..................................26 | |||
4.2.5. Called-Station-Id AVP . . . . . . . . . . . . . . . . 25 | 4.2.5. Called-Station-Id AVP ..............................26 | |||
4.2.6. Calling-Station-Id AVP . . . . . . . . . . . . . . . 25 | 4.2.6. Calling-Station-Id AVP .............................26 | |||
4.2.7. Connect-Info AVP . . . . . . . . . . . . . . . . . . 26 | 4.2.7. Connect-Info AVP ...................................27 | |||
4.2.8. Originating-Line-Info AVP . . . . . . . . . . . . . . 26 | 4.2.8. Originating-Line-Info AVP ..........................27 | |||
4.2.9. Reply-Message AVP . . . . . . . . . . . . . . . . . . 27 | 4.2.9. Reply-Message AVP ..................................28 | |||
4.3. NAS Authentication AVPs . . . . . . . . . . . . . . . . . 27 | 4.3. NAS Authentication AVPs ...................................28 | |||
4.3.1. User-Password AVP . . . . . . . . . . . . . . . . . . 28 | 4.3.1. User-Password AVP ..................................29 | |||
4.3.2. Password-Retry AVP . . . . . . . . . . . . . . . . . 28 | 4.3.2. Password-Retry AVP .................................29 | |||
4.3.3. Prompt AVP . . . . . . . . . . . . . . . . . . . . . 28 | 4.3.3. Prompt AVP .........................................29 | |||
4.3.4. CHAP-Auth AVP . . . . . . . . . . . . . . . . . . . . 29 | 4.3.4. CHAP-Auth AVP ......................................29 | |||
4.3.5. CHAP-Algorithm AVP . . . . . . . . . . . . . . . . . 29 | 4.3.5. CHAP-Algorithm AVP .................................30 | |||
4.3.6. CHAP-Ident AVP . . . . . . . . . . . . . . . . . . . 29 | 4.3.6. CHAP-Ident AVP .....................................30 | |||
4.3.7. CHAP-Response AVP . . . . . . . . . . . . . . . . . . 29 | 4.3.7. CHAP-Response AVP ..................................30 | |||
4.3.8. CHAP-Challenge AVP . . . . . . . . . . . . . . . . . 29 | 4.3.8. CHAP-Challenge AVP .................................30 | |||
4.3.9. ARAP-Password AVP . . . . . . . . . . . . . . . . . . 30 | 4.3.9. ARAP-Password AVP ..................................30 | |||
4.3.10. ARAP-Challenge-Response AVP . . . . . . . . . . . . . 30 | 4.3.10. ARAP-Challenge-Response AVP .......................31 | |||
4.3.11. ARAP-Security AVP . . . . . . . . . . . . . . . . . . 30 | 4.3.11. ARAP-Security AVP .................................31 | |||
4.3.12. ARAP-Security-Data AVP . . . . . . . . . . . . . . . 30 | 4.3.12. ARAP-Security-Data AVP ............................31 | |||
4.4. NAS Authorization AVPs . . . . . . . . . . . . . . . . . 30 | 4.4. NAS Authorization AVPs ....................................31 | |||
4.4.1. Service-Type AVP . . . . . . . . . . . . . . . . . . 32 | 4.4.1. Service-Type AVP ...................................33 | |||
4.4.2. Callback-Number AVP . . . . . . . . . . . . . . . . . 33 | 4.4.2. Callback-Number AVP ................................34 | |||
4.4.3. Callback-Id AVP . . . . . . . . . . . . . . . . . . . 33 | 4.4.3. Callback-Id AVP ....................................34 | |||
4.4.4. Idle-Timeout AVP . . . . . . . . . . . . . . . . . . 33 | 4.4.4. Idle-Timeout AVP ...................................34 | |||
4.4.5. Port-Limit AVP . . . . . . . . . . . . . . . . . . . 33 | 4.4.5. Port-Limit AVP .....................................34 | |||
4.4.6. NAS-Filter-Rule AVP . . . . . . . . . . . . . . . . . 33 | 4.4.6. NAS-Filter-Rule AVP ................................35 | |||
4.4.7. Filter-Id AVP . . . . . . . . . . . . . . . . . . . . 34 | 4.4.7. Filter-Id AVP ......................................35 | |||
4.4.8. Configuration-Token AVP . . . . . . . . . . . . . . . 34 | 4.4.8. Configuration-Token AVP ............................35 | |||
4.4.9. QoS-Filter-Rule AVP . . . . . . . . . . . . . . . . . 34 | 4.4.9. QoS-Filter-Rule AVP ................................35 | |||
4.4.10. Framed Access Authorization AVPs . . . . . . . . . . 35 | 4.4.10. Framed Access Authorization AVPs ..................36 | |||
4.4.10.1. Framed-Protocol AVP . . . . . . . . . . . . . . 35 | 4.4.10.1. Framed-Protocol AVP ......................36 | |||
4.4.10.2. Framed-Routing AVP . . . . . . . . . . . . . . . 35 | 4.4.10.2. Framed-Routing AVP .......................36 | |||
4.4.10.3. Framed-MTU AVP . . . . . . . . . . . . . . . . . 36 | 4.4.10.3. Framed-MTU AVP ...........................37 | |||
4.4.10.4. Framed-Compression AVP . . . . . . . . . . . . . 36 | 4.4.10.4. Framed-Compression AVP ...................37 | |||
4.4.10.5. IP Access Authorization AVPs . . . . . . . . . . 36 | 4.4.10.5. IP Access Authorization AVPs .............37 | |||
4.4.10.5.1. Framed-IP-Address AVP . . . . . . . . . . . 36 | 4.4.10.5.1. Framed-IP-Address AVP .........37 | |||
4.4.10.5.2. Framed-IP-Netmask AVP . . . . . . . . . . . 36 | 4.4.10.5.2. Framed-IP-Netmask AVP .........37 | |||
4.4.10.5.3. Framed-Route AVP . . . . . . . . . . . . . . 37 | 4.4.10.5.3. Framed-Route AVP ..............38 | |||
4.4.10.5.4. Framed-Pool AVP . . . . . . . . . . . . . . 37 | 4.4.10.5.4. Framed-Pool AVP ...............38 | |||
4.4.10.5.5. Framed-Interface-Id AVP . . . . . . . . . . 37 | 4.4.10.5.5. Framed-Interface-Id AVP .......38 | |||
4.4.10.5.6. Framed-IPv6-Prefix AVP . . . . . . . . . . . 38 | 4.4.10.5.6. Framed-IPv6-Prefix AVP ........39 | |||
4.4.10.5.7. Framed-IPv6-Route AVP . . . . . . . . . . . 38 | 4.4.10.5.7. Framed-IPv6-Route AVP .........39 | |||
4.4.10.5.8. Framed-IPv6-Pool AVP . . . . . . . . . . . . 38 | 4.4.10.5.8. Framed-IPv6-Pool AVP ..........39 | |||
4.4.10.6. IPX Access AVPs . . . . . . . . . . . . . . . . 38 | 4.4.10.6. IPX Access AVPs ..........................39 | |||
4.4.10.6.1. Framed-IPX-Network AVP . . . . . . . . . . . 38 | 4.4.10.6.1. Framed-IPX-Network AVP ........40 | |||
4.4.10.7. AppleTalk Network Access AVPs . . . . . . . . . 39 | 4.4.10.7. AppleTalk Network Access AVPs ............40 | |||
4.4.10.7.1. Framed-AppleTalk-Link AVP . . . . . . . . . 39 | 4.4.10.7.1. Framed-Appletalk-Link AVP .....40 | |||
4.4.10.7.2. Framed-AppleTalk-Network AVP . . . . . . . . 39 | 4.4.10.7.2. Framed-Appletalk-Network AVP ..40 | |||
4.4.10.7.3. Framed-AppleTalk-Zone AVP . . . . . . . . . 39 | 4.4.10.7.3. Framed-Appletalk-Zone AVP .....41 | |||
4.4.10.8. AppleTalk Remote Access AVPs . . . . . . . . . . 40 | 4.4.10.8. AppleTalk Remote Access AVPs .............41 | |||
4.4.10.8.1. ARAP-Features AVP . . . . . . . . . . . . . 40 | 4.4.10.8.1. ARAP-Features AVP .............41 | |||
4.4.10.8.2. ARAP-Zone-Access AVP . . . . . . . . . . . . 40 | 4.4.10.8.2. ARAP-Zone-Access AVP ..........41 | |||
4.4.11. Non-Framed Access Authorization AVPs . . . . . . . . 40 | 4.4.11. Non-Framed Access Authorization AVPs ..............41 | |||
4.4.11.1. Login-IP-Host AVP . . . . . . . . . . . . . . . 40 | 4.4.11.1. Login-IP-Host AVP ........................41 | |||
4.4.11.2. Login-IPv6-Host AVP . . . . . . . . . . . . . . 41 | 4.4.11.2. Login-IPv6-Host AVP ......................42 | |||
4.4.11.3. Login-Service AVP . . . . . . . . . . . . . . . 41 | 4.4.11.3. Login-Service AVP ........................42 | |||
4.4.11.4. TCP Services . . . . . . . . . . . . . . . . . . 41 | 4.4.11.4. TCP Services .............................42 | |||
4.4.11.4.1. Login-TCP-Port AVP . . . . . . . . . . . . . 41 | 4.4.11.4.1. Login-TCP-Port AVP ............42 | |||
4.4.11.5. LAT Services . . . . . . . . . . . . . . . . . . 41 | 4.4.11.5. LAT Services .............................43 | |||
4.4.11.5.1. Login-LAT-Service AVP . . . . . . . . . . . 41 | 4.4.11.5.1. Login-LAT-Service AVP .........43 | |||
4.4.11.5.2. Login-LAT-Node AVP . . . . . . . . . . . . . 42 | 4.4.11.5.2. Login-LAT-Node AVP ............43 | |||
4.4.11.5.3. Login-LAT-Group AVP . . . . . . . . . . . . 43 | 4.4.11.5.3. Login-LAT-Group AVP ...........44 | |||
4.4.11.5.4. Login-LAT-Port AVP . . . . . . . . . . . . . 43 | 4.4.11.5.4. Login-LAT-Port AVP ............44 | |||
4.5. NAS Tunneling AVPs . . . . . . . . . . . . . . . . . . . 43 | 4.5. NAS Tunneling AVPs ........................................45 | |||
4.5.1. Tunneling AVP . . . . . . . . . . . . . . . . . . . . 44 | 4.5.1. Tunneling AVP ......................................45 | |||
4.5.2. Tunnel-Type AVP . . . . . . . . . . . . . . . . . . . 44 | 4.5.2. Tunnel-Type AVP ....................................46 | |||
4.5.3. Tunnel-Medium-Type AVP . . . . . . . . . . . . . . . 45 | 4.5.3. Tunnel-Medium-Type AVP .............................46 | |||
4.5.4. Tunnel-Client-Endpoint AVP . . . . . . . . . . . . . 45 | 4.5.4. Tunnel-Client-Endpoint AVP .........................46 | |||
4.5.5. Tunnel-Server-Endpoint AVP . . . . . . . . . . . . . 46 | 4.5.5. Tunnel-Server-Endpoint AVP .........................47 | |||
4.5.6. Tunnel-Password AVP . . . . . . . . . . . . . . . . . 47 | 4.5.6. Tunnel-Password AVP ................................48 | |||
4.5.7. Tunnel-Private-Group-Id AVP . . . . . . . . . . . . . 47 | 4.5.7. Tunnel-Private-Group-Id AVP ........................48 | |||
4.5.8. Tunnel-Assignment-Id AVP . . . . . . . . . . . . . . 47 | 4.5.8. Tunnel-Assignment-Id AVP ...........................48 | |||
4.5.9. Tunnel-Preference AVP . . . . . . . . . . . . . . . . 48 | 4.5.9. Tunnel-Preference AVP ..............................50 | |||
4.5.10. Tunnel-Client-Auth-Id AVP . . . . . . . . . . . . . . 49 | 4.5.10. Tunnel-Client-Auth-Id AVP .........................50 | |||
4.5.11. Tunnel-Server-Auth-Id AVP . . . . . . . . . . . . . . 49 | 4.5.11. Tunnel-Server-Auth-Id AVP .........................50 | |||
4.6. NAS Accounting AVPs . . . . . . . . . . . . . . . . . . . 49 | 4.6. NAS Accounting AVPs .......................................51 | |||
4.6.1. Accounting-Input-Octets AVP . . . . . . . . . . . . . 50 | 4.6.1. Accounting-Input-Octets AVP ........................52 | |||
4.6.2. Accounting-Output-Octets AVP . . . . . . . . . . . . 51 | 4.6.2. Accounting-Output-Octets AVP .......................52 | |||
4.6.3. Accounting-Input-Packets AVP . . . . . . . . . . . . 51 | 4.6.3. Accounting-Input-Packets AVP .......................52 | |||
4.6.4. Accounting-Output-Packets AVP . . . . . . . . . . . . 51 | 4.6.4. Accounting-Output-Packets AVP ......................53 | |||
4.6.5. Acct-Session-Time AVP . . . . . . . . . . . . . . . . 51 | 4.6.5. Acct-Session-Time AVP ..............................53 | |||
4.6.6. Acct-Authentic AVP . . . . . . . . . . . . . . . . . 51 | 4.6.6. Acct-Authentic AVP .................................53 | |||
4.6.7. Accounting-Auth-Method AVP . . . . . . . . . . . . . 52 | 4.6.7. Accounting-Auth-Method AVP .........................53 | |||
4.6.8. Acct-Delay-Time AVP . . . . . . . . . . . . . . . . . 52 | 4.6.8. Acct-Delay-Time AVP ................................53 | |||
4.6.9. Acct-Link-Count AVP . . . . . . . . . . . . . . . . . 52 | 4.6.9. Acct-Link-Count AVP ................................54 | |||
4.6.10. Acct-Tunnel-Connection AVP . . . . . . . . . . . . . 53 | 4.6.10. Acct-Tunnel-Connection AVP ........................55 | |||
4.6.11. Acct-Tunnel-Packets-Lost AVP . . . . . . . . . . . . 53 | 4.6.11. Acct-Tunnel-Packets-Lost AVP ......................55 | |||
5. AVP Occurrence Tables . . . . . . . . . . . . . . . . . . . . 53 | 5. AVP Occurrence Tables ..........................................55 | |||
5.1. AA-Request/Answer AVP Table . . . . . . . . . . . . . . . 54 | 5.1. AA-Request / AA-Answer AVP Table ..........................56 | |||
5.2. Accounting AVP Tables . . . . . . . . . . . . . . . . . . 56 | 5.2. Accounting AVP Tables .....................................58 | |||
5.2.1. Framed Access Accounting AVP Table . . . . . . . . . 56 | 5.2.1. Framed Access Accounting AVP Table .................59 | |||
5.2.2. Non-Framed Access Accounting AVP Table . . . . . . . 58 | 5.2.2. Non-Framed Access Accounting AVP Table .............61 | |||
6. Unicode Considerations . . . . . . . . . . . . . . . . . . . 60 | 6. Unicode Considerations .........................................62 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 60 | 7. IANA Considerations ............................................63 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 61 | 8. Security Considerations ........................................63 | |||
8.1. Authentication Considerations . . . . . . . . . . . . . . 61 | 8.1. Authentication Considerations .............................63 | |||
8.2. AVP Considerations . . . . . . . . . . . . . . . . . . . 62 | 8.2. AVP Considerations ........................................64 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 62 | 9. References .....................................................65 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 62 | 9.1. Normative References ......................................65 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 63 | 9.2. Informative References ....................................65 | |||
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 66 | Appendix A. Acknowledgements ......................................69 | |||
A.1. This Document . . . . . . . . . . . . . . . . . . . . . . 66 | A.1. This Document ..............................................69 | |||
A.2. RFC 4005 . . . . . . . . . . . . . . . . . . . . . . . . 66 | A.2. RFC 4005 ...................................................69 | |||
1. Introduction | 1. Introduction | |||
This document describes the Diameter protocol application used for | This document describes the Diameter protocol application used for | |||
AAA in the Network Access Server (NAS) environment. When combined | Authentication, Authorization, and Accounting in the Network Access | |||
with the Diameter Base protocol [RFC6733], Transport Profile | Server (NAS) environment. When combined with the Diameter Base | |||
[RFC3539], and EAP [RFC4072] specifications, this specification | protocol [RFC6733], Transport Profile [RFC3539], and Extensible | |||
satisfies the NAS-related requirements defined in Aboba, et | Authentication Protocol (EAP) [RFC4072] specifications, this | |||
al. [RFC2989] and Beadles & Mitton [RFC3169]. | specification satisfies the NAS-related requirements defined in | |||
[RFC2989] and [RFC3169]. | ||||
First, this document describes the operation of a Diameter NAS | First, this document describes the operation of a Diameter NAS | |||
application. Then it defines the Diameter message Command-Codes. | application. Then, it defines the Diameter message command codes. | |||
The following sections list the AVPs used in these messages, grouped | The following sections list the AVPs used in these messages, grouped | |||
by common usage. These are session identification, authentication, | by common usage. These are session identification, authentication, | |||
authorization, tunneling, and accounting. The authorization AVPs are | authorization, tunneling, and accounting. The authorization AVPs are | |||
further broken down by service type. | further broken down by service type. | |||
1.1. Changes from RFC 4005 | 1.1. Changes from RFC 4005 | |||
This document obsoletes RFC 4005 and is not backward compatible with | This document obsoletes [RFC4005] and is not backward compatible with | |||
that document. An overview of some of the major changes is given | that document. An overview of some of the major changes is given | |||
below. | below. | |||
o All of the material regarding RADIUS/Diameter protocol | o All of the material regarding RADIUS/Diameter protocol | |||
interactions has been removed; however, where AVPs are derived | interactions has been removed; however, where AVPs are derived | |||
from RADIUS Attributes, the range and format of those Attribute | from RADIUS Attributes, the range and format of those Attribute | |||
values have been retained for ease of transition. | values have been retained for ease of transition. | |||
o The Command Code Format (CCF) [RFC6733] for the Accounting-Request | o The Command Code Format (CCF) [RFC6733] for the Accounting-Request | |||
and Accounting-Answer messages has been changed to explicitly | and Accounting-Answer messages has been changed to explicitly | |||
require the inclusion of the Acct-Application-Id AVP and exclude | require the inclusion of the Acct-Application-Id AVP and exclude | |||
the Vendor-Specific-Application-Id AVP. Normally, this type of | the Vendor-Specific-Application-Id AVP. Normally, this type of | |||
change would require the allocation of a new command code and | change would require the allocation of a new command code (see | |||
consequently, a new application-id (See Section 1.3.3 of | Section 1.3.3 of [RFC6733]) and consequently, a new application- | |||
[RFC6733]). However, the presence of an instance of the Acct- | id. However, the presence of an instance of the Acct-Application- | |||
Application-Id AVP was required in RFC 4005, as well: | Id AVP was required in [RFC4005], as well: | |||
The ACR message [BASE] is sent by the NAS to report its session | The Accounting-Request (ACR) message [BASE] is sent by the NAS | |||
information to a target server downstream. | to report its session information to a target server | |||
downstream. | ||||
Either of Acct-Application-Id or Vendor-Specific-Application-Id | Either the Acct-Application-Id or the Vendor-Specific- | |||
AVPs MUST be present. If the Vendor-Specific-Application-Id | Application-Id AVP MUST be present. If the Vendor-Specific- | |||
grouped AVP is present, it must have an Acct-Application-Id | Application-Id grouped AVP is present, it must have an Acct- | |||
inside. | Application-Id inside. | |||
Thus, though the syntax of the commands has changed, the semantics | Thus, though the syntax of the commands has changed, the semantics | |||
have not (with the caveat that the Acct-Application-Id AVP can no | have not (with the caveat that the Acct-Application-Id AVP can no | |||
longer be contained in the Vendor-Specific-Application-Id AVP). | longer be contained in the Vendor-Specific-Application-Id AVP). | |||
o The lists of RADIUS attribute values have been deleted in favor of | o The lists of RADIUS attribute values have been deleted in favor of | |||
references to the appropriate IANA registries. | references to the appropriate IANA registries. | |||
o The accounting model to be used is now specified (see | o The accounting model to be used is now specified (see | |||
Section 1.6). | Section 1.6). | |||
There are many other miscellaneous fixes that have been introduced in | There are many other miscellaneous fixes that have been introduced in | |||
this document that may not be considered significant but they are | this document that may not be considered significant, but they are | |||
useful nonetheless. Examples are fixes to example IP addresses, | useful nonetheless. Examples are fixes to example IP addresses, | |||
addition of clarifying references, etc. All of the errata previously | addition of clarifying references, etc. Errata reports filed against | |||
filed against RFC 4005 have been fixed. A comprehensive list of | [RFC4005] at the time of writing have been reviewed and incorporated | |||
changes is not shown here for practical reasons. | as necessary. A comprehensive list of changes is not shown here for | |||
practical reasons. | ||||
1.2. Terminology | 1.2. Terminology | |||
Section 1.2 of the Diameter base protocol specification [RFC6733] | Section 1.2 of the Diameter Base protocol specification [RFC6733] | |||
defines most of the terminology used in this document. Additionally, | defines most of the terminology used in this document. Additionally, | |||
the following terms and acronyms are used in this application: | the following terms and acronyms are used in this application: | |||
NAS (Network Access Server) | NAS (Network Access Server) | |||
A device that provides an access service for a user to a network. | 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 | The service may be a network connection or a value-added service | |||
such as terminal emulation [RFC2881]. | such as terminal emulation [RFC2881]. | |||
PPP (Point-to-Point Protocol) | PPP (Point-to-Point Protocol) | |||
skipping to change at page 6, line 38 | skipping to change at page 6, line 39 | |||
CHAP (Challenge Handshake Authentication Protocol) | CHAP (Challenge Handshake Authentication Protocol) | |||
An authentication process used in PPP [RFC1994]. | An authentication process used in PPP [RFC1994]. | |||
PAP (Password Authentication Protocol) | PAP (Password Authentication Protocol) | |||
A deprecated PPP authentication process, but often used for | A deprecated PPP authentication process, but often used for | |||
backward compatibility [RFC1334]. | backward compatibility [RFC1334]. | |||
SLIP (Serial Line Interface Protocol) | SLIP (Serial Line Internet Protocol) | |||
A serial datalink that only supports IP. A design prior to PPP. | A serial datalink that only supports IP. A design prior to PPP. | |||
ARAP (Appletalk Remote Access Protocol) | ARAP (AppleTalk Remote Access Protocol) | |||
A serial datalink for accessing Appletalk networks [ARAP]. | A serial datalink for accessing AppleTalk networks [ARAP]. | |||
IPX (Internet Packet Exchange) | IPX (Internetwork Packet Exchange) | |||
The network protocol used by NetWare networks [IPX]. | The network protocol used by NetWare networks [IPX]. | |||
L2TP (Layer Two Tunneling Protocol) | L2TP (Layer Two Tunneling Protocol) | |||
L2TP [RFC3931] provides a dynamic mechanism for tunneling Layer 2 | L2TP [RFC3931] provides a dynamic mechanism for tunneling Layer 2 | |||
"circuits" across a packet-oriented data network. | "circuits" across a packet-oriented data network. | |||
LAC (L2TP Access Concentrator) | LAC (L2TP Access Concentrator) | |||
An L2TP Control Connection Endpoint being used to cross-connect an | An L2TP Control Connection Endpoint being used to cross-connect an | |||
L2TP session directly to a data link [RFC3931]. | L2TP session directly to a datalink [RFC3931]. | |||
LAT (Local Area Transport) | LAT (Local Area Transport) | |||
A Digital Equipment Corp. LAN protocol for terminal services | A Digital Equipment Corp. LAN protocol for terminal services | |||
[LAT]. | [LAT]. | |||
LCP (Link Control Protocol) | LCP (Link Control Protocol) | |||
One of the three major components of PPP [RFC1661]. LCP is used | One of the three major components of PPP [RFC1661]. LCP is used | |||
to automatically agree upon encapsulation format options, handle | to automatically agree upon encapsulation format options, handle | |||
varying limits on sizes of packets, detect a looped-back link and | varying limits on sizes of packets, detect a looped-back link and | |||
other common misconfiguration errors, and terminate the link. | other common misconfiguration errors, and terminate the link. | |||
Other optional facilities provided are authentication of the | Other optional facilities provided are authentication of the | |||
identity of its peer on the link, and determination when a link is | identity of its peer on the link, and determination when a link is | |||
functioning properly and when it is failing. | functioning properly and when it is failing. | |||
PPTP (Point-to-Point Tunneling Protocol) | PPTP (Point-to-Point Tunneling Protocol) | |||
A protocol which allows PPP to be tunneled through an IP network | A protocol that allows PPP to be tunneled through an IP network | |||
[RFC2637]. | [RFC2637]. | |||
VPN (Virtual Private Network) | VPN (Virtual Private Network) | |||
In this document, this term is used to describe access services | In this document, this term is used to describe access services | |||
that use tunneling methods. | that use tunneling methods. | |||
1.3. Requirements Language | 1.3. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in RFC | "OPTIONAL" in this document are to be interpreted as described in | |||
2119 [RFC2119]. | [RFC2119]. | |||
The use of "MUST" and "MUST NOT" in the AVP Flag rules columns of AVP | The use of "MUST" and "MUST NOT" in the AVP Flag Rules columns of AVP | |||
Tables in this document refers to AVP flags ([RFC6733], Section 4.1) | Tables in this document refers to AVP flags ([RFC6733], Section 4.1) | |||
that: | that: | |||
o MUST be set to 1 in the AVP Header ("MUST" column) and | o MUST be set to 1 in the AVP Header ("MUST" column) and | |||
o MUST NOT be set to 1 ("MUST NOT" column) | o MUST NOT be set to 1 ("MUST NOT" column) | |||
1.4. Advertising Application Support | 1.4. Advertising Application Support | |||
Diameter nodes conforming to this specification MUST advertise | Diameter nodes conforming to this specification MUST advertise | |||
skipping to change at page 8, line 28 | skipping to change at page 8, line 36 | |||
o Re-Auth-Request(Section 3.3) | o Re-Auth-Request(Section 3.3) | |||
o Session-Termination-Request (Section 3.5) | o Session-Termination-Request (Section 3.5) | |||
o Abort-Session-Request (Section 3.7) | o Abort-Session-Request (Section 3.7) | |||
1.6. Accounting Model | 1.6. Accounting Model | |||
It is RECOMMENDED that the coupled accounting model (RFC 6733, | It is RECOMMENDED that the coupled accounting model (RFC 6733, | |||
Section 9.3) be used with this application; therefore, the value of | Section 9.3) be used with this application; therefore, the value of | |||
the Acct-Application-Id AVP in the Accounting-Request (Section 3.10) | the Acct-Application-Id AVP in the Accounting-Request (Section 3.9) | |||
and Accounting-Answer (Section 3.9) messages SHOULD be set to one | and Accounting-Answer (Section 3.10) messages SHOULD be set to one | |||
(1). | (1). | |||
2. NAS Calls, Ports, and Sessions | 2. NAS Calls, Ports, and Sessions | |||
The arrival of a new call or service connection at a port of a | The arrival of a new call or service connection at a port of a | |||
Network Access Server (NAS) starts a Diameter NAS Application message | Network Access Server (NAS) starts a Diameter NAS Application message | |||
exchange. Information about the call, the identity of the user, and | exchange. Information about the call, the identity of the user, and | |||
the user's authentication information are packaged into a Diameter | the user's authentication information are packaged into a Diameter | |||
AA-Request (AAR) message and sent to a server. | AA-Request (AAR) message and sent to a server. | |||
The server processes the information and responds with a Diameter AA- | The server processes the information and responds with a Diameter AA- | |||
Answer (AAA) message that contains authorization information for the | Answer (AAA) message that contains authorization information for the | |||
NAS, or a failure code (Result-Code AVP). A value of | NAS or a failure code (Result-Code AVP). A value of | |||
DIAMETER_MULTI_ROUND_AUTH indicates an additional authentication | DIAMETER_MULTI_ROUND_AUTH indicates an additional authentication | |||
exchange, and several AAR and AAA messages may be exchanged until the | exchange, and several AAR and AAA messages may be exchanged until the | |||
transaction completes. | transaction completes. | |||
2.1. Diameter Session Establishment | 2.1. Diameter Session Establishment | |||
When the authentication or authorization exchange completes | When the authentication or authorization exchange completes | |||
successfully, the NAS application SHOULD start a session context. If | successfully, the NAS application SHOULD start a session context. If | |||
the Result-Code of DIAMETER_MULTI_ROUND_AUTH is returned, the | the Result-Code of DIAMETER_MULTI_ROUND_AUTH is returned, the | |||
exchange continues until a success or error is returned. | exchange continues until a success or error is returned. | |||
skipping to change at page 9, line 23 | skipping to change at page 9, line 33 | |||
2.2. Diameter Session Reauthentication or Reauthorization | 2.2. Diameter Session Reauthentication or Reauthorization | |||
The Diameter Base protocol allows users to be periodically | The Diameter Base protocol allows users to be periodically | |||
reauthenticated and/or reauthorized. In such instances, the Session- | 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 | Id AVP in the AAR message MUST be the same as the one present in the | |||
original authentication/authorization message. | original authentication/authorization message. | |||
A Diameter server informs the NAS of the maximum time allowed before | A Diameter server informs the NAS of the maximum time allowed before | |||
reauthentication or reauthorization via the Authorization-Lifetime | reauthentication or reauthorization via the Authorization-Lifetime | |||
AVP [RFC6733]. A NAS MAY reauthenticate and/or reauthorize before | AVP [RFC6733]. A NAS MAY reauthenticate and/or reauthorize before | |||
the end, but A NAS MUST reauthenticate and/or reauthorize at the end | the end, but a NAS MUST reauthenticate and/or reauthorize at the end | |||
of the period provided by the Authorization-Lifetime AVP. The | of the period provided by the Authorization-Lifetime AVP. The | |||
failure of a reauthentication exchange will terminate the service. | failure of a reauthentication exchange will terminate the service. | |||
Furthermore, it is possible for Diameter servers to issue an | Furthermore, it is possible for Diameter servers to issue an | |||
unsolicited reauthentication and/or reauthorization request (e.g., | unsolicited reauthentication and/or reauthorization request (e.g., | |||
Re-Auth-Request (RAR) message [RFC6733]) to the NAS. Upon receipt of | Re-Auth-Request (RAR) message [RFC6733]) to the NAS. Upon receipt of | |||
such a message, the NAS MUST respond to the request with a Re-Auth- | such a message, the NAS MUST respond to the request with a Re-Auth- | |||
Answer (RAA) message [RFC6733]. | Answer (RAA) message [RFC6733]. | |||
If the RAR properly identifies an active session, the NAS will | If the RAR properly identifies an active session, the NAS will | |||
skipping to change at page 9, line 48 | skipping to change at page 10, line 13 | |||
parameters. | parameters. | |||
If accounting is active, every change of authentication or | If accounting is active, every change of authentication or | |||
authorization SHOULD generate an accounting message. If the NAS | authorization SHOULD generate an accounting message. If the NAS | |||
service is a continuation of the prior user context, then an | service is a continuation of the prior user context, then an | |||
Accounting-Record-Type of INTERIM_RECORD indicating the new session | Accounting-Record-Type of INTERIM_RECORD indicating the new session | |||
attributes and cumulative status would be appropriate. If a new user | attributes and cumulative status would be appropriate. If a new user | |||
or a significant change in authorization is detected by the NAS, then | or a significant change in authorization is detected by the NAS, then | |||
the service may send two messages of the types STOP_RECORD and | the service may send two messages of the types STOP_RECORD and | |||
START_RECORD. Accounting may change the subsession identifiers | START_RECORD. Accounting may change the subsession identifiers | |||
(Acct-Session-ID, or Acct-Sub-Session-Id) to indicate such sub- | (Acct-Session-Id, or Acct-Sub-Session-Id) to indicate such | |||
sessions. A service may also use a different Session-Id value for | subsessions. A service may also use a different Session-Id value for | |||
accounting (see Section 9.6 of [RFC6733]). | accounting (see Section 9.6 of [RFC6733]). | |||
However, the Diameter Session-ID AVP value used for the initial | However, the Diameter Session-Id AVP value used for the initial | |||
authorization exchange MUST be used to generate an STR message when | authorization exchange MUST be used to generate an STR message when | |||
the session context is terminated. | the session context is terminated. | |||
2.3. Diameter Session Termination | 2.3. Diameter Session Termination | |||
When a NAS receives an indication that a user's session is being | When a NAS receives an indication that a user's session is being | |||
disconnected by the client (e.g., an LCP Terminate-Request message | disconnected by the client (e.g., an LCP Terminate-Request message | |||
[RFC1661] is received) or an administrative command, the NAS MUST | [RFC1661] is received) or an administrative command, the NAS MUST | |||
issue a Session-Termination-Request (STR) [RFC6733] to its Diameter | issue a Session-Termination-Request (STR) [RFC6733] to its Diameter | |||
Server. This will ensure that any resources maintained on the | server. This will ensure that any resources maintained on the | |||
servers are freed appropriately. | servers are freed appropriately. | |||
Furthermore, a NAS that receives an Abort-Session-Request (ASR) | Furthermore, a NAS that receives an Abort-Session-Request (ASR) | |||
[RFC6733] MUST issue an Abort-Session-Answer (ASA) if the session | [RFC6733] MUST issue an Abort-Session-Answer (ASA) if the session | |||
identified is active and disconnect the PPP (or tunneling) session. | identified is active and disconnect the PPP (or tunneling) session. | |||
If accounting is active, an Accounting STOP_RECORD message [RFC6733] | If accounting is active, an Accounting STOP_RECORD message [RFC6733] | |||
MUST be sent upon termination of the session context. | MUST be sent upon termination of the session context. | |||
More information on Diameter Session Termination can be found in | More information on Diameter Session Termination can be found in | |||
Sections 8.4 and 8.5 of [RFC6733]. | Sections 8.4 and 8.5 of [RFC6733]. | |||
3. Diameter NAS Application Messages | 3. Diameter NAS Application Messages | |||
This section defines the Diameter message Command-Code [RFC6733] | This section defines the Diameter message Command Code [RFC6733] | |||
values that MUST be supported by all Diameter implementations | values that MUST be supported by all Diameter implementations | |||
conforming to this specification. The Command Codes are as follows: | conforming to this specification. The Command Codes are as follows: | |||
+-----------------------------+---------+------+--------------+ | +-----------------------------------+---------+------+--------------+ | |||
| Command Name | Abbrev. | Code | Reference | | | Command Name | Abbrev. | Code | Reference | | |||
+-----------------------------+---------+------+--------------+ | +-----------------------------------+---------+------+--------------+ | |||
| AA-Request | AAR | 265 | Section 3.1 | | | AA-Request | AAR | 265 | Section 3.1 | | |||
| AA-Answer | AAA | 265 | Section 3.2 | | | AA-Answer | AAA | 265 | Section 3.2 | | |||
| Re-Auth-Request | RAR | 258 | Section 3.3 | | | Re-Auth-Request | RAR | 258 | Section 3.3 | | |||
| Re-Auth-Answer | RAA | 258 | Section 3.4 | | | Re-Auth-Answer | RAA | 258 | Section 3.4 | | |||
| Session-Termination-Request | STR | 275 | Section 3.5 | | | Session-Termination-Request | STR | 275 | Section 3.5 | | |||
| Session-Termination-Answer | STA | 275 | Section 3.6 | | | Session-Termination-Answer | STA | 275 | Section 3.6 | | |||
| Abort-Session-Request | ASR | 274 | Section 3.7 | | | Abort-Session-Request | ASR | 274 | Section 3.7 | | |||
| Abort-Session-Answer | ASA | 274 | Section 3.8 | | | Abort-Session-Answer | ASA | 274 | Section 3.8 | | |||
| Accounting-Request | ACR | 271 | Section 3.9 | | | Accounting-Request | ACR | 271 | Section 3.9 | | |||
| Accounting-Answer | ACA | 271 | Section 3.10 | | | Accounting-Answer | ACA | 271 | Section 3.10 | | |||
+-----------------------------+---------+------+--------------+ | +-----------------------------------+---------+------+--------------+ | |||
Note that the message formats in the following sub-sections use the | Note that the message formats in the following subsections use the | |||
standard Diameter Command Code Format ([RFC6733], Section 3.2). | standard Diameter Command Code Format ([RFC6733], Section 3.2). | |||
3.1. AA-Request (AAR) Command | 3.1. AA-Request (AAR) Command | |||
The AA-Request (AAR), which is indicated by setting the Command-Code | 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 | 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. | request authentication and/or authorization for a given NAS user. | |||
The type of request is identified through the Auth-Request-Type AVP | The type of request is identified through the Auth-Request-Type AVP | |||
[RFC6733]. The recommended value for most situations is | [RFC6733]. The recommended value for most situations is | |||
AUTHORIZE_AUTHENTICATE. | AUTHORIZE_AUTHENTICATE. | |||
If Authentication is requested, the User-Name attribute SHOULD be | If Authentication is requested, the User-Name attribute SHOULD be | |||
present, as well as any additional authentication AVPs that would | present, as well as any additional authentication AVPs that would | |||
carry the password information. A request for authorization SHOULD | carry the password information. A request for authorization SHOULD | |||
only include the information from which the authorization will be | only include the information from which the authorization will be | |||
skipping to change at page 11, line 32 | skipping to change at page 12, line 9 | |||
A request for authorization will include some AVPs defined in | A request for authorization will include some AVPs defined in | |||
Section 4.4. | Section 4.4. | |||
It is possible for a single session to be authorized first and then | It is possible for a single session to be authorized first and then | |||
for an authentication request to follow. | for an authentication request to follow. | |||
This AA-Request message MAY be the result of a multi-round | This AA-Request message MAY be the result of a multi-round | |||
authentication exchange, which occurs when the AA-Answer message is | authentication exchange, which occurs when the AA-Answer message is | |||
received with the Result-Code AVP set to DIAMETER_MULTI_ROUND_AUTH. | received with the Result-Code AVP set to DIAMETER_MULTI_ROUND_AUTH. | |||
A subsequent AAR message SHOULD be sent, with the User-Password AVP | 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 | that includes the user's response to the prompt and MUST include any | |||
State AVPs that were present in the AAA message. | State AVPs that were present in the AAA message. | |||
Message Format | Message Format | |||
<AA-Request> ::= < Diameter Header: 265, REQ, PXY > | <AA-Request> ::= < Diameter Header: 265, REQ, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Auth-Application-Id } | { Auth-Application-Id } | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
{ Destination-Realm } | { Destination-Realm } | |||
skipping to change at page 12, line 41 | skipping to change at page 13, line 18 | |||
* [ Login-IPv6-Host ] | * [ Login-IPv6-Host ] | |||
[ Login-LAT-Group ] | [ Login-LAT-Group ] | |||
[ Login-LAT-Node ] | [ Login-LAT-Node ] | |||
[ Login-LAT-Port ] | [ Login-LAT-Port ] | |||
[ Login-LAT-Service ] | [ Login-LAT-Service ] | |||
* [ Tunneling ] | * [ Tunneling ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ Route-Record ] | * [ Route-Record ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 1 | ||||
3.2. AA-Answer (AAA) Command | 3.2. AA-Answer (AAA) Command | |||
The AA-Answer (AAA) message is indicated by setting the Command-Code | 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 | 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 | is sent in response to the AA-Request (AAR) message. If | |||
authorization was requested, a successful response will include the | authorization was requested, a successful response will include the | |||
authorization AVPs appropriate for the service being provided, as | authorization AVPs appropriate for the service being provided, as | |||
defined in Section 4.4. | defined in Section 4.4. | |||
For authentication exchanges requiring more than a single round trip, | For authentication exchanges requiring more than a single round trip, | |||
the server MUST set the Result-Code AVP to DIAMETER_MULTI_ROUND_AUTH. | 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 | An AAA message with this result code MAY include one Reply-Message or | |||
more and MAY include zero or one State AVPs. | more and MAY include zero or one State AVPs. | |||
If the Reply-Message AVP was present, the network access server | 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, | 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 | instructing the client to prompt the user for a response. For | |||
example, this can be achieved in PPP via PAP. If it is impossible to | example, this can be achieved in PPP via PAP. If it is impossible to | |||
deliver the text prompt to the user, the Diameter NAS Application | deliver the text prompt to the user, the Diameter NAS Application | |||
client MUST treat the AA-Answer (AAA) with the Reply-Message AVP as | client MUST treat the AA-Answer (AAA) with the Reply-Message AVP as | |||
an error and deny access. | an error and deny access. | |||
skipping to change at page 14, line 42 | skipping to change at page 15, line 17 | |||
[ Login-TCP-Port ] | [ Login-TCP-Port ] | |||
* [ NAS-Filter-Rule ] | * [ NAS-Filter-Rule ] | |||
* [ QoS-Filter-Rule ] | * [ QoS-Filter-Rule ] | |||
* [ Tunneling ] | * [ Tunneling ] | |||
* [ Redirect-Host ] | * [ Redirect-Host ] | |||
[ Redirect-Host-Usage ] | [ Redirect-Host-Usage ] | |||
[ Redirect-Max-Cache-Time ] | [ Redirect-Max-Cache-Time ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 2 | ||||
3.3. Re-Auth-Request (RAR) Command | 3.3. Re-Auth-Request (RAR) Command | |||
A Diameter server can initiate re-authentication and/or re- | A Diameter server can initiate reauthentication and/or | |||
authorization for a particular session by issuing a Re-Auth-Request | reauthorization for a particular session by issuing a Re-Auth-Request | |||
(RAR) message [RFC6733]. | (RAR) message [RFC6733]. | |||
For example, for pre-paid services, the Diameter server that | For example, for prepaid services, the Diameter server that | |||
originally authorized a session may need some confirmation that the | originally authorized a session may need some confirmation that the | |||
user is still using the services. | user is still using the services. | |||
If a NAS receives an RAR message with Session-Id equal to a currently | 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 | active session and a Re-Auth-Type that includes authentication, it | |||
MUST initiate a re-authentication toward the user, if the service | MUST initiate a reauthentication toward the user, if the service | |||
supports this particular feature. | supports this particular feature. | |||
Message Format | Message Format | |||
<RA-Request> ::= < Diameter Header: 258, REQ, PXY > | <RA-Request> ::= < Diameter Header: 258, REQ, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
{ Destination-Realm } | { Destination-Realm } | |||
{ Destination-Host } | { Destination-Host } | |||
skipping to change at page 15, line 45 | skipping to change at page 16, line 19 | |||
[ Originating-Line-Info ] | [ Originating-Line-Info ] | |||
[ Acct-Session-Id ] | [ Acct-Session-Id ] | |||
[ Acct-Multi-Session-Id ] | [ Acct-Multi-Session-Id ] | |||
[ State ] | [ State ] | |||
* [ Class ] | * [ Class ] | |||
[ Reply-Message ] | [ Reply-Message ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ Route-Record ] | * [ Route-Record ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 3 | ||||
3.4. Re-Auth-Answer (RAA) Command | 3.4. Re-Auth-Answer (RAA) Command | |||
The Re-Auth-Answer (RAA) message [RFC6733] is sent in response to the | The Re-Auth-Answer (RAA) message [RFC6733] is sent in response to the | |||
RAR. The Result-Code AVP MUST be present and indicates the | RAR. The Result-Code AVP MUST be present and indicates the | |||
disposition of the request. | disposition of the request. | |||
A successful RAA transaction MUST be followed by an AAR message. | A successful RAA transaction MUST be followed by an AAR message. | |||
Message Format | Message Format | |||
skipping to change at page 16, line 33 | skipping to change at page 17, line 4 | |||
[ Service-Type ] | [ Service-Type ] | |||
* [ Configuration-Token ] | * [ Configuration-Token ] | |||
[ Idle-Timeout ] | [ Idle-Timeout ] | |||
[ Authorization-Lifetime ] | [ Authorization-Lifetime ] | |||
[ Auth-Grace-Period ] | [ Auth-Grace-Period ] | |||
[ Re-Auth-Request-Type ] | [ Re-Auth-Request-Type ] | |||
[ State ] | [ State ] | |||
* [ Class ] | * [ Class ] | |||
* [ Reply-Message ] | * [ Reply-Message ] | |||
[ Prompt ] | [ Prompt ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 4 | ||||
3.5. Session-Termination-Request (STR) Command | 3.5. Session-Termination-Request (STR) Command | |||
The Session-Termination-Request (STR) message [RFC6733] is sent by | The Session-Termination-Request (STR) message [RFC6733] is sent by | |||
the NAS to inform the Diameter Server that an authenticated and/or | the NAS to inform the Diameter server that an authenticated and/or | |||
authorized session is being terminated. | authorized session is being terminated. | |||
Message Format | Message Format | |||
<ST-Request> ::= < Diameter Header: 275, REQ, PXY > | <ST-Request> ::= < Diameter Header: 275, REQ, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
{ Destination-Realm } | { Destination-Realm } | |||
{ Auth-Application-Id } | { Auth-Application-Id } | |||
skipping to change at page 17, line 4 | skipping to change at page 17, line 23 | |||
Message Format | Message Format | |||
<ST-Request> ::= < Diameter Header: 275, REQ, PXY > | <ST-Request> ::= < Diameter Header: 275, REQ, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
{ Destination-Realm } | { Destination-Realm } | |||
{ Auth-Application-Id } | { Auth-Application-Id } | |||
{ Termination-Cause } | { Termination-Cause } | |||
[ User-Name ] | [ User-Name ] | |||
[ Destination-Host ] | [ Destination-Host ] | |||
* [ Class ] | * [ Class ] | |||
[ Origin-AAA-Protocol ] | [ Origin-AAA-Protocol ] | |||
[ Origin-State-Id ] | [ Origin-State-Id ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ Route-Record ] | * [ Route-Record ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 5 | ||||
3.6. Session-Termination-Answer (STA) Command | 3.6. Session-Termination-Answer (STA) Command | |||
The Session-Termination-Answer (STA) message [RFC6733] is sent by the | The Session-Termination-Answer (STA) message [RFC6733] is sent by the | |||
Diameter Server to acknowledge the notification that the session has | Diameter server to acknowledge the notification that the session has | |||
been terminated. The Result-Code AVP MUST be present and MAY contain | been terminated. The Result-Code AVP MUST be present and MAY contain | |||
an indication that an error occurred while the STR was being | an indication that an error occurred while the STR was being | |||
serviced. | serviced. | |||
Upon sending the STA, the Diameter Server MUST release all resources | Upon sending the STA, the Diameter server MUST release all resources | |||
for the session indicated by the Session-Id AVP. Any intermediate | for the session indicated by the Session-Id AVP. Any intermediate | |||
server in the Proxy-Chain MAY also release any resources, if | server in the Proxy-Chain MAY also release any resources, if | |||
necessary. | necessary. | |||
Message Format | Message Format | |||
<ST-Answer> ::= < Diameter Header: 275, PXY > | <ST-Answer> ::= < Diameter Header: 275, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Result-Code } | { Result-Code } | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
[ User-Name ] | [ User-Name ] | |||
* [ Class ] | * [ Class ] | |||
[ Error-Message ] | [ Error-Message ] | |||
[ Error-Reporting-Host ] | [ Error-Reporting-Host ] | |||
* [ Failed-AVP ] | * [ Failed-AVP ] | |||
[ Origin-AAA-Protocol ] | [ Origin-AAA-Protocol ] | |||
[ Origin-State-Id ] | [ Origin-State-Id ] | |||
* [ Redirect-Host ] | * [ Redirect-Host ] | |||
[ Redirect-Host-Usase ] | [ Redirect-Host-Usage ] | |||
[ Redirect-Max-Cache-Time ] | [ Redirect-Max-Cache-Time ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 6 | ||||
3.7. Abort-Session-Request (ASR) Command | 3.7. Abort-Session-Request (ASR) Command | |||
The Abort-Session-Request (ASR) message [RFC6733] can be sent by any | The Abort-Session-Request (ASR) message [RFC6733] can be sent by any | |||
Diameter server to the NAS providing session service to request that | Diameter server to the NAS providing session service to request that | |||
the session identified by the Session-Id be stopped. | the session identified by the Session-Id be stopped. | |||
Message Format | Message Format | |||
<AS-Request> ::= < Diameter Header: 274, REQ, PXY > | <AS-Request> ::= < Diameter Header: 274, REQ, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
skipping to change at page 18, line 42 | skipping to change at page 19, line 17 | |||
[ Originating-Line-Info ] | [ Originating-Line-Info ] | |||
[ Acct-Session-Id ] | [ Acct-Session-Id ] | |||
[ Acct-Multi-Session-Id ] | [ Acct-Multi-Session-Id ] | |||
[ State ] | [ State ] | |||
* [ Class ] | * [ Class ] | |||
* [ Reply-Message ] | * [ Reply-Message ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ Route-Record ] | * [ Route-Record ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 7 | ||||
3.8. Abort-Session-Answer (ASA) Command | 3.8. Abort-Session-Answer (ASA) Command | |||
The ASA message [RFC6733] is sent in response to the ASR. The | The ASA message [RFC6733] is sent in response to the ASR. The | |||
Result-Code AVP MUST be present and indicates the disposition of the | Result-Code AVP MUST be present and indicates the disposition of the | |||
request. | request. | |||
If the session identified by Session-Id in the ASR was successfully | If the session identified by Session-Id in the ASR was successfully | |||
terminated, Result-Code is set to DIAMETER_SUCCESS. If the session | terminated, the Result-Code is set to DIAMETER_SUCCESS. If the | |||
is not currently active, the Result-Code AVP is set to | session is not currently active, the Result-Code AVP is set to | |||
DIAMETER_UNKNOWN_SESSION_ID. If the access device does not stop the | DIAMETER_UNKNOWN_SESSION_ID. If the access device does not stop the | |||
session for any other reason, the Result-Code AVP is set to | session for any other reason, the Result-Code AVP is set to | |||
DIAMETER_UNABLE_TO_COMPLY. | DIAMETER_UNABLE_TO_COMPLY. | |||
Message Format | Message Format | |||
<AS-Answer> ::= < Diameter Header: 274, PXY > | <AS-Answer> ::= < Diameter Header: 274, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Result-Code } | { Result-Code } | |||
{ Origin-Host } | { Origin-Host } | |||
skipping to change at page 19, line 29 | skipping to change at page 20, line 5 | |||
[ State] | [ State] | |||
[ Error-Message ] | [ Error-Message ] | |||
[ Error-Reporting-Host ] | [ Error-Reporting-Host ] | |||
* [ Failed-AVP ] | * [ Failed-AVP ] | |||
* [ Redirected-Host ] | * [ Redirected-Host ] | |||
[ Redirected-Host-Usage ] | [ Redirected-Host-Usage ] | |||
[ Redirected-Max-Cache-Time ] | [ Redirected-Max-Cache-Time ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 8 | ||||
3.9. Accounting-Request (ACR) Command | 3.9. Accounting-Request (ACR) Command | |||
The ACR message [RFC6733] is sent by the NAS to report its session | The ACR message [RFC6733] is sent by the NAS to report its session | |||
information to a target server downstream. | information to a target server downstream. | |||
The Acct-Application-Id AVP MUST be present. | The Acct-Application-Id AVP MUST be present. | |||
The AVPs listed in the Base protocol specification [RFC6733] MUST be | The AVPs listed in the Diameter Base protocol specification [RFC6733] | |||
assumed to be present, as appropriate. NAS service-specific | MUST be assumed to be present, as appropriate. NAS service-specific | |||
accounting AVPs SHOULD be present as described in Section 4.6 and the | accounting AVPs SHOULD be present as described in Section 4.6 and the | |||
rest of this specification. | rest of this specification. | |||
Message Format | Message Format | |||
<AC-Request> ::= < Diameter Header: 271, REQ, PXY > | <AC-Request> ::= < Diameter Header: 271, REQ, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
{ Destination-Realm } | { Destination-Realm } | |||
skipping to change at page 20, line 48 | skipping to change at page 21, line 22 | |||
[ Originating-Line-Info ] | [ Originating-Line-Info ] | |||
[ Authorization-Lifetime ] | [ Authorization-Lifetime ] | |||
[ Session-Timeout ] | [ Session-Timeout ] | |||
[ Idle-Timeout ] | [ Idle-Timeout ] | |||
[ Port-Limit ] | [ Port-Limit ] | |||
[ Accounting-Realtime-Required ] | [ Accounting-Realtime-Required ] | |||
[ Acct-Interim-Interval ] | [ Acct-Interim-Interval ] | |||
* [ Filter-Id ] | * [ Filter-Id ] | |||
* [ NAS-Filter-Rule ] | * [ NAS-Filter-Rule ] | |||
* [ QoS-Filter-Rule ] | * [ QoS-Filter-Rule ] | |||
[ Framed-AppleTalk-Link ] | [ Framed-Appletalk-Link ] | |||
[ Framed-AppleTalk-Network ] | [ Framed-Appletalk-Network ] | |||
[ Framed-AppleTalk-Zone ] | [ Framed-Appletalk-Zone ] | |||
[ Framed-Compression ] | [ Framed-Compression ] | |||
[ Framed-Interface-Id ] | [ Framed-Interface-Id ] | |||
[ Framed-IP-Address ] | [ Framed-IP-Address ] | |||
[ Framed-IP-Netmask ] | [ Framed-IP-Netmask ] | |||
* [ Framed-IPv6-Prefix ] | * [ Framed-IPv6-Prefix ] | |||
[ Framed-IPv6-Pool ] | [ Framed-IPv6-Pool ] | |||
* [ Framed-IPv6-Route ] | * [ Framed-IPv6-Route ] | |||
[ Framed-IPX-Network ] | [ Framed-IPX-Network ] | |||
[ Framed-MTU ] | [ Framed-MTU ] | |||
[ Framed-Pool ] | [ Framed-Pool ] | |||
[ Framed-Protocol ] | [ Framed-Protocol ] | |||
skipping to change at page 21, line 30 | skipping to change at page 22, line 5 | |||
[ Login-LAT-Node ] | [ Login-LAT-Node ] | |||
[ Login-LAT-Port ] | [ Login-LAT-Port ] | |||
[ Login-LAT-Service ] | [ Login-LAT-Service ] | |||
[ Login-Service ] | [ Login-Service ] | |||
[ Login-TCP-Port ] | [ Login-TCP-Port ] | |||
* [ Tunneling ] | * [ Tunneling ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ Route-Record ] | * [ Route-Record ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 9 | ||||
3.10. Accounting-Answer (ACA) Command | 3.10. Accounting-Answer (ACA) Command | |||
The ACA message [RFC6733] is used to acknowledge an Accounting- | The ACA message [RFC6733] is used to acknowledge an Accounting- | |||
Request command. The Accounting-Answer command contains the same | Request command. The Accounting-Answer command contains the same | |||
Session-Id as the Request. | Session-Id as the Request. | |||
Only the target Diameter Server or home Diameter Server SHOULD | Only the target Diameter server or home Diameter server SHOULD | |||
respond with the Accounting-Answer command. | respond with the Accounting-Answer command. | |||
The Acct-Application-Id AVP MUST be present. | The Acct-Application-Id AVP MUST be present. | |||
The AVPs listed in the Base protocol specification [RFC6733] MUST be | The AVPs listed in the Diameter Base protocol specification [RFC6733] | |||
assumed to be present, as appropriate. NAS service-specific | MUST be assumed to be present, as appropriate. NAS service-specific | |||
accounting AVPs SHOULD be present as described in Section 4.6 and the | accounting AVPs SHOULD be present as described in Section 4.6 and the | |||
rest of this specification. | rest of this specification. | |||
Message Format | Message Format | |||
<AC-Answer> ::= < Diameter Header: 271, PXY > | <AC-Answer> ::= < Diameter Header: 271, PXY > | |||
< Session-Id > | < Session-Id > | |||
{ Result-Code } | { Result-Code } | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
skipping to change at page 22, line 28 | skipping to change at page 23, line 4 | |||
[ Origin-State-Id ] | [ Origin-State-Id ] | |||
[ NAS-Identifier ] | [ NAS-Identifier ] | |||
[ NAS-IP-Address ] | [ NAS-IP-Address ] | |||
[ NAS-IPv6-Address ] | [ NAS-IPv6-Address ] | |||
[ NAS-Port ] | [ NAS-Port ] | |||
[ NAS-Port-Id ] | [ NAS-Port-Id ] | |||
[ NAS-Port-Type ] | [ NAS-Port-Type ] | |||
[ Service-Type ] | [ Service-Type ] | |||
[ Termination-Cause ] | [ Termination-Cause ] | |||
[ Accounting-Realtime-Required ] | [ Accounting-Realtime-Required ] | |||
[ Acct-Interim-Interval ] | [ Acct-Interim-Interval ] | |||
* [ Class ] | * [ Class ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ AVP ] | * [ AVP ] | |||
Figure 10 | ||||
4. Diameter NAS Application AVPs | 4. Diameter NAS Application AVPs | |||
The following sections define a new derived AVP data format, a set of | The following sections define a new derived AVP data format, define a | |||
application-specific AVPs and describe the use of AVPs defined in | set of application-specific AVPs, and describe the use of AVPs | |||
other documents by the Diameter NAS Application. | defined in other documents by the Diameter NAS Application. | |||
4.1. Derived AVP Data Formats | 4.1. Derived AVP Data Formats | |||
4.1.1. QoSFilterRule | 4.1.1. QoSFilterRule | |||
The QosFilterRule format is derived from the OctetString AVP Base | The QosFilterRule format is derived from the OctetString AVP Base | |||
Format. It uses the ASCII charset. Packets may be marked or metered | Format. It uses the US-ASCII charset. Packets may be marked or | |||
based on the following information: | metered based on the following information: | |||
o Direction (in or out) | o Direction (in or out) | |||
o Source and destination IP address (possibly masked) | o Source and destination IP address (possibly masked) | |||
o Protocol | o Protocol | |||
o Source and destination port (lists or ranges) | o Source and destination port (lists or ranges) | |||
o DSCP values (no mask or range) | o Differentiated Services Code Point (DSCP) values (no mask or | |||
range) | ||||
Rules for the appropriate direction are evaluated in order; the first | Rules for the appropriate direction are evaluated in order; the first | |||
matched rule terminates the evaluation. Each packet is evaluated | matched rule terminates the evaluation. Each packet is evaluated | |||
once. If no rule matches, the packet is treated as best effort. An | once. If no rule matches, the packet is treated as best effort. An | |||
access device unable to interpret or apply a QoS rule SHOULD NOT | access device unable to interpret or apply a QoS rule SHOULD NOT | |||
terminate the session. | terminate the session. | |||
QoSFilterRule filters MUST follow the following format: | QoSFilterRule filters MUST follow the following format: | |||
action dir proto from src to dst [options] | action dir proto from src to dst [options] | |||
where | where | |||
action | action | |||
tag Mark packet with a specific DSCP [RFC2474] | tag Mark packet with a specific DSCP [RFC2474] | |||
meter Meter traffic | meter Meter traffic | |||
dir The format is as described under IPFilterRule | dir The format is as described under IPFilterRule | |||
[RFC6733] | [RFC6733] | |||
proto The format is as described under IPFilterRule | proto The format is as described under IPFilterRule | |||
[RFC6733] | [RFC6733] | |||
src and dst The format is as described under IPFilterRule | src and dst The format is as described under IPFilterRule | |||
[RFC6733] | [RFC6733] | |||
skipping to change at page 24, line 12 | skipping to change at page 24, line 43 | |||
Diameter reserves the AVP Codes 0 - 255 for RADIUS Attributes that | Diameter reserves the AVP Codes 0 - 255 for RADIUS Attributes that | |||
are implemented in Diameter. | are implemented in Diameter. | |||
4.2.1. Call and Session Information | 4.2.1. Call and Session Information | |||
This section describes the AVPs specific to Diameter applications | This section describes the AVPs specific to Diameter applications | |||
that are needed to identify the call and session context and status | that are needed to identify the call and session context and status | |||
information. On a request, this information allows the server to | information. On a request, this information allows the server to | |||
qualify the session. | qualify the session. | |||
These AVPs are used in addition to the following AVPs from the base | These AVPs are used in addition to the following AVPs from the | |||
protocol specification [RFC6733]: | Diameter Base protocol specification [RFC6733]: | |||
Session-Id | Session-Id Auth-Application-Id Origin-Host Origin-Realm | |||
Auth-Application-Id | Auth-Request-Type Termination-Cause | |||
Origin-Host | ||||
Origin-Realm | ||||
Auth-Request-Type | ||||
Termination-Cause | ||||
The following table gives the possible flag values for the session | The following table gives the possible flag values for the session | |||
level AVPs. | level AVPs. | |||
+-----------+ | +-----------+ | |||
| AVP Flag | | | AVP Flag | | |||
| Rules | | | Rules | | |||
|-----+-----+ | |-----+-----+ | |||
|MUST | MUST| | |MUST | MUST| | |||
Attribute Name Section Defined | | NOT| | Attribute Name Section Defined | | NOT| | |||
-----------------------------------------|-----+-----| | -----------------------------------------|-----+-----| | |||
NAS-Port 4.2.2 | M | V | | NAS-Port 4.2.2 | M | V | | |||
NAS-Port-Id 4.2.3 | M | V | | NAS-Port-Id 4.2.3 | M | V | | |||
NAS-Port-Type 4.2.4 | M | V | | NAS-Port-Type 4.2.4 | M | V | | |||
Called-Station-Id 4.2.5 | M | V | | Called-Station-Id 4.2.5 | M | V | | |||
Calling-Station-Id 4.2.6 | M | V | | Calling-Station-Id 4.2.6 | M | V | | |||
Connect-Info 4.2.7 | M | V | | Connect-Info 4.2.7 | M | V | | |||
Originating-Line-Info 4.2.8 | M | V | | Originating-Line-Info 4.2.8 | M | V | | |||
Reply-Message 4.2.9 | M | V | | Reply-Message 4.2.9 | M | V | | |||
-----------------------------------------|-----+-----| | -----------------------------------------|-----+-----| | |||
4.2.2. NAS-Port AVP | 4.2.2. NAS-Port AVP | |||
The NAS-Port AVP (AVP Code 5) is of type Unsigned32 and contains the | The NAS-Port AVP (AVP Code 5) is of type Unsigned32 and contains the | |||
physical or virtual port number of the NAS which is authenticating | physical or virtual port number of the NAS, which authenticates the | |||
the user. Note that "port" is meant in its sense as a service | user. Note that "port" is meant in its sense as a service connection | |||
connection on the NAS, not as an IP protocol identifier, and hence | on the NAS, not as an IP protocol identifier; hence, the format and | |||
the format and contents of the string that identifies the port are | contents of the string that identifies the port are specific to the | |||
specific to the NAS implementation. | NAS implementation. | |||
Either the NAS-Port AVP or the NAS-Port-Id AVP (Section 4.2.3) SHOULD | Either the NAS-Port AVP or the NAS-Port-Id AVP (Section 4.2.3) SHOULD | |||
be present in the AA-Request (AAR, Section 3.1) command if the NAS | be present in the AA-Request (AAR, Section 3.1) command if the NAS | |||
differentiates among its ports. | differentiates among its ports. | |||
4.2.3. NAS-Port-Id AVP | 4.2.3. NAS-Port-Id AVP | |||
The NAS-Port-Id AVP (AVP Code 87) is of type UTF8String and consists | The NAS-Port-Id AVP (AVP Code 87) is of type UTF8String and consists | |||
of 7-bit ASCII text identifying the port of the NAS authenticating | of 7-bit US-ASCII text identifying the port of the NAS authenticating | |||
the user. Note that "port" is meant in its sense as a service | the user. Note that "port" is meant in its sense as a service | |||
connection on the NAS, not as an IP protocol identifier. | connection on the NAS, not as an IP protocol identifier. | |||
Either the NAS-Port-Id AVP or the NAS-Port AVP (Section 4.2.2) SHOULD | Either the NAS-Port-Id AVP or the NAS-Port AVP (Section 4.2.2) SHOULD | |||
be present in the AA-Request (AAR, Section 3.1) command if the NAS | be present in the AA-Request (AAR, Section 3.1) command if the NAS | |||
differentiates among its ports. NAS-Port-Id is intended for use by | differentiates among its ports. NAS-Port-Id is intended for use by | |||
NASes that cannot conveniently number their ports. | NASes that cannot conveniently number their ports. | |||
4.2.4. NAS-Port-Type AVP | 4.2.4. NAS-Port-Type AVP | |||
The NAS-Port-Type AVP (AVP Code 61) is of type Enumerated and | The NAS-Port-Type AVP (AVP Code 61) is of type Enumerated and | |||
contains the type of the port on which the NAS is authenticating the | contains the type of the port on which the NAS is authenticating the | |||
user. This AVP SHOULD be present if the NAS uses the same NAS-Port | user. This AVP SHOULD be present if the NAS uses the same NAS-Port | |||
number ranges for different service types concurrently. | number ranges for different service types concurrently. | |||
The currently supported values of the NAS-Port-Type AVP are listed in | The currently supported values of the NAS-Port-Type AVP are listed in | |||
[RADIUSAttrVals]. | [RADIUSAttrVals]. | |||
4.2.5. Called-Station-Id AVP | 4.2.5. Called-Station-Id AVP | |||
The Called-Station-Id AVP (AVP Code 30) is of type UTF8String | The Called-Station-Id AVP (AVP Code 30) is of type UTF8String and | |||
contains a 7-bit ASCII string sent by the NAS to describe the Layer 2 | contains a 7-bit US-ASCII string sent by the NAS to describe the | |||
address the user contacted in the request. For dialup access, this | Layer 2 address the user contacted in the request. For dialup | |||
can be a phone number obtained by using the Dialed Number | access, this can be a phone number obtained by using the Dialed | |||
Identification Service (DNIS) or a similar technology. Note that | Number Identification Service (DNIS) or a similar technology. Note | |||
this may be different from the phone number the call comes in on. | that this may be different from the phone number the call comes in | |||
For use with IEEE 802 access, the Called-Station-Id MAY contain a MAC | on. For use with IEEE 802 access, the Called-Station-Id MAY contain | |||
address formatted as described in Congdon, et al. [RFC3580]. | a Media Access Control (MAC) address formatted as described in | |||
[RFC3580]. | ||||
If the Called-Station-Id AVP is present in an AAR message, Auth- | If the Called-Station-Id AVP is present in an AAR message, the Auth- | |||
Request-Type AVP is set to AUTHORIZE_ONLY and the User-Name AVP is | Request-Type AVP is set to AUTHORIZE_ONLY, and the User-Name AVP is | |||
absent, the Diameter Server MAY perform authorization based on this | absent, the Diameter server MAY perform authorization based on this | |||
AVP. This can be used by a NAS to request whether a call should be | AVP. This can be used by a NAS to request whether a call should be | |||
answered based on the DNIS result. | answered based on the DNIS result. | |||
Further codification of this field's allowed content and usage is | Further codification of this field's allowed content and usage is | |||
outside the scope of this specification. | outside the scope of this specification. | |||
4.2.6. Calling-Station-Id AVP | 4.2.6. Calling-Station-Id AVP | |||
The Calling-Station-Id AVP (AVP Code 31) is of type UTF8String and | The Calling-Station-Id AVP (AVP Code 31) is of type UTF8String and | |||
contains a 7-bit ASCII string sent by the NAS to describe the Layer 2 | contains a 7-bit US-ASCII string sent by the NAS to describe the | |||
address from which the user connected in the request. For dialup | Layer 2 address from which the user connected in the request. For | |||
access, this is the phone number the call came from, using Automatic | dialup access, this is the phone number the call came from, using | |||
Number Identification (ANI) or a similar technology. For use with | Automatic Number Identification (ANI) or a similar technology. For | |||
IEEE 802 access, the Calling-Station-Id AVP MAY contain a MAC | use with IEEE 802 access, the Calling-Station-Id AVP MAY contain a | |||
address, formated as described in RFC 3580. | MAC address, formatted as described in RFC 3580. | |||
If the Calling-Station-Id AVP is present in an AAR message, the Auth- | If the Calling-Station-Id AVP is present in an AAR message, the Auth- | |||
Request-Type AVP is set to AUTHORIZE_ONLY and the User-Name AVP is | Request-Type AVP is set to AUTHORIZE_ONLY, and the User-Name AVP is | |||
absent, the Diameter Server MAY perform authorization based on the | absent, the Diameter server MAY perform authorization based on the | |||
value of this AVP. This can be used by a NAS to request whether a | value of this AVP. This can be used by a NAS to request whether a | |||
call should be answered based on the Layer 2 address (ANI, MAC | call should be answered based on the Layer 2 address (ANI, MAC | |||
Address, etc.) | Address, etc.) | |||
Further codification of this field's allowed content and usage is | Further codification of this field's allowed content and usage is | |||
outside the scope of this specification. | outside the scope of this specification. | |||
4.2.7. Connect-Info AVP | 4.2.7. Connect-Info AVP | |||
The Connect-Info AVP (AVP Code 77) is of type UTF8String and is sent | The Connect-Info AVP (AVP Code 77) is of type UTF8String and is sent | |||
in the AA-Request message or an ACR message with the value of the | in the AA-Request message or an ACR message with the value of the | |||
Accounting-Record-Type AVP set to STOP. When sent in the AA-Request, | Accounting-Record-Type AVP set to STOP. When sent in the AA-Request, | |||
it indicates the nature of the user's connection. The connection | it indicates the nature of the user's connection. The connection | |||
speed SHOULD be included at the beginning of the first Connect-Info | speed SHOULD be included at the beginning of the first Connect-Info | |||
skipping to change at page 26, line 48 | skipping to change at page 27, line 33 | |||
Type AVP set to STOP, this attribute may summarize statistics | Type AVP set to STOP, this attribute may summarize statistics | |||
relating to session quality. For example, in IEEE 802.11, the | relating to session quality. For example, in IEEE 802.11, the | |||
Connect-Info AVP may contain information on the number of link layer | Connect-Info AVP may contain information on the number of link layer | |||
retransmissions. The exact format of this attribute is | retransmissions. The exact format of this attribute is | |||
implementation specific. | implementation specific. | |||
4.2.8. Originating-Line-Info AVP | 4.2.8. Originating-Line-Info AVP | |||
The Originating-Line-Info AVP (AVP Code 94) is of type OctetString | The Originating-Line-Info AVP (AVP Code 94) is of type OctetString | |||
and is sent by the NAS system to convey information about the origin | and is sent by the NAS system to convey information about the origin | |||
of the call from an SS7 system. | of the call from a Signaling System 7 (SS7). | |||
The Originating Line Information (OLI) element indicates the nature | The Originating Line Information (OLI) element indicates the nature | |||
and/or characteristics of the line from which a call originated | and/or characteristics of the line from which a call originated | |||
(e.g., pay phone, hotel, cellular). Telephone companies are starting | (e.g., pay phone, hotel phone, cellular phone). Telephone companies | |||
to offer OLI to their customers as an option over Primary Rate | are starting to offer OLI to their customers as an option over | |||
Interface (PRI). Internet Service Providers (ISPs) can use OLI in | Primary Rate Interface (PRI). Internet Service Providers (ISPs) can | |||
addition to Called-Station-Id and Calling-Station-Id attributes to | use OLI in addition to Called-Station-Id and Calling-Station-Id | |||
differentiate customer calls and to define different services. | attributes to differentiate customer calls and to define different | |||
services. | ||||
The Value field contains two octets (00 - 99). ANSI T1.113 and | The Value field contains two octets (00 - 99). ANSI T1.113 and | |||
BELLCORE 394 can be used for additional information about these | BELLCORE 394 can be used for additional information about these | |||
values and their use. For information on the currently assigned | values and their use. For information on the currently assigned | |||
values, see [ANITypes]. | values, see [ANITypes]. | |||
4.2.9. Reply-Message AVP | 4.2.9. Reply-Message AVP | |||
The Reply-Message AVP (AVP Code 18) is of type UTF8String and | The Reply-Message AVP (AVP Code 18) is of type UTF8String and | |||
contains text that MAY be displayed to the user. When used in an AA- | contains text that MAY be displayed to the user. When used in an AA- | |||
Answer message with a successful Result-Code AVP, it indicates | Answer message with a successful Result-Code AVP, it indicates | |||
success. When found in an AAA message with a Result-Code other than | success. When found in an AAA message with a Result-Code other than | |||
DIAMETER_SUCCESS, the AVP contains a failure message. | DIAMETER_SUCCESS, the AVP contains a failure message. | |||
The Reply-Message AVP MAY contain text to prompt the user before | The Reply-Message AVP MAY contain text to prompt the user before | |||
another AA-Request attempt. When used in an AA-Answer message | another AA-Request attempt. When used in an AA-Answer message | |||
containing a Result-Code AVP with the value DIAMETER_MULTI_ROUND_AUTH | containing a Result-Code AVP with the value DIAMETER_MULTI_ROUND_AUTH | |||
or in an Re-Auth-Request message, it MAY contain text to prompt the | or in a Re-Auth-Request message, it MAY contain text to prompt the | |||
user for a response. | user for a response. | |||
4.3. NAS Authentication AVPs | 4.3. NAS Authentication AVPs | |||
This section defines the AVPs necessary to carry the authentication | This section defines the AVPs necessary to carry the authentication | |||
information in the Diameter protocol. The functionality defined here | information in the Diameter protocol. The functionality defined here | |||
provides a RADIUS-like AAA service [RFC2865] over a more reliable and | provides a RADIUS-like Authentication, Authorization, and Accounting | |||
secure transport, as defined in the base protocol [RFC6733]. | service [RFC2865] over a more reliable and secure transport, as | |||
defined in the Diameter Base protocol [RFC6733]. | ||||
The following table gives the possible flag values for the session | The following table gives the possible flag values for the session | |||
level AVPs. | level AVPs. | |||
+----------+ | +----------+ | |||
| AVP Flag | | | AVP Flag | | |||
| rules | | | Rules | | |||
|----+-----| | |----+-----| | |||
|MUST| MUST| | |MUST| MUST| | |||
Attribute Name Section Defined | | NOT| | Attribute Name Section Defined | | NOT| | |||
-----------------------------------------|----+-----| | -----------------------------------------|----+-----| | |||
User-Password 4.3.1 | M | V | | User-Password 4.3.1 | M | V | | |||
Password-Retry 4.3.2 | M | V | | Password-Retry 4.3.2 | M | V | | |||
Prompt 4.3.3 | M | V | | Prompt 4.3.3 | M | V | | |||
CHAP-Auth 4.3.4 | M | V | | CHAP-Auth 4.3.4 | M | V | | |||
CHAP-Algorithm 4.3.5 | M | V | | CHAP-Algorithm 4.3.5 | M | V | | |||
CHAP-Ident 4.3.6 | M | V | | CHAP-Ident 4.3.6 | M | V | | |||
CHAP-Response 4.3.7 | M | V | | CHAP-Response 4.3.7 | M | V | | |||
CHAP-Challenge 4.3.8 | M | V | | CHAP-Challenge 4.3.8 | M | V | | |||
ARAP-Password 4.3.9 | M | V | | ARAP-Password 4.3.9 | M | V | | |||
ARAP-Challenge-Response 4.3.10 | M | V | | ARAP-Challenge-Response 4.3.10 | M | V | | |||
ARAP-Security 4.3.11 | M | V | | ARAP-Security 4.3.11 | M | V | | |||
ARAP-Security-Data 4.3.12 | M | V | | ARAP-Security-Data 4.3.12 | M | V | | |||
-----------------------------------------|----+-----| | -----------------------------------------|----+-----| | |||
4.3.1. User-Password AVP | 4.3.1. User-Password AVP | |||
The User-Password AVP (AVP Code 2) is of type OctetString and | The User-Password AVP (AVP Code 2) is of type OctetString and | |||
contains the password of the user to be authenticated, or the user's | contains the password of the user to be authenticated or the user's | |||
input in a multi-round authentication exchange. | input in a multi-round authentication exchange. | |||
The User-Password AVP contains a user password or one-time password | The User-Password AVP contains a user password or one-time password | |||
and therefore represents sensitive information. As required by | and therefore represents sensitive information. As required by the | |||
Fajardo, et al. [RFC6733], Diameter messages are encrypted by using | Diameter Base protocol [RFC6733], Diameter messages are encrypted by | |||
IPsec [RFC4301] or TLS [RFC5246]. Unless this AVP is used for one- | using IPsec [RFC4301] or Transport Layer Security (TLS) [RFC5246]. | |||
time passwords, the User-Password AVP SHOULD NOT be used in untrusted | Unless this AVP is used for one-time passwords, the User-Password AVP | |||
proxy environments without encrypting it by using end-to-end security | SHOULD NOT be used in untrusted proxy environments without encrypting | |||
techniques. | it by using end-to-end security techniques. | |||
The clear-text password (prior to encryption) MUST NOT be longer than | The clear-text password (prior to encryption) MUST NOT be longer than | |||
128 bytes in length. | 128 bytes in length. | |||
4.3.2. Password-Retry AVP | 4.3.2. Password-Retry AVP | |||
The Password-Retry AVP (AVP Code 75) is of type Unsigned32 and MAY be | The Password-Retry AVP (AVP Code 75) is of type Unsigned32 and MAY be | |||
included in the AA-Answer if the Result-Code indicates an | included in the AA-Answer if the Result-Code indicates an | |||
authentication failure. The value of this AVP indicates how many | authentication failure. The value of this AVP indicates how many | |||
authentication attempts a user is permitted before being | authentication attempts a user is permitted before being | |||
disconnected. This AVP is primarily intended for use when the | disconnected. This AVP is primarily intended for use when the | |||
Framed-Protocol AVP (Section 4.4.10.1) is set to ARAP. | Framed-Protocol AVP (Section 4.4.10.1) is set to ARAP. | |||
4.3.3. Prompt AVP | 4.3.3. Prompt AVP | |||
The Prompt AVP (AVP Code 76) is of type Enumerated and MAY be present | The Prompt AVP (AVP Code 76) is of type Enumerated and MAY be present | |||
in the AA-Answer message. When present, it is used by the NAS to | in the AA-Answer message. When present, it is used by the NAS to | |||
determine whether the user's response, when entered, should be | determine whether the user's response, when entered, should be | |||
echoed. | echoed. | |||
The supported values are listed in [RADIUSAttrVals] | The supported values are listed in [RADIUSAttrVals]. | |||
4.3.4. CHAP-Auth AVP | 4.3.4. CHAP-Auth AVP | |||
The CHAP-Auth AVP (AVP Code 402) is of type Grouped and contains the | The CHAP-Auth AVP (AVP Code 402) is of type Grouped and contains the | |||
information necessary to authenticate a user using the PPP Challenge- | information necessary to authenticate a user using the PPP Challenge- | |||
Handshake Authentication Protocol (CHAP) [RFC1994]. If the CHAP-Auth | Handshake Authentication Protocol (CHAP) [RFC1994]. If the CHAP-Auth | |||
AVP is found in a message, the CHAP-Challenge AVP (Section 4.3.8) | AVP is found in a message, the CHAP-Challenge AVP (Section 4.3.8) | |||
MUST be present as well. The optional AVPs containing the CHAP | MUST be present as well. The optional AVPs containing the CHAP | |||
response depend upon the value of the CHAP-Algorithm AVP | response depend upon the value of the CHAP-Algorithm AVP | |||
(Section 4.3.8). The grouped AVP has the following ABNF grammar: | (Section 4.3.8). The grouped AVP has the following ABNF [RFC5234] | |||
grammar: | ||||
CHAP-Auth ::= < AVP Header: 402 > | CHAP-Auth ::= < AVP Header: 402 > | |||
{ CHAP-Algorithm } | { CHAP-Algorithm } | |||
{ CHAP-Ident } | { CHAP-Ident } | |||
[ CHAP-Response ] | [ CHAP-Response ] | |||
* [ AVP ] | * [ AVP ] | |||
4.3.5. CHAP-Algorithm AVP | 4.3.5. CHAP-Algorithm AVP | |||
The CHAP-Algorithm AVP (AVP Code 403) is of type Enumerated and | The CHAP-Algorithm AVP (AVP Code 403) is of type Enumerated and | |||
contains the algorithm identifier used in the computation of the CHAP | contains the algorithm identifier used in the computation of the CHAP | |||
response [RFC1994]. The following values are currently supported: | response [RFC1994]. The following values are currently supported: | |||
CHAP with MD5 5 | CHAP with MD5 5 | |||
The CHAP response is computed by using the procedure described in | The CHAP response is computed by using the procedure described in | |||
[RFC1994] This algorithm requires that the CHAP-Response AVP | [RFC1994]. This algorithm requires that the CHAP-Response AVP | |||
(Section 4.3.7) MUST be present in the CHAP-Auth AVP | (Section 4.3.7) MUST be present in the CHAP-Auth AVP | |||
(Section 4.3.4). | (Section 4.3.4). | |||
4.3.6. CHAP-Ident AVP | 4.3.6. CHAP-Ident AVP | |||
The CHAP-Ident AVP (AVP Code 404) is of type OctetString and contains | The CHAP-Ident AVP (AVP Code 404) is of type OctetString and contains | |||
the 1 octet CHAP Identifier used in the computation of the CHAP | the 1 octet CHAP Identifier used in the computation of the CHAP | |||
response [RFC1994] | response [RFC1994]. | |||
4.3.7. CHAP-Response AVP | 4.3.7. CHAP-Response AVP | |||
The CHAP-Response AVP (AVP Code 405) is of type OctetString and | The CHAP-Response AVP (AVP Code 405) is of type OctetString and | |||
contains the 16 octet authentication data provided by the user in | contains the 16-octet authentication data provided by the user in | |||
response to the CHAP challenge [RFC1994]. | response to the CHAP challenge [RFC1994]. | |||
4.3.8. CHAP-Challenge AVP | 4.3.8. CHAP-Challenge AVP | |||
The CHAP-Challenge AVP (AVP Code 60) is of type OctetString and | The CHAP-Challenge AVP (AVP Code 60) is of type OctetString and | |||
contains the CHAP Challenge sent by the NAS to the CHAP peer | contains the CHAP Challenge sent by the NAS to the CHAP peer | |||
[RFC1994]. | [RFC1994]. | |||
4.3.9. ARAP-Password AVP | 4.3.9. ARAP-Password AVP | |||
The ARAP-Password AVP (AVP Code 70) is of type OctetString and is | The ARAP-Password AVP (AVP Code 70) is of type OctetString and is | |||
only present when the Framed-Protocol AVP (Section 4.4.10.1) is | only present when the Framed-Protocol AVP (Section 4.4.10.1) is | |||
included in the message and is set to ARAP. This AVP MUST NOT be | included in the message and is set to ARAP. This AVP MUST NOT be | |||
present if either the User-Password or the CHAP-Auth AVP is present. | present if either the User-Password or the CHAP-Auth AVP is present. | |||
See Rigney, et al. [RFC2869] for more information on the contents of | See [RFC2869] for more information on the contents of this AVP. | |||
this AVP. | ||||
4.3.10. ARAP-Challenge-Response AVP | 4.3.10. ARAP-Challenge-Response AVP | |||
The ARAP-Challenge-Response AVP (AVP Code 84) is of type OctetString | The ARAP-Challenge-Response AVP (AVP Code 84) is of type OctetString | |||
and is only present when the Framed-Protocol AVP (Section 4.4.10.1) | and is only present when the Framed-Protocol AVP (Section 4.4.10.1) | |||
is included in the message and is set to ARAP. This AVP contains an | is included in the message and is set to ARAP. This AVP contains an | |||
8 octet response to the dial-in client's challenge. The Diameter | 8-octet response to the dial-in client's challenge. The Diameter | |||
server calculates this value by taking the dial-in client's challenge | server calculates this value by taking the dial-in client's challenge | |||
from the high-order 8 octets of the ARAP-Password AVP and performing | from the high-order 8 octets of the ARAP-Password AVP and performing | |||
DES encryption on this value with the authenticating user's password | DES encryption on this value with the authenticating user's password | |||
as the key. If the user's password is fewer than 8 octets in length, | as the key. If the user's password is fewer than 8 octets in length, | |||
the password is padded at the end with NULL octets to a length of 8 | the password is padded at the end with NULL octets to a length of 8 | |||
before it is used as a key. | before it is used as a key. | |||
4.3.11. ARAP-Security AVP | 4.3.11. ARAP-Security AVP | |||
The ARAP-Security AVP (AVP Code 73) is of type Unsigned32 and MAY be | The ARAP-Security AVP (AVP Code 73) is of type Unsigned32 and MAY be | |||
skipping to change at page 31, line 8 | skipping to change at page 32, line 5 | |||
4.4. NAS Authorization AVPs | 4.4. NAS Authorization AVPs | |||
This section contains the authorization AVPs supported in the NAS | This section contains the authorization AVPs supported in the NAS | |||
Application. The Service-Type AVP SHOULD be present in all messages | Application. The Service-Type AVP SHOULD be present in all messages | |||
and, based on its value, additional AVPs defined in this section and | and, based on its value, additional AVPs defined in this section and | |||
Section 4.5 MAY be present. | Section 4.5 MAY be present. | |||
The following table gives the possible flag values for the session- | The following table gives the possible flag values for the session- | |||
level AVPs. | level AVPs. | |||
+----------+ | +----------+ | |||
| AVP Flag | | | AVP Flag | | |||
| rules | | | Rules | | |||
|----+-----| | |----+-----| | |||
|MUST| MUST| | |MUST| MUST| | |||
Attribute Name Section Defined | | NOT| | Attribute Name Section Defined | | NOT| | |||
-----------------------------------------|----+-----| | -----------------------------------------|----+-----| | |||
Service-Type 4.4.1 | M | V | | Service-Type 4.4.1 | M | V | | |||
Callback-Number 4.4.2 | M | V | | Callback-Number 4.4.2 | M | V | | |||
Callback-Id 4.4.3 | M | V | | Callback-Id 4.4.3 | M | V | | |||
Idle-Timeout 4.4.4 | M | V | | Idle-Timeout 4.4.4 | M | V | | |||
Port-Limit 4.4.5 | M | V | | Port-Limit 4.4.5 | M | V | | |||
NAS-Filter-Rule 4.4.6 | M | V | | NAS-Filter-Rule 4.4.6 | M | V | | |||
Filter-Id 4.4.7 | M | V | | Filter-Id 4.4.7 | M | V | | |||
Configuration-Token 4.4.8 | M | V | | Configuration-Token 4.4.8 | M | V | | |||
QoS-Filter-Rule 4.4.9 | | | | QoS-Filter-Rule 4.4.9 | | | | |||
Framed-Protocol 4.4.10.1 | M | V | | Framed-Protocol 4.4.10.1 | M | V | | |||
Framed-Routing 4.4.10.2 | M | V | | Framed-Routing 4.4.10.2 | M | V | | |||
Framed-MTU 4.4.10.3 | M | V | | Framed-MTU 4.4.10.3 | M | V | | |||
Framed-Compression 4.4.10.4 | M | V | | Framed-Compression 4.4.10.4 | M | V | | |||
Framed-IP-Address 4.4.10.5.1 | M | V | | Framed-IP-Address 4.4.10.5.1 | M | V | | |||
Framed-IP-Netmask 4.4.10.5.2 | M | V | | Framed-IP-Netmask 4.4.10.5.2 | M | V | | |||
Framed-Route 4.4.10.5.3 | M | V | | Framed-Route 4.4.10.5.3 | M | V | | |||
Framed-Pool 4.4.10.5.4 | M | V | | Framed-Pool 4.4.10.5.4 | M | V | | |||
Framed-Interface-Id 4.4.10.5.5 | M | V | | Framed-Interface-Id 4.4.10.5.5 | M | V | | |||
Framed-IPv6-Prefix 4.4.10.5.6 | M | V | | Framed-IPv6-Prefix 4.4.10.5.6 | M | V | | |||
Framed-IPv6-Route 4.4.10.5.7 | M | V | | Framed-IPv6-Route 4.4.10.5.7 | M | V | | |||
Framed-IPv6-Pool 4.4.10.5.8 | M | V | | Framed-IPv6-Pool 4.4.10.5.8 | M | V | | |||
Framed-IPX-Network 4.4.10.6.1 | M | V | | Framed-IPX-Network 4.4.10.6.1 | M | V | | |||
Framed-Appletalk-Link 4.4.10.7.1 | M | V | | Framed-Appletalk-Link 4.4.10.7.1 | M | V | | |||
Framed-Appletalk-Network 4.4.10.7.2 | M | V | | Framed-Appletalk-Network 4.4.10.7.2 | M | V | | |||
Framed-Appletalk-Zone 4.4.10.7.3 | M | V | | Framed-Appletalk-Zone 4.4.10.7.3 | M | V | | |||
ARAP-Features 4.4.10.8.1 | M | V | | ARAP-Features 4.4.10.8.1 | M | V | | |||
ARAP-Zone-Access 4.4.10.8.2 | M | V | | ARAP-Zone-Access 4.4.10.8.2 | M | V | | |||
Login-IP-Host 4.4.11.1 | M | V | | Login-IP-Host 4.4.11.1 | M | V | | |||
Login-IPv6-Host 4.4.11.2 | M | V | | Login-IPv6-Host 4.4.11.2 | M | V | | |||
Login-Service 4.4.11.3 | M | V | | Login-Service 4.4.11.3 | M | V | | |||
Login-TCP-Port 4.4.11.4.1 | M | V | | Login-TCP-Port 4.4.11.4.1 | M | V | | |||
Login-LAT-Service 4.4.11.5.1 | M | V | | Login-LAT-Service 4.4.11.5.1 | M | V | | |||
Login-LAT-Node 4.4.11.5.2 | M | V | | Login-LAT-Node 4.4.11.5.2 | M | V | | |||
Login-LAT-Group 4.4.11.5.3 | M | V | | Login-LAT-Group 4.4.11.5.3 | M | V | | |||
Login-LAT-Port 4.4.11.5.4 | M | V | | Login-LAT-Port 4.4.11.5.4 | M | V | | |||
-----------------------------------------|----+-----| | -----------------------------------------|----+-----| | |||
4.4.1. Service-Type AVP | 4.4.1. Service-Type AVP | |||
The Service-Type AVP (AVP Code 6) is of type Enumerated and contains | The Service-Type AVP (AVP Code 6) is of type Enumerated and contains | |||
the type of service the user has requested or the type of service to | the type of service the user has requested or the type of service to | |||
be provided. One such AVP MAY be present in an authentication and/or | be provided. One such AVP MAY be present in an authentication and/or | |||
authorization request or response. A NAS is not required to | authorization request or response. A NAS is not required to | |||
implement all of these service types. It MUST treat unknown or | implement all of these service types. It MUST treat unknown or | |||
unsupported Service-Types received in a response as a failure and end | unsupported Service-Type AVPs received in a response as a failure and | |||
the session with a DIAMETER_INVALID_AVP_VALUE Result-Code. | end the session with a DIAMETER_INVALID_AVP_VALUE Result-Code. | |||
When used in a request, the Service-Type AVP SHOULD be considered a | When used in a request, the Service-Type AVP SHOULD be considered a | |||
hint to the server that the NAS believes the user would prefer the | hint to the server that the NAS believes the user would prefer the | |||
kind of service indicated. The server is not required to honor the | kind of service indicated. The server is not required to honor the | |||
hint. Furthermore, if the service specified by the server is | hint. Furthermore, if the service specified by the server is | |||
supported, but not compatible with the current mode of access, the | supported, but not compatible with the current mode of access, the | |||
NAS MUST fail to start the session. The NAS MUST also generate the | NAS MUST fail to start the session. The NAS MUST also generate the | |||
appropriate error message(s). | appropriate error message(s). | |||
The complete list of defined values that the Service-Type AVP can | The complete list of defined values that the Service-Type AVP can | |||
take can be found in Rigney, et al. [RFC2865] and and the relevant | take can be found in [RFC2865] and the relevant IANA registry | |||
IANA registry [RADIUSAttrVals], but the following values require | [RADIUSAttrVals], but the following values require further | |||
further qualification here: | qualification here: | |||
Login (1) | Login (1) | |||
The user should be connected to a host. The message MAY | The user should be connected to a host. The message MAY | |||
include additional AVPs as defined in Section 4.4.11.4 or | include additional AVPs as defined in Sections 4.4.11.4 or | |||
Section 4.4.11.5. | 4.4.11.5. | |||
Framed (2) | Framed (2) | |||
A Framed Protocol, such as PPP or SLIP, should be started | A Framed Protocol, such as PPP or SLIP, should be started for | |||
for the User. The message MAY include additional AVPs | the user. The message MAY include additional AVPs defined in | |||
defined in Section 4.4.10, or Section 4.5 for tunneling | Sections 4.4.10 or 4.5 for tunneling services. | |||
services. | ||||
Callback Login (3) | Callback Login (3) | |||
The user should be disconnected and called back, then | The user should be disconnected and called back, then connected | |||
connected to a host. The message MAY include additional | to a host. The message MAY include additional AVPs defined in | |||
AVPs defined in this Section. | this section. | |||
Callback Framed (4) | Callback Framed (4) | |||
The user should be disconnected and called back, and then a | The user should be disconnected and called back, and then a | |||
Framed Protocol, such as PPP or SLIP, should be started for | Framed Protocol, such as PPP or SLIP, should be started for the | |||
the user. The message MAY include additional AVPs defined | user. The message MAY include additional AVPs defined in | |||
in Section 4.4.10, or Section 4.5 for tunneling services. | Sections 4.4.10 or 4.5 for tunneling services. | |||
4.4.2. Callback-Number AVP | 4.4.2. Callback-Number AVP | |||
The Callback-Number AVP (AVP Code 19) is of type UTF8String and | The Callback-Number AVP (AVP Code 19) is of type UTF8String and | |||
contains a dialing string to be used for callback, the format of | contains a dialing string to be used for callback, the format of | |||
which is deployment-specific. The Callback-Number AVP MAY be used in | which is deployment specific. The Callback-Number AVP MAY be used in | |||
an authentication and/or authorization request as a hint to the | an authentication and/or authorization request as a hint to the | |||
server that a callback service is desired, but the server is not | server that a callback service is desired, but the server is not | |||
required to honor the hint in the corresponding response. | required to honor the hint in the corresponding response. | |||
Any further codification of this field's allowed usage range is | Any further codification of this field's allowed usage range is | |||
outside the scope of this specification. | outside the scope of this specification. | |||
4.4.3. Callback-Id AVP | 4.4.3. Callback-Id AVP | |||
The Callback-Id AVP (AVP Code 20) is of type UTF8String and contains | The Callback-Id AVP (AVP Code 20) is of type UTF8String and contains | |||
skipping to change at page 33, line 40 | skipping to change at page 34, line 40 | |||
This AVP is not roaming-friendly as it assumes that the Callback-Id | This AVP is not roaming-friendly as it assumes that the Callback-Id | |||
is configured on the NAS. Using the Callback-Number AVP | is configured on the NAS. Using the Callback-Number AVP | |||
(Section 4.4.2) is therefore RECOMMENDED. | (Section 4.4.2) is therefore RECOMMENDED. | |||
4.4.4. Idle-Timeout AVP | 4.4.4. Idle-Timeout AVP | |||
The Idle-Timeout AVP (AVP Code 28) is of type Unsigned32 and sets the | The Idle-Timeout AVP (AVP Code 28) is of type Unsigned32 and sets the | |||
maximum number of consecutive seconds of idle connection allowable to | maximum number of consecutive seconds of idle connection allowable to | |||
the user before termination of the session or before a prompt is | the user before termination of the session or before a prompt is | |||
issued. The default is none, or system specific. | issued. The default is none or system specific. | |||
4.4.5. Port-Limit AVP | 4.4.5. Port-Limit AVP | |||
The Port-Limit AVP (AVP Code 62) is of type Unsigned32 and sets the | The Port-Limit AVP (AVP Code 62) is of type Unsigned32 and sets the | |||
maximum number of ports the NAS provides to the user. It MAY be used | maximum number of ports the NAS provides to the user. It MAY be used | |||
in an authentication and/or authorization request as a hint to the | in an authentication and/or authorization request as a hint to the | |||
server that multilink PPP [RFC1990] service is desired, but the | server that multilink PPP [RFC1990] service is desired, but the | |||
server is not required to honor the hint in the corresponding | server is not required to honor the hint in the corresponding | |||
response. | response. | |||
skipping to change at page 34, line 4 | skipping to change at page 35, line 6 | |||
4.4.5. Port-Limit AVP | 4.4.5. Port-Limit AVP | |||
The Port-Limit AVP (AVP Code 62) is of type Unsigned32 and sets the | The Port-Limit AVP (AVP Code 62) is of type Unsigned32 and sets the | |||
maximum number of ports the NAS provides to the user. It MAY be used | maximum number of ports the NAS provides to the user. It MAY be used | |||
in an authentication and/or authorization request as a hint to the | in an authentication and/or authorization request as a hint to the | |||
server that multilink PPP [RFC1990] service is desired, but the | server that multilink PPP [RFC1990] service is desired, but the | |||
server is not required to honor the hint in the corresponding | server is not required to honor the hint in the corresponding | |||
response. | response. | |||
4.4.6. NAS-Filter-Rule AVP | 4.4.6. NAS-Filter-Rule AVP | |||
The NAS-Filter-Rule AVP (AVP Code 400) is of type IPFilterRule and | The NAS-Filter-Rule AVP (AVP Code 400) is of type IPFilterRule and | |||
provides filter rules that need to be configured on the NAS for the | provides filter rules that need to be configured on the NAS for the | |||
user. One or more of these AVPs MAY be present in an authorization | user. One or more of these AVPs MAY be present in an authorization | |||
response. | response. | |||
4.4.7. Filter-Id AVP | 4.4.7. Filter-Id AVP | |||
The Filter-Id AVP (AVP Code 11) is of type UTF8String and contains | The Filter-Id AVP (AVP Code 11) is of type UTF8String and contains | |||
the name of the filter list for this user. It is intended to be | the name of the filter list for this user. It is intended to be | |||
human-readable. Zero or more Filter-Id AVPs MAY be sent in an | human readable. Zero or more Filter-Id AVPs MAY be sent in an | |||
authorization answer message. | authorization answer message. | |||
Identifying a filter list by name allows the filter to be used on | Identifying a filter list by name allows the filter to be used on | |||
different NASes without regard to filter-list implementation details. | different NASes without regard to filter-list implementation details. | |||
However, this AVP is not roaming-friendly, as filter naming differs | However, this AVP is not roaming-friendly, as filter naming differs | |||
from one service provider to another. | from one service provider to another. | |||
In environments where backward compatibility with RADIUS is not | In environments where backward compatibility with RADIUS is not | |||
required, it is RECOMMENDED that the NAS-Filter-Rule AVP | required, it is RECOMMENDED that the NAS-Filter-Rule AVP | |||
(Section 4.4.6) be used instead. | (Section 4.4.6) be used instead. | |||
4.4.8. Configuration-Token AVP | 4.4.8. Configuration-Token AVP | |||
The Configuration-Token AVP (AVP Code 78) is of type OctetString and | The Configuration-Token AVP (AVP Code 78) is of type OctetString and | |||
is sent by a Diameter Server to a Diameter Proxy Agent in an AA- | is sent by a Diameter server to a Diameter Proxy Agent in an AA- | |||
Answer command to indicate a type of user profile to be used. It | Answer command to indicate a type of user profile to be used. It | |||
should not be sent to a Diameter Client (NAS). | should not be sent to a Diameter client (NAS). | |||
The format of the Data field of this AVP is site specific. | The format of the Data field of this AVP is site specific. | |||
4.4.9. QoS-Filter-Rule AVP | 4.4.9. QoS-Filter-Rule AVP | |||
The QoS-Filter-Rule AVP (AVP Code 407) is of type QoSFilterRule | The QoS-Filter-Rule AVP (AVP Code 407) is of type QoSFilterRule | |||
(Section 4.1.1) and provides QoS filter rules that need to be | (Section 4.1.1) and provides QoS filter rules that need to be | |||
configured on the NAS for the user. One or more such AVPs MAY be | configured on the NAS for the user. One or more such AVPs MAY be | |||
present in an authorization response. | present in an authorization response. | |||
The use of this AVP is NOT RECOMMENDED; the AVPs defined by Korhonen, | The use of this AVP is NOT RECOMMENDED; the AVPs defined by [RFC5777] | |||
et al. [RFC5777] SHOULD be used instead. | SHOULD be used instead. | |||
The following options are defined for the QoSFilterRule filters: | The following options are defined for the QoSFilterRule filters: | |||
DSCP <color> | DSCP <color> | |||
If action is set to tag (Section 4.1.1) this option MUST be | If action is set to tag (Section 4.1.1), this option MUST be | |||
included in the rule. | included in the rule. | |||
Color values are defined in Nichols, et al. [RFC2474]. Exact | Color values are defined in [RFC2474]. Exact matching of DSCP | |||
matching of DSCP values is required (no masks or ranges). | values is required (no masks or ranges). | |||
metering <rate> <color_under> <color_over> | metering <rate> <color_under> <color_over> | |||
The metering option provides Assured Forwarding, as defined in | The metering option provides Assured Forwarding, as defined in | |||
Heinanen, et al. [RFC2597]. and MUST be present if the action | [RFC2597]. and MUST be present if the action is set to meter | |||
is set to meter (Section 4.1.1) The rate option is the | (Section 4.1.1) The rate option is the throughput, in bits per | |||
throughput, in bits per second, used by the access device to | second, used by the access device to mark packets. Traffic | |||
mark packets. Traffic over the rate is marked with the | over the rate is marked with the color_over codepoint, and | |||
color_over codepoint, and traffic under the rate is marked with | traffic under the rate is marked with the color_under | |||
the color_under codepoint. The color_under and color_over | codepoint. The color_under and color_over options contain the | |||
options contain the drop preferences and MUST conform to the | drop preferences and MUST conform to the recommended codepoint | |||
recommended codepoint keywords described in RFC 2597 (e.g., | keywords described in [RFC2597] (e.g., AF13). | |||
AF13). | ||||
The metering option also supports the strict limit on traffic | The metering option also supports the strict limit on traffic | |||
required by Expedited Forwarding, as defined in Davie, et | required by Expedited Forwarding, as defined in [RFC3246]. The | |||
al. [RFC3246]. The color_over option may contain the keyword | color_over option may contain the keyword "drop" to prevent | |||
"drop" to prevent forwarding of traffic that exceeds the rate | forwarding of traffic that exceeds the rate parameter. | |||
parameter. | ||||
4.4.10. Framed Access Authorization AVPs | 4.4.10. Framed Access Authorization AVPs | |||
This section lists the authorization AVPs necessary to support framed | This section lists the authorization AVPs necessary to support framed | |||
access, such as PPP and SLIP. AVPs defined in this section MAY be | access, such as PPP and SLIP. AVPs defined in this section MAY be | |||
present in a message if the Service-Type AVP was set to "Framed" or | present in a message if the Service-Type AVP was set to "Framed" or | |||
"Callback Framed". | "Callback Framed". | |||
4.4.10.1. Framed-Protocol AVP | 4.4.10.1. Framed-Protocol AVP | |||
skipping to change at page 37, line 11 | skipping to change at page 38, line 11 | |||
contains the four octets of the IPv4 netmask to be configured for the | contains the four octets of the IPv4 netmask to be configured for the | |||
user when the user is a router to a network. It MAY be used in an | user when the user is a router to a network. It MAY be used in an | |||
authorization request as a hint to the server that a specific netmask | authorization request as a hint to the server that a specific netmask | |||
is desired, but the server is not required to honor the hint in the | is desired, but the server is not required to honor the hint in the | |||
corresponding response. This AVP MUST be present in a response if | corresponding response. This AVP MUST be present in a response if | |||
the request included this AVP with a value of 0xFFFFFFFF. | the request included this AVP with a value of 0xFFFFFFFF. | |||
4.4.10.5.3. Framed-Route AVP | 4.4.10.5.3. Framed-Route AVP | |||
The Framed-Route AVP (AVP Code 22) is of type UTF8String and contains | The Framed-Route AVP (AVP Code 22) is of type UTF8String and contains | |||
the 7-bit ASCII routing information to be configured for the user on | the 7-bit US-ASCII routing information to be configured for the user | |||
the NAS. Zero or more of these AVPs MAY be present in an | on the NAS. Zero or more of these AVPs MAY be present in an | |||
authorization response. | authorization response. | |||
The string MUST contain a destination prefix in dotted quad form | The string MUST contain a destination prefix in dotted quad form | |||
optionally followed by a slash and a decimal length specifier stating | optionally followed by a slash and a decimal-length specifier stating | |||
how many high-order bits of the prefix should be used. This is | how many high-order bits of the prefix should be used. This is | |||
followed by a space, a gateway address in dotted quad form, a space, | followed by a space, a gateway address in dotted quad form, a space, | |||
and one or more metrics separated by spaces; for example, | and one or more metrics separated by spaces; for example, | |||
"192.0.2.0/24 192.0.2.1 1" | "192.0.2.0/24 192.0.2.1 1" | |||
The length specifier may be omitted, in which case it should default | The length specifier may be omitted, in which case it should default | |||
to 8 bits for class A prefixes, to 16 bits for class B prefixes, and | to 8 bits for class A prefixes, 16 bits for class B prefixes, and 24 | |||
to 24 bits for class C prefixes; for example, | bits for class C prefixes; for example, | |||
"192.0.2.0 192.0.2.1 1" | "192.0.2.0 192.0.2.1 1" | |||
Whenever the gateway address is specified as "0.0.0.0" the IP address | Whenever the gateway address is specified as "0.0.0.0", the IP | |||
of the user SHOULD be used as the gateway address. | address of the user SHOULD be used as the gateway address. | |||
4.4.10.5.4. Framed-Pool AVP | 4.4.10.5.4. Framed-Pool AVP | |||
The Framed-Pool AVP (AVP Code 88) is of type OctetString and contains | The Framed-Pool AVP (AVP Code 88) is of type OctetString and contains | |||
the name of an assigned address pool that SHOULD be used to assign an | the name of an assigned address pool that SHOULD be used to assign an | |||
address for the user. If a NAS does not support multiple address | address for the user. If a NAS does not support multiple address | |||
pools, the NAS SHOULD ignore this AVP. Address pools are usually | pools, the NAS SHOULD ignore this AVP. Address pools are usually | |||
used for IP addresses but can be used for other protocols if the NAS | used for IP addresses but can be used for other protocols if the NAS | |||
supports pools for those protocols. | supports pools for those protocols. | |||
Although specified as type OctetString for compatibility with RADIUS | Although specified as type OctetString for compatibility with RADIUS | |||
[RFC2869], the encoding of the Data field SHOULD also conform to the | [RFC2869], the encoding of the Data field SHOULD also conform to the | |||
rules for the UTF8String Data Format. | rules for the UTF8String Data Format. | |||
4.4.10.5.5. Framed-Interface-Id AVP | 4.4.10.5.5. Framed-Interface-Id AVP | |||
The Framed-Interface-Id AVP (AVP Code 96) is of type Unsigned64 and | The Framed-Interface-Id AVP (AVP Code 96) is of type Unsigned64 and | |||
contains the IPv6 interface identifier to be configured for the user. | contains the IPv6 interface identifier to be configured for the user. | |||
It MAY be used in authorization requests as a hint to the server that | It MAY be used in authorization requests as a hint to the server that | |||
a specific interface id is desired, but the server is not required to | a specific interface identifier is desired, but the server is not | |||
honor the hint in the corresponding response. | required to honor the hint in the corresponding response. | |||
4.4.10.5.6. Framed-IPv6-Prefix AVP | 4.4.10.5.6. Framed-IPv6-Prefix AVP | |||
The Framed-IPv6-Prefix AVP (AVP Code 97) is of type OctetString and | The Framed-IPv6-Prefix AVP (AVP Code 97) is of type OctetString and | |||
contains the IPv6 prefix to be configured for the user. One or more | contains the IPv6 prefix to be configured for the user. One or more | |||
AVPs MAY be used in authorization requests as a hint to the server | AVPs MAY be used in authorization requests as a hint to the server | |||
that specific IPv6 prefixes are desired, but the server is not | that specific IPv6 prefixes are desired, but the server is not | |||
required to honor the hint in the corresponding response. | required to honor the hint in the corresponding response. | |||
4.4.10.5.7. Framed-IPv6-Route AVP | 4.4.10.5.7. Framed-IPv6-Route AVP | |||
The Framed-IPv6-Route AVP (AVP Code 99) is of type UTF8String and | The Framed-IPv6-Route AVP (AVP Code 99) is of type UTF8String and | |||
contains the ASCII routing information to be configured for the user | contains the US-ASCII routing information to be configured for the | |||
on the NAS. Zero or more of these AVPs MAY be present in an | user on the NAS. Zero or more of these AVPs MAY be present in an | |||
authorization response. | authorization response. | |||
The string MUST contain an IPv6 address prefix followed by a slash | The string MUST contain an IPv6 address prefix followed by a slash | |||
and a decimal length specifier stating how many high order bits of | and a decimal-length specifier stating how many high-order bits of | |||
the prefix should be used. This is followed by a space, a gateway | the prefix should be used. This is followed by a space, a gateway | |||
address in hexadecimal notation, a space, and one or more metrics | address in hexadecimal notation, a space, and one or more metrics | |||
separated by spaces; for example, | separated by spaces; for example, | |||
"2001:db8::/32 2001:db8:106:a00:20ff:fe99:a998 1" | "2001:db8::/32 2001:db8:106:a00:20ff:fe99:a998 1" | |||
Whenever the gateway address is the IPv6 unspecified address, the IP | Whenever the gateway address is the IPv6 unspecified address, the IP | |||
address of the user SHOULD be used as the gateway address, such as | address of the user SHOULD be used as the gateway address, such as | |||
in: | in: | |||
skipping to change at page 39, line 21 | skipping to change at page 40, line 24 | |||
The value 0xFFFFFFFF indicates that the NAS should allow the user to | The value 0xFFFFFFFF indicates that the NAS should allow the user to | |||
select an address (i.e., Negotiated). The value 0xFFFFFFFE indicates | select an address (i.e., Negotiated). The value 0xFFFFFFFE indicates | |||
that the NAS should select an address for the user (e.g., assign it | that the NAS should select an address for the user (e.g., assign it | |||
from a pool of one or more IPX networks kept by the NAS). | from a pool of one or more IPX networks kept by the NAS). | |||
4.4.10.7. AppleTalk Network Access AVPs | 4.4.10.7. AppleTalk Network Access AVPs | |||
The AVPs defined in this section are used when the user requests, or | The AVPs defined in this section are used when the user requests, or | |||
is being granted, access to an AppleTalk network [AppleTalk]. | is being granted, access to an AppleTalk network [AppleTalk]. | |||
4.4.10.7.1. Framed-AppleTalk-Link AVP | 4.4.10.7.1. Framed-Appletalk-Link AVP | |||
The Framed-AppleTalk-Link AVP (AVP Code 37) is of type Unsigned32 and | The Framed-Appletalk-Link AVP (AVP Code 37) is of type Unsigned32 and | |||
contains the AppleTalk network number that should be used for the | contains the AppleTalk network number that should be used for the | |||
serial link to the user, which is another AppleTalk router. This AVP | serial link to the user, which is another AppleTalk router. This AVP | |||
MUST only be present in an authorization response and is never used | MUST only be present in an authorization response and is never used | |||
when the user is not another router. | when the user is not another router. | |||
Despite the size of the field, values range from 0 to 65,535. The | Despite the size of the field, values range from 0 to 65,535. The | |||
special value of 0 indicates an unnumbered serial link. A value of 1 | special value of 0 indicates an unnumbered serial link. A value of 1 | |||
to 65,535 means that the serial line between the NAS and the user | to 65,535 means that the serial line between the NAS and the user | |||
should be assigned that value as an AppleTalk network number. | should be assigned that value as an AppleTalk network number. | |||
4.4.10.7.2. Framed-AppleTalk-Network AVP | 4.4.10.7.2. Framed-Appletalk-Network AVP | |||
The Framed-AppleTalk-Network AVP (AVP Code 38) is of type Unsigned32 | The Framed-Appletalk-Network AVP (AVP Code 38) is of type Unsigned32 | |||
and contains the AppleTalk Network number that the NAS should probe | and contains the AppleTalk network number that the NAS should probe | |||
to allocate an AppleTalk node for the user. This AVP MUST only be | to allocate an AppleTalk node for the user. This AVP MUST only be | |||
present in an authorization response and is never used when the user | present in an authorization response and is never used when the user | |||
is not another router. Multiple instances of this AVP indicate that | is not another router. Multiple instances of this AVP indicate that | |||
the NAS may probe, using any of the network numbers specified. | the NAS may probe, using any of the network numbers specified. | |||
Despite the size of the field, values range from 0 to 65,535. The | Despite the size of the field, values range from 0 to 65,535. The | |||
special value 0 indicates that the NAS should assign a network for | special value 0 indicates that the NAS should assign a network for | |||
the user, using its default cable range. A value between 1 and | the user, using its default cable range. A value between 1 and | |||
65,535 (inclusive) indicates to the AppleTalk Network that the NAS | 65,535 (inclusive) indicates to the AppleTalk network that the NAS | |||
should probe to find an address for the user. | should probe to find an address for the user. | |||
4.4.10.7.3. Framed-AppleTalk-Zone AVP | 4.4.10.7.3. Framed-Appletalk-Zone AVP | |||
The Framed-AppleTalk-Zone AVP (AVP Code 39) is of type OctetString | ||||
The Framed-Appletalk-Zone AVP (AVP Code 39) is of type OctetString | ||||
and contains the AppleTalk Default Zone to be used for this user. | and contains the AppleTalk Default Zone to be used for this user. | |||
This AVP MUST only be present in an authorization response. Multiple | This AVP MUST only be present in an authorization response. Multiple | |||
instances of this AVP in the same message are not allowed. | instances of this AVP in the same message are not allowed. | |||
The codification of this field's allowed range is outside the scope | The codification of this field's allowed range is outside the scope | |||
of this specification. | of this specification. | |||
4.4.10.8. AppleTalk Remote Access AVPs | 4.4.10.8. AppleTalk Remote Access AVPs | |||
The AVPs defined in this section are used when the user requests, or | The AVPs defined in this section are used when the user requests, or | |||
skipping to change at page 40, line 34 | skipping to change at page 41, line 37 | |||
the value of ARAP. See RFC 2869 for more information about the | the value of ARAP. See RFC 2869 for more information about the | |||
format of this AVP. | format of this AVP. | |||
4.4.10.8.2. ARAP-Zone-Access AVP | 4.4.10.8.2. ARAP-Zone-Access AVP | |||
The ARAP-Zone-Access AVP (AVP Code 72) is of type Enumerated and MAY | The ARAP-Zone-Access AVP (AVP Code 72) is of type Enumerated and MAY | |||
be present in the AA-Accept message if the Framed-Protocol AVP is set | be present in the AA-Accept message if the Framed-Protocol AVP is set | |||
to the value of ARAP. | to the value of ARAP. | |||
The supported values are listed in [RADIUSAttrVals] and defined in | The supported values are listed in [RADIUSAttrVals] and defined in | |||
RFC 2869. | [RFC2869]. | |||
4.4.11. Non-Framed Access Authorization AVPs | 4.4.11. Non-Framed Access Authorization AVPs | |||
This section contains the authorization AVPs that are needed to | This section contains the authorization AVPs that are needed to | |||
support terminal server functionality. AVPs defined in this section | support terminal server functionality. AVPs defined in this section | |||
MAY be present in a message if the Service-Type AVP was set to | MAY be present in a message if the Service-Type AVP was set to | |||
"Login" or "Callback Login". | "Login" or "Callback Login". | |||
4.4.11.1. Login-IP-Host AVP | 4.4.11.1. Login-IP-Host AVP | |||
The Login-IP-Host AVP (AVP Code 14) [RFC2865] is of type OctetString | The Login-IP-Host AVP (AVP Code 14) [RFC2865] is of type OctetString | |||
and contains the IPv4 address of a host with which to connect the | and contains the IPv4 address of a host with which to connect the | |||
user when the Login-Service AVP is included. It MAY be used in an | user when the Login-Service AVP is included. It MAY be used in an | |||
AA-Request command as a hint to the Diameter Server that a specific | AA-Request command as a hint to the Diameter server that a specific | |||
host is desired, but the Diameter Server is not required to honor the | host is desired, but the Diameter server is not required to honor the | |||
hint in the AA-Answer. | hint in the AA-Answer. | |||
Two addresses have special significance: all ones and 0. The value | Two addresses have special significance: all ones and 0. The value | |||
of all ones indicates that the NAS SHOULD allow the user to select an | of all ones indicates that the NAS SHOULD allow the user to select an | |||
address. The value 0 indicates that the NAS SHOULD select a host to | address. The value 0 indicates that the NAS SHOULD select a host to | |||
connect the user to. | connect the user to. | |||
4.4.11.2. Login-IPv6-Host AVP | 4.4.11.2. Login-IPv6-Host AVP | |||
The Login-IPv6-Host AVP (AVP Code 98) [RFC3162] is of type | The Login-IPv6-Host AVP (AVP Code 98) [RFC3162] is of type | |||
OctetString and contains the IPv6 address of a host with which to | OctetString and contains the IPv6 address of a host with which to | |||
connect the user when the Login-Service AVP is included. It MAY be | connect the user when the Login-Service AVP is included. It MAY be | |||
used in an AA-Request command as a hint to the Diameter Server that a | used in an AA-Request command as a hint to the Diameter server that a | |||
specific host is desired, but the Diameter Server is not required to | specific host is desired, but the Diameter server is not required to | |||
honor the hint in the AA-Answer. | honor the hint in the AA-Answer. | |||
Two addresses have special significance, | Two addresses have special significance, | |||
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF and 0. The value | 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF and 0. The value | |||
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF indicates that the NAS SHOULD | 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF indicates that the NAS SHOULD | |||
allow the user to select an address. The value 0 indicates that the | allow the user to select an address. The value 0 indicates that the | |||
NAS SHOULD select a host to connect the user to. | NAS SHOULD select a host to connect the user to. | |||
4.4.11.3. Login-Service AVP | 4.4.11.3. Login-Service AVP | |||
skipping to change at page 42, line 27 | skipping to change at page 43, line 35 | |||
its services through LAT broadcasts. | its services through LAT broadcasts. | |||
Sophisticated users often know which service providers (machines) are | Sophisticated users often know which service providers (machines) are | |||
faster and tend to use a node name when initiating a LAT connection. | faster and tend to use a node name when initiating a LAT connection. | |||
Some administrators want particular users to use certain machines as | Some administrators want particular users to use certain machines as | |||
a primitive form of load balancing (although LAT knows how to do load | a primitive form of load balancing (although LAT knows how to do load | |||
balancing itself). | balancing itself). | |||
The String field contains the identity of the LAT service to use. | The String field contains the identity of the LAT service to use. | |||
The LAT Architecture allows this string to contain $ (dollar), - | The LAT Architecture allows this string to contain $ (dollar), - | |||
(hyphen), . (period), _ (underscore), numerics, upper- and lowercase | (hyphen), . (period), _ (underscore), numerics, upper- and lower-case | |||
alphabetics, and the ISO Latin-1 character set extension | alphabetics, and the ISO Latin-1 character set extension | |||
[ISO.8859-1.1987]. All LAT string comparisons are case insensitive. | [ISO.8859-1.1987]. All LAT string comparisons are case insensitive. | |||
4.4.11.5.2. Login-LAT-Node AVP | 4.4.11.5.2. Login-LAT-Node AVP | |||
The Login-LAT-Node AVP (AVP Code 35) is of type OctetString and | The Login-LAT-Node AVP (AVP Code 35) is of type OctetString and | |||
contains the Node with which the user is to be automatically | contains the Node with which the user is to be automatically | |||
connected by LAT. It MAY be used in an authorization request as a | connected by LAT. It MAY be used in an authorization request as a | |||
hint to the server that a specific LAT node is desired, but the | hint to the server that a specific LAT node is desired, but the | |||
server is not required to honor the hint in the corresponding | server is not required to honor the hint in the corresponding | |||
response. This AVP MUST only be present in a response if the Login- | response. This AVP MUST only be present in a response if the Login- | |||
Service-Type AVP is set to LAT. | Service-Type AVP is set to LAT. | |||
The String field contains the identity of the LAT service to use. | The String field contains the identity of the LAT service to use. | |||
The LAT Architecture allows this string to contain $ (dollar), - | The LAT Architecture allows this string to contain $ (dollar), - | |||
(hyphen), . (period), _ (underscore), numerics, upper- and lowercase | (hyphen), . (period), _ (underscore), numerics, upper- and lower-case | |||
alphabetics, and the ISO Latin-1 character set extension | alphabetics, and the ISO Latin-1 character set extension | |||
[ISO.8859-1.1987]. All LAT string comparisons are case insensitive. | [ISO.8859-1.1987]. All LAT string comparisons are case insensitive. | |||
4.4.11.5.3. Login-LAT-Group AVP | 4.4.11.5.3. Login-LAT-Group AVP | |||
The Login-LAT-Group AVP (AVP Code 36) is of type OctetString and | The Login-LAT-Group AVP (AVP Code 36) is of type OctetString and | |||
contains a string identifying the LAT group codes this user is | contains a string identifying the LAT group codes this user is | |||
authorized to use. It MAY be used in an authorization request as a | authorized to use. It MAY be used in an authorization request as a | |||
hint to the server that a specific group is desired, but the server | hint to the server that a specific group is desired, but the server | |||
is not required to honor the hint in the corresponding response. | is not required to honor the hint in the corresponding response. | |||
skipping to change at page 43, line 31 | skipping to change at page 44, line 37 | |||
bitmap of authorized group codes to each user. LAT gets these from | bitmap of authorized group codes to each user. LAT gets these from | |||
the operating system and uses them in its requests to the service | the operating system and uses them in its requests to the service | |||
providers. | providers. | |||
The codification of the range of allowed usage of this field is | The codification of the range of allowed usage of this field is | |||
outside the scope of this specification. | outside the scope of this specification. | |||
4.4.11.5.4. Login-LAT-Port AVP | 4.4.11.5.4. Login-LAT-Port AVP | |||
The Login-LAT-Port AVP (AVP Code 63) is of type OctetString and | The Login-LAT-Port AVP (AVP Code 63) is of type OctetString and | |||
contains the Port with which the user is to be connected by LAT. It | contains the port with which the user is to be connected by LAT. It | |||
MAY be used in an authorization request as a hint to the server that | MAY be used in an authorization request as a hint to the server that | |||
a specific port is desired, but the server is not required to honor | a specific port is desired, but the server is not required to honor | |||
the hint in the corresponding response. This AVP MUST only be | the hint in the corresponding response. This AVP MUST only be | |||
present in a response if the Login-Service-Type AVP is set to LAT. | present in a response if the Login-Service-Type AVP is set to LAT. | |||
The String field contains the identity of the LAT service to use. | The String field contains the identity of the LAT service to use. | |||
The LAT Architecture allows this string to contain $ (dollar), - | The LAT Architecture allows this string to contain $ (dollar), - | |||
(hyphen), . (period), _ (underscore), numerics, upper- and lower-case | (hyphen), . (period), _ (underscore), numerics, upper- and lower-case | |||
alphabetics, and the ISO Latin-1 character set extension | alphabetics, and the ISO Latin-1 character set extension | |||
[ISO.8859-1.1987]. | [ISO.8859-1.1987]. | |||
All LAT string comparisons are case insensitive. | All LAT string comparisons are case insensitive. | |||
4.5. NAS Tunneling AVPs | 4.5. NAS Tunneling AVPs | |||
Some NASes support compulsory tunnel services in which the incoming | Some NASes support compulsory tunnel services in which the incoming | |||
connection data is conveyed by an encapsulation method to a gateway | connection data is conveyed by an encapsulation method to a gateway | |||
elsewhere in the network. This is typically transparent to the | elsewhere in the network. This is typically transparent to the | |||
service user, and the tunnel characteristics may be described by the | service user, and the tunnel characteristics may be described by the | |||
remote AAA server, based on the user's authorization information. | remote Authentication, Authorization, and Accounting server, based on | |||
Several tunnel characteristics may be returned, and the NAS | the user's authorization information. Several tunnel characteristics | |||
implementation may choose one. See Zorn, et al. [RFC2868] and Zorn, | may be returned, and the NAS implementation may choose one. See | |||
Aboba & Mitton [RFC2867] for further information. | [RFC2868] and [RFC2867] for further information. | |||
The following table gives the possible flag values for the session | The following table gives the possible flag values for the session- | |||
level AVPs and specifies whether the AVP MAY be encrypted. | level AVPs and specifies whether the AVP MAY be encrypted. | |||
+----------+ | +----------+ | |||
| AVP Flag | | | AVP Flag | | |||
| rules | | | Rules | | |||
|----+-----| | |----+-----| | |||
|MUST| MUST| | |MUST| MUST| | |||
Attribute Name Section Defined | | NOT | | Attribute Name Section Defined | | NOT | | |||
-----------------------------------------|----+-----| | -----------------------------------------|----+-----| | |||
Tunneling 4.5.1 | M | V | | Tunneling 4.5.1 | M | V | | |||
Tunnel-Type 4.5.2 | M | V | | Tunnel-Type 4.5.2 | M | V | | |||
Tunnel-Medium-Type 4.5.3 | M | V | | Tunnel-Medium-Type 4.5.3 | M | V | | |||
Tunnel-Client-Endpoint 4.5.4 | M | V | | Tunnel-Client-Endpoint 4.5.4 | M | V | | |||
Tunnel-Server-Endpoint 4.5.5 | M | V | | Tunnel-Server-Endpoint 4.5.5 | M | V | | |||
Tunnel-Password 4.5.6 | M | V | | Tunnel-Password 4.5.6 | M | V | | |||
Tunnel-Private-Group-Id 4.5.7 | M | V | | Tunnel-Private-Group-Id 4.5.7 | M | V | | |||
Tunnel-Assignment-Id 4.5.8 | M | V | | Tunnel-Assignment-Id 4.5.8 | M | V | | |||
Tunnel-Preference 4.5.9 | M | V | | Tunnel-Preference 4.5.9 | M | V | | |||
Tunnel-Client-Auth-Id 4.5.10 | M | V | | Tunnel-Client-Auth-Id 4.5.10 | M | V | | |||
Tunnel-Server-Auth-Id 4.5.11 | M | V | | Tunnel-Server-Auth-Id 4.5.11 | M | V | | |||
-----------------------------------------|----+-----| | -----------------------------------------|----+-----| | |||
4.5.1. Tunneling AVP | 4.5.1. Tunneling AVP | |||
The Tunneling AVP (AVP Code 401) is of type Grouped and contains the | The Tunneling AVP (AVP Code 401) is of type Grouped and contains the | |||
following AVPs, used to describe a compulsory tunnel service | following AVPs, used to describe a compulsory tunnel service | |||
([RFC2868], [RFC2867]). Its data field has the following ABNF | [RFC2868] [RFC2867]. Its data field has the following ABNF grammar: | |||
grammar: | ||||
Tunneling ::= < AVP Header: 401 > | Tunneling ::= < AVP Header: 401 > | |||
{ Tunnel-Type } | { Tunnel-Type } | |||
{ Tunnel-Medium-Type } | { Tunnel-Medium-Type } | |||
{ Tunnel-Client-Endpoint } | { Tunnel-Client-Endpoint } | |||
{ Tunnel-Server-Endpoint } | { Tunnel-Server-Endpoint } | |||
[ Tunnel-Preference ] | [ Tunnel-Preference ] | |||
[ Tunnel-Client-Auth-Id ] | [ Tunnel-Client-Auth-Id ] | |||
[ Tunnel-Server-Auth-Id ] | [ Tunnel-Server-Auth-Id ] | |||
[ Tunnel-Assignment-Id ] | [ Tunnel-Assignment-Id ] | |||
skipping to change at page 45, line 15 | skipping to change at page 46, line 30 | |||
the tunneling protocol(s) to be used (in the case of a tunnel | the tunneling protocol(s) to be used (in the case of a tunnel | |||
initiator) or in use (in the case of a tunnel terminator). It MAY be | initiator) or in use (in the case of a tunnel terminator). It MAY be | |||
used in an authorization request as a hint to the server that a | used in an authorization request as a hint to the server that a | |||
specific tunnel type is desired, but the server is not required to | specific tunnel type is desired, but the server is not required to | |||
honor the hint in the corresponding response. | honor the hint in the corresponding response. | |||
The Tunnel-Type AVP SHOULD also be included in ACR messages. | The Tunnel-Type AVP SHOULD also be included in ACR messages. | |||
A tunnel initiator is not required to implement any of these tunnel | A tunnel initiator is not required to implement any of these tunnel | |||
types. If a tunnel initiator receives a response that contains only | types. If a tunnel initiator receives a response that contains only | |||
unknown or unsupported Tunnel-Types, the tunnel initiator MUST behave | unknown or unsupported tunnel types, the tunnel initiator MUST behave | |||
as though a response were received with the Result-Code indicating a | as though a response were received with the Result-Code indicating a | |||
failure. | failure. | |||
The supported values are listed in [RADIUSAttrVals]. | The supported values are listed in [RADIUSAttrVals]. | |||
4.5.3. Tunnel-Medium-Type AVP | 4.5.3. Tunnel-Medium-Type AVP | |||
The Tunnel-Medium-Type AVP (AVP Code 65) is of type Enumerated and | The Tunnel-Medium-Type AVP (AVP Code 65) is of type Enumerated and | |||
contains the transport medium to use when creating a tunnel for | contains the transport medium to use when creating a tunnel for | |||
protocols (such as L2TP [RFC3931]) that can operate over multiple | protocols (such as L2TP [RFC3931]) that can operate over multiple | |||
skipping to change at page 45, line 43 | skipping to change at page 47, line 9 | |||
The Tunnel-Client-Endpoint AVP (AVP Code 66) is of type UTF8String | The Tunnel-Client-Endpoint AVP (AVP Code 66) is of type UTF8String | |||
and contains the address of the initiator end of the tunnel. It MAY | and contains the address of the initiator end of the tunnel. It MAY | |||
be used in an authorization request as a hint to the server that a | be used in an authorization request as a hint to the server that a | |||
specific endpoint is desired, but the server is not required to honor | specific endpoint is desired, but the server is not required to honor | |||
the hint in the corresponding response. This AVP SHOULD be included | the hint in the corresponding response. This AVP SHOULD be included | |||
in the corresponding ACR messages, in which case it indicates the | in the corresponding ACR messages, in which case it indicates the | |||
address from which the tunnel was initiated. This AVP, along with | address from which the tunnel was initiated. This AVP, along with | |||
the Tunnel-Server-Endpoint (Section 4.5.5) and Session-Id AVPs | the Tunnel-Server-Endpoint (Section 4.5.5) and Session-Id AVPs | |||
([RFC6733], Section 8.8), can be used to provide a globally unique | ([RFC6733], Section 8.8), can be used to provide a globally unique | |||
means to identify a tunnel for accounting and auditingpurposes. | means to identify a tunnel for accounting and auditing purposes. | |||
If the value of the Tunnel-Medium-Type AVP (Section 4.5.3) is IPv4 | If the value of the Tunnel-Medium-Type AVP (Section 4.5.3) is IPv4 | |||
(1), then this string is either the fully qualified domain name | (1), then this string is either the fully qualified domain name | |||
(FQDN) of the tunnel client machine, or a "dotted-decimal" IP | (FQDN) of the tunnel client machine or a "dotted-decimal" IP address. | |||
address. Implementations MUST support the dotted-decimal format and | Implementations MUST support the dotted-decimal format and SHOULD | |||
SHOULD support the FQDN format for IP addresses. | support the FQDN format for IP addresses. | |||
If Tunnel-Medium-Type is IPv6 (2), then this string is either the | If Tunnel-Medium-Type is IPv6 (2), then this string is either the | |||
FQDN of the tunnel client machine, or a text representation of the | FQDN of the tunnel client machine or a text representation of the | |||
address in either the preferred or alternate form [RFC3516]. | address in either the preferred or alternate form [RFC3516]. | |||
Conforming implementations MUST support the preferred form and SHOULD | Conforming implementations MUST support the preferred form and SHOULD | |||
support both the alternate text form and the FQDN format for IPv6 | support both the alternate text form and the FQDN format for IPv6 | |||
addresses. | addresses. | |||
If Tunnel-Medium-Type is neither IPv4 nor IPv6, then this string is a | If Tunnel-Medium-Type is neither IPv4 nor IPv6, then this string is a | |||
tag referring to configuration data local to the Diameter client that | tag referring to configuration data local to the Diameter client that | |||
describes the interface or medium-specific client address to use. | describes the interface or medium-specific client address to use. | |||
Note that this application handles internationalized domain names in | Note that this application handles Internationalized Domain Names | |||
the same way as the Diameter base protocol (see Appendix D of RFC | (IDNs) in the same way as the Diameter Base protocol (see Appendix D | |||
6733 for details). | of RFC 6733 for details). | |||
4.5.5. Tunnel-Server-Endpoint AVP | 4.5.5. Tunnel-Server-Endpoint AVP | |||
The Tunnel-Server-Endpoint AVP (AVP Code 67) is of type UTF8String | The Tunnel-Server-Endpoint AVP (AVP Code 67) is of type UTF8String | |||
and contains the address of the server end of the tunnel. It MAY be | and contains the address of the server end of the tunnel. It MAY be | |||
used in an authorization request as a hint to the server that a | used in an authorization request as a hint to the server that a | |||
specific endpoint is desired, but the server is not required to honor | specific endpoint is desired, but the server is not required to honor | |||
the hint in the corresponding response. | the hint in the corresponding response. | |||
This AVP SHOULD be included in the corresponding ACR messages, in | This AVP SHOULD be included in the corresponding ACR messages, in | |||
skipping to change at page 47, line 5 | skipping to change at page 48, line 15 | |||
If Tunnel-Medium-Type is IPv6 (2), then this string is either the | If Tunnel-Medium-Type is IPv6 (2), then this string is either the | |||
FQDN of the tunnel server machine, or a text representation of the | FQDN of the tunnel server machine, or a text representation of the | |||
address in either the preferred or alternate form [RFC3516]. | address in either the preferred or alternate form [RFC3516]. | |||
Implementations MUST support the preferred form and SHOULD support | Implementations MUST support the preferred form and SHOULD support | |||
both the alternate text form and the FQDN format for IPv6 addresses. | both the alternate text form and the FQDN format for IPv6 addresses. | |||
If Tunnel-Medium-Type is not IPv4 or IPv6, this string is a tag | If Tunnel-Medium-Type is not IPv4 or IPv6, this string is a tag | |||
referring to configuration data local to the Diameter client that | referring to configuration data local to the Diameter client that | |||
describes the interface or medium-specific server address to use. | describes the interface or medium-specific server address to use. | |||
Note that this application handles internationalized domain names in | Note that this application handles IDNs in the same way as the | |||
the same way as the Diameter base protocol (see Appendix D of RFC | Diameter base protocol (see Appendix D of RFC 6733 for details). | |||
6733 for details). | ||||
4.5.6. Tunnel-Password AVP | 4.5.6. Tunnel-Password AVP | |||
The Tunnel-Password AVP (AVP Code 69) is of type OctetString and may | The Tunnel-Password AVP (AVP Code 69) is of type OctetString and may | |||
contain a password to be used to authenticate to a remote server. | contain a password to be used to authenticate to a remote server. | |||
The Tunnel-Password AVP SHOULD NOT be used in untrusted proxy | The Tunnel-Password AVP SHOULD NOT be used in untrusted proxy | |||
environments without encrypting it by using end-to-end security | environments without encrypting it by using end-to-end security | |||
techniques. | techniques. | |||
skipping to change at page 48, line 51 | skipping to change at page 50, line 16 | |||
specifying this AVP). | specifying this AVP). | |||
Note that the same Id may be used to name different tunnels if these | Note that the same Id may be used to name different tunnels if these | |||
tunnels are between different endpoints. | tunnels are between different endpoints. | |||
4.5.9. Tunnel-Preference AVP | 4.5.9. Tunnel-Preference AVP | |||
The Tunnel-Preference AVP (AVP Code 83) is of type Unsigned32 and is | The Tunnel-Preference AVP (AVP Code 83) is of type Unsigned32 and is | |||
used to identify the relative preference assigned to each tunnel when | used to identify the relative preference assigned to each tunnel when | |||
more than one set of tunneling AVPs is returned within separate | more than one set of tunneling AVPs is returned within separate | |||
Grouped-AVP AVPs. It MAY be used in an authorization request as a | grouped AVPs. It MAY be used in an authorization request as a hint | |||
hint to the server that a specific preference is desired, but the | to the server that a specific preference is desired, but the server | |||
server is not required to honor the hint in the corresponding | is not required to honor the hint in the corresponding response. | |||
response. | ||||
For example, suppose that AVPs describing two tunnels are returned by | For example, suppose that AVPs describing two tunnels are returned by | |||
the server, one with a Tunnel-Type of PPTP and the other with a | the server, one with a tunnel type of PPTP and the other with a | |||
Tunnel-Type of L2TP. If the tunnel initiator supports only one of | tunnel type of L2TP. If the tunnel initiator supports only one of | |||
the Tunnel-Types returned, it will initiate a tunnel of that type. | the tunnel types returned, it will initiate a tunnel of that type. | |||
If, however, it supports both tunnel protocols, it SHOULD use the | If, however, it supports both tunnel protocols, it SHOULD use the | |||
value of the Tunnel-Preference AVP to decide which tunnel should be | value of the Tunnel-Preference AVP to decide which tunnel should be | |||
started. The tunnel with the lowest numerical value in the Value | started. The tunnel with the lowest numerical value in the Value | |||
field of this AVP SHOULD be given the highest preference. The values | field of this AVP SHOULD be given the highest preference. The values | |||
assigned to two or more instances of the Tunnel-Preference AVP within | assigned to two or more instances of the Tunnel-Preference AVP within | |||
a given authorization response MAY be identical. In this case, the | a given authorization response MAY be identical. In this case, the | |||
tunnel initiator SHOULD use locally configured metrics to decide | tunnel initiator SHOULD use locally configured metrics to decide | |||
which set of AVPs to use. | which set of AVPs to use. | |||
4.5.10. Tunnel-Client-Auth-Id AVP | 4.5.10. Tunnel-Client-Auth-Id AVP | |||
skipping to change at page 50, line 7 | skipping to change at page 51, line 17 | |||
messages pertaining to the tunneled session. | messages pertaining to the tunneled session. | |||
4.6. NAS Accounting AVPs | 4.6. NAS Accounting AVPs | |||
Applications implementing this specification use Diameter Accounting | Applications implementing this specification use Diameter Accounting | |||
(as defined in [RFC6733]) and the AVPs in the following section. | (as defined in [RFC6733]) and the AVPs in the following section. | |||
Service-specific AVP usage is defined in the tables in Section 5. | Service-specific AVP usage is defined in the tables in Section 5. | |||
If accounting is active, Accounting Request (ACR) messages SHOULD be | If accounting is active, Accounting Request (ACR) messages SHOULD be | |||
sent after the completion of any Authentication or Authorization | sent after the completion of any Authentication or Authorization | |||
transaction and at the end of a Session. The value of the | transaction and at the end of a session. The value of the | |||
Accounting-Record-Type AVP [RFC6733] indicates the type of event. | Accounting-Record-Type AVP [RFC6733] indicates the type of event. | |||
All other AVPs identify the session and provide additional | All other AVPs identify the session and provide additional | |||
information relevant to the event. | information relevant to the event. | |||
The successful completion of the first Authentication or | The successful completion of the first Authentication or | |||
Authorization transaction SHOULD cause a START_RECORD to be sent. If | Authorization transaction SHOULD cause a START_RECORD to be sent. If | |||
additional Authentications or Authorizations occur in later | additional Authentications or Authorizations occur in later | |||
transactions, the first exchange should generate a START_RECORD, and | transactions, the first exchange should generate a START_RECORD, and | |||
the later an INTERIM_RECORD. For a given session, there MUST only be | the latter an INTERIM_RECORD. For a given session, there MUST only | |||
one set of matching START and STOP records, with any number of | be one set of matching START and STOP records, with any number of | |||
INTERIM_RECORDS in between, or one EVENT_RECORD indicating the reason | INTERIM_RECORDS in between, or one EVENT_RECORD indicating the reason | |||
a session wasn't started. | a session wasn't started. | |||
The following table gives the possible flag values for the session | The following table gives the possible flag values for the session- | |||
level AVPs and specifies whether the AVP MAY be encrypted. | level AVPs and specifies whether the AVP MAY be encrypted. | |||
+----------+ | +----------+ | |||
| AVP Flag | | | AVP Flag | | |||
| rules | | | Rules | | |||
|----+-----| | |----+-----| | |||
Section |MUST| MUST| | Section |MUST| MUST| | |||
Attribute Name Defined | | NOT| | Attribute Name Defined | | NOT| | |||
-----------------------------------------|----+-----| | -----------------------------------------|----+-----| | |||
Accounting-Input-Octets 4.6.1 | M | V | | Accounting-Input-Octets 4.6.1 | M | V | | |||
Accounting-Output-Octets 4.6.2 | M | V | | Accounting-Output-Octets 4.6.2 | M | V | | |||
Accounting-Input-Packets 4.6.3 | M | V | | Accounting-Input-Packets 4.6.3 | M | V | | |||
Accounting-Output-Packets 4.6.4 | M | V | | Accounting-Output-Packets 4.6.4 | M | V | | |||
Acct-Session-Time 4.6.5 | M | V | | Acct-Session-Time 4.6.5 | M | V | | |||
Acct-Authentic 4.6.6 | M | V | | Acct-Authentic 4.6.6 | M | V | | |||
Accounting-Auth-Method 4.6.7 | M | V | | Accounting-Auth-Method 4.6.7 | M | V | | |||
Acct-Delay-Time 4.6.8 | M | V | | Acct-Delay-Time 4.6.8 | M | V | | |||
Acct-Link-Count 4.6.9 | M | V | | Acct-Link-Count 4.6.9 | M | V | | |||
Acct-Tunnel-Connection 4.6.10 | M | V | | Acct-Tunnel-Connection 4.6.10 | M | V | | |||
Acct-Tunnel-Packets-Lost 4.6.11 | M | V | | Acct-Tunnel-Packets-Lost 4.6.11 | M | V | | |||
-----------------------------------------|----+-----| | -----------------------------------------|----+-----| | |||
4.6.1. Accounting-Input-Octets AVP | 4.6.1. Accounting-Input-Octets AVP | |||
The Accounting-Input-Octets AVP (AVP Code 363) is of type Unsigned64 | The Accounting-Input-Octets AVP (AVP Code 363) is of type Unsigned64 | |||
and contains the number of octets received from the user. | and contains the number of octets received from the user. | |||
For NAS usage, this AVP indicates how many octets have been received | For NAS usage, this AVP indicates how many octets have been received | |||
from the port in the course of this session. It can only be present | from the port in the course of this session. It can only be present | |||
in ACR messages with an Accounting-Record-Type [RFC6733] of | in ACR messages with an Accounting-Record-Type [RFC6733] of | |||
INTERIM_RECORD or STOP_RECORD. | INTERIM_RECORD or STOP_RECORD. | |||
skipping to change at page 52, line 26 | skipping to change at page 54, line 8 | |||
The Acct-Delay-Time AVP (AVP Code 41) is of type Unsigned32 and | The Acct-Delay-Time AVP (AVP Code 41) is of type Unsigned32 and | |||
indicates the number of seconds the Diameter client has been trying | indicates the number of seconds the Diameter client has been trying | |||
to send the Accounting-Request (ACR). The accounting server may | to send the Accounting-Request (ACR). The accounting server may | |||
subtract this value from the time when the ACR arrives at the server | subtract this value from the time when the ACR arrives at the server | |||
to calculate the approximate time of the event that caused the ACR to | to calculate the approximate time of the event that caused the ACR to | |||
be generated. | be generated. | |||
This AVP is not used for retransmissions at the transport level (TCP | This AVP is not used for retransmissions at the transport level (TCP | |||
or SCTP). Rather, it may be used when an ACR command cannot be | or SCTP). Rather, it may be used when an ACR command cannot be | |||
transmitted because there is no appropriate peer to transmit it to or | transmitted because there is no appropriate peer to transmit it to or | |||
was rejected because it could not be delivered. In these cases, the | it was rejected because it could not be delivered. In these cases, | |||
command MAY be buffered and transmitted later, when an appropriate | the command MAY be buffered and transmitted later, when an | |||
peer-connection is available or after sufficient time has passed that | appropriate peer-connection is available or after sufficient time has | |||
the destination-host may be reachable and operational. If the ACR is | passed that the destination-host may be reachable and operational. | |||
re-sent in this way, the Acct-Delay-Time AVP SHOULD be included. The | If the ACR is re-sent in this way, the Acct-Delay-Time AVP SHOULD be | |||
value of this AVP indicates the number of seconds that elapsed | included. The value of this AVP indicates the number of seconds that | |||
between the time of the first attempt at transmission and the current | elapsed between the time of the first attempt at transmission and the | |||
attempt. | current attempt. | |||
4.6.9. Acct-Link-Count AVP | 4.6.9. Acct-Link-Count AVP | |||
The Acct-Link-Count AVP (AVP Code 51) is of type Unsigned32 and | The Acct-Link-Count AVP (AVP Code 51) is of type Unsigned32 and | |||
indicates the total number of links that have been active (current or | indicates the total number of links that have been active (current or | |||
closed) in a given multilink session at the time the accounting | closed) in a given multilink session at the time the accounting | |||
record is generated. This AVP MAY be included in Accounting-Requests | record is generated. This AVP MAY be included in Accounting-Request | |||
for any session that may be part of a multilink service. | AVPs for any session that may be part of a multilink service. | |||
The Acct-Link-Count AVP may be used to make it easier for an | The Acct-Link-Count AVP may be used to make it easier for an | |||
accounting server to know when it has all the records for a given | accounting server to know when it has all the records for a given | |||
multilink service. When the number of Accounting-Requests received | multilink service. When the number of Accounting-Request AVPs | |||
with Accounting-Record-Type = STOP_RECORD and with the same Acct- | received with Accounting-Record-Type = STOP_RECORD and with the same | |||
Multi-Session-Id and unique Session-Ids equals the largest value of | Acct-Multi-Session-Id and unique Session-Id AVPs equals the largest | |||
Acct-Link-Count seen in those Accounting-Requests, all STOP_RECORD | value of Acct-Link-Count seen in those Accounting-Request AVPs, all | |||
Accounting-Requests for that multilink service have been received. | STOP_RECORD Accounting-Request AVPs for that multilink service have | |||
been received. | ||||
The following example, showing eight Accounting-Requests, illustrates | The following example, showing eight Accounting-Request AVPs, | |||
how the Acct-Link-Count AVP is used. In the table below, only the | illustrates how the Acct-Link-Count AVP is used. In the table below, | |||
relevant AVPs are shown, although additional AVPs containing | only the relevant AVPs are shown, although additional AVPs containing | |||
accounting information will be present in the Accounting-Requests. | accounting information will be present in the Accounting-Requests | |||
AVPs. | ||||
Acct-Multi- Accounting- Acct- | Acct-Multi- Accounting- Acct- | |||
Session-Id Session-Id Record-Type Link-Count | Session-Id Session-Id Record-Type Link-Count | |||
-------------------------------------------------------- | -------------------------------------------------------- | |||
"...10" "...10" START_RECORD 1 | "...10" "...10" START_RECORD 1 | |||
"...10" "...11" START_RECORD 2 | "...10" "...11" START_RECORD 2 | |||
"...10" "...11" STOP_RECORD 2 | "...10" "...11" STOP_RECORD 2 | |||
"...10" "...12" START_RECORD 3 | "...10" "...12" START_RECORD 3 | |||
"...10" "...13" START_RECORD 4 | "...10" "...13" START_RECORD 4 | |||
"...10" "...12" STOP_RECORD 4 | "...10" "...12" STOP_RECORD 4 | |||
"...10" "...13" STOP_RECORD 4 | "...10" "...13" STOP_RECORD 4 | |||
"...10" "...10" STOP_RECORD 4 | "...10" "...10" STOP_RECORD 4 | |||
4.6.10. Acct-Tunnel-Connection AVP | 4.6.10. Acct-Tunnel-Connection AVP | |||
The Acct-Tunnel-Connection AVP (AVP Code 68) is of type OctetString | The Acct-Tunnel-Connection AVP (AVP Code 68) is of type OctetString | |||
and contains the identifier assigned to the tunnel session. This | and contains the identifier assigned to the tunnel session. This | |||
AVP, along with the Tunnel-Client-Endpoint (Section 4.5.4) and | AVP, along with the Tunnel-Client-Endpoint (Section 4.5.4) and | |||
Tunnel-Server-Endpoint (Section 4.5.5) AVPs, may be used to provide a | Tunnel-Server-Endpoint (Section 4.5.5) AVPs, may be used to provide a | |||
means to uniquely identify a tunnel session for auditing purposes. | means to uniquely identify a tunnel session for auditing purposes. | |||
The format of the identifier in this AVP depends upon the value of | The format of the identifier in this AVP depends upon the value of | |||
skipping to change at page 53, line 42 | skipping to change at page 55, line 40 | |||
4.6.11. Acct-Tunnel-Packets-Lost AVP | 4.6.11. Acct-Tunnel-Packets-Lost AVP | |||
The Acct-Tunnel-Packets-Lost AVP (AVP Code 86) is of type Unsigned32 | The Acct-Tunnel-Packets-Lost AVP (AVP Code 86) is of type Unsigned32 | |||
and contains the number of packets lost on a given tunnel. | and contains the number of packets lost on a given tunnel. | |||
5. AVP Occurrence Tables | 5. AVP Occurrence Tables | |||
The following tables present the AVPs used by NAS applications in NAS | The following tables present the AVPs used by NAS applications in NAS | |||
messages and specify in which Diameter messages they may or may not | messages and specify in which Diameter messages they may or may not | |||
be present. Messages and AVPs defined in the base Diameter protocol | be present. Messages and AVPs defined in the Diameter Base protocol | |||
[RFC6733] are not described in this document. Note that AVPs that | [RFC6733] are not described in this document. Note that AVPs that | |||
can only be present within a Grouped AVP are not represented in this | can only be present within a grouped AVP are not represented in this | |||
table. | table. | |||
The tables use the following symbols: | The tables use the following symbols: | |||
0 The AVP MUST NOT be present in the message. | 0 The AVP MUST NOT be present in the message. | |||
0+ Zero or more instances of the AVP MAY be present in the | 0+ Zero or more instances of the AVP MAY be present in the | |||
message. | message. | |||
0-1 Zero or one instance of the AVP MAY be present in the | 0-1 Zero or one instance of the AVP MAY be present in the | |||
message. | message. | |||
1 Exactly one instance of the AVP MUST be present in the | 1 Exactly one instance of the AVP MUST be present in the | |||
message. | message. | |||
5.1. AA-Request/Answer AVP Table | 5.1. AA-Request / AA-Answer AVP Table | |||
The table in this section is limited to the Command Codes defined in | The table in this section is limited to the Command Codes defined in | |||
this specification. | this specification. | |||
+-----------+ | +-----------+ | |||
| Command | | | Command | | |||
|-----+-----+ | |-----+-----+ | |||
AVP Name | AAR | AAA | | Attribute Name | AAR | AAA | | |||
------------------------------|-----+-----+ | ------------------------------|-----+-----+ | |||
Acct-Interim-Interval | 0 | 0-1 | | Acct-Interim-Interval | 0 | 0-1 | | |||
ARAP-Challenge-Response | 0 | 0-1 | | ARAP-Challenge-Response | 0 | 0-1 | | |||
ARAP-Features | 0 | 0-1 | | ARAP-Features | 0 | 0-1 | | |||
ARAP-Password | 0-1 | 0 | | ARAP-Password | 0-1 | 0 | | |||
ARAP-Security | 0-1 | 0-1 | | ARAP-Security | 0-1 | 0-1 | | |||
ARAP-Security-Data | 0+ | 0+ | | ARAP-Security-Data | 0+ | 0+ | | |||
ARAP-Zone-Access | 0 | 0-1 | | ARAP-Zone-Access | 0 | 0-1 | | |||
Auth-Application-Id | 1 | 1 | | Auth-Application-Id | 1 | 1 | | |||
Auth-Grace-Period | 0-1 | 0-1 | | Auth-Grace-Period | 0-1 | 0-1 | | |||
Auth-Request-Type | 1 | 1 | | Auth-Request-Type | 1 | 1 | | |||
Auth-Session-State | 0-1 | 0-1 | | Auth-Session-State | 0-1 | 0-1 | | |||
Authorization-Lifetime | 0-1 | 0-1 | | Authorization-Lifetime | 0-1 | 0-1 | | |||
------------------------------|-----+-----+ | ------------------------------|-----+-----+ | |||
+-----------+ | ||||
+-----------+ | | Command | | |||
| Command | | |-----+-----+ | |||
|-----+-----+ | Attribute Name | AAR | AAA | | |||
Attribute Name | AAR | AAA | | ------------------------------|-----+-----+ | |||
------------------------------|-----+-----+ | Callback-Id | 0 | 0-1 | | |||
Callback-Id | 0 | 0-1 | | Callback-Number | 0-1 | 0-1 | | |||
Callback-Number | 0-1 | 0-1 | | Called-Station-Id | 0-1 | 0 | | |||
Called-Station-Id | 0-1 | 0 | | Calling-Station-Id | 0-1 | 0 | | |||
Calling-Station-Id | 0-1 | 0 | | CHAP-Auth | 0-1 | 0 | | |||
CHAP-Auth | 0-1 | 0 | | CHAP-Challenge | 0-1 | 0 | | |||
CHAP-Challenge | 0-1 | 0 | | Class | 0 | 0+ | | |||
Class | 0 | 0+ | | Configuration-Token | 0 | 0+ | | |||
Configuration-Token | 0 | 0+ | | Connect-Info | 0+ | 0 | | |||
Connect-Info | 0+ | 0 | | Destination-Host | 0-1 | 0 | | |||
Destination-Host | 0-1 | 0 | | Destination-Realm | 1 | 0 | | |||
Destination-Realm | 1 | 0 | | Error-Message | 0 | 0-1 | | |||
Error-Message | 0 | 0-1 | | Error-Reporting-Host | 0 | 0-1 | | |||
Error-Reporting-Host | 0 | 0-1 | | Failed-AVP | 0+ | 0+ | | |||
Failed-AVP | 0+ | 0+ | | Filter-Id | 0 | 0+ | | |||
Filter-Id | 0 | 0+ | | Framed-Appletalk-Link | 0 | 0-1 | | |||
Framed-Appletalk-Link | 0 | 0-1 | | Framed-Appletalk-Network | 0 | 0+ | | |||
Framed-Appletalk-Network | 0 | 0+ | | Framed-Appletalk-Zone | 0 | 0-1 | | |||
Framed-Appletalk-Zone | 0 | 0-1 | | Framed-Compression | 0+ | 0+ | | |||
Framed-Compression | 0+ | 0+ | | Framed-Interface-Id | 0-1 | 0-1 | | |||
Framed-Interface-Id | 0-1 | 0-1 | | Framed-IP-Address | 0-1 | 0-1 | | |||
Framed-IP-Address | 0-1 | 0-1 | | Framed-IP-Netmask | 0-1 | 0-1 | | |||
Framed-IP-Netmask | 0-1 | 0-1 | | Framed-IPv6-Prefix | 0+ | 0+ | | |||
Framed-IPv6-Prefix | 0+ | 0+ | | Framed-IPv6-Pool | 0 | 0-1 | | |||
Framed-IPv6-Pool | 0 | 0-1 | | Framed-IPv6-Route | 0 | 0+ | | |||
Framed-IPv6-Route | 0 | 0+ | | Framed-IPX-Network | 0 | 0-1 | | |||
Framed-IPX-Network | 0 | 0-1 | | Framed-MTU | 0-1 | 0-1 | | |||
Framed-MTU | 0-1 | 0-1 | | Framed-Pool | 0 | 0-1 | | |||
Framed-Pool | 0 | 0-1 | | Framed-Protocol | 0-1 | 0-1 | | |||
Framed-Protocol | 0-1 | 0-1 | | Framed-Route | 0 | 0+ | | |||
Framed-Route | 0 | 0+ | | Framed-Routing | 0 | 0-1 | | |||
Framed-Routing | 0 | 0-1 | | Idle-Timeout | 0 | 0-1 | | |||
Idle-Timeout | 0 | 0-1 | | Login-IP-Host | 0+ | 0+ | | |||
Login-IP-Host | 0+ | 0+ | | Login-IPv6-Host | 0+ | 0+ | | |||
Login-IPv6-Host | 0+ | 0+ | | Login-LAT-Group | 0-1 | 0-1 | | |||
Login-LAT-Group | 0-1 | 0-1 | | Login-LAT-Node | 0-1 | 0-1 | | |||
Login-LAT-Node | 0-1 | 0-1 | | Login-LAT-Port | 0-1 | 0-1 | | |||
Login-LAT-Port | 0-1 | 0-1 | | Login-LAT-Service | 0-1 | 0-1 | | |||
Login-LAT-Service | 0-1 | 0-1 | | Login-Service | 0 | 0-1 | | |||
Login-Service | 0 | 0-1 | | Login-TCP-Port | 0 | 0-1 | | |||
Login-TCP-Port | 0 | 0-1 | | Multi-Round-Time-Out | 0 | 0-1 | | |||
Multi-Round-Time-Out | 0 | 0-1 | | ------------------------------|-----+-----+ | |||
------------------------------|-----+-----+ | +-----------+ | |||
| Command | | ||||
+-----------+ | |-----+-----+ | |||
| Command | | Attribute Name | AAR | AAA | | |||
|-----+-----+ | ------------------------------|-----+-----+ | |||
Attribute Name | AAR | AAA | | NAS-Filter-Rule | 0 | 0+ | | |||
------------------------------|-----+-----+ | NAS-Identifier | 0-1 | 0 | | |||
NAS-Filter-Rule | 0 | 0+ | | NAS-IP-Address | 0-1 | 0 | | |||
NAS-Identifier | 0-1 | 0 | | NAS-IPv6-Address | 0-1 | 0 | | |||
NAS-IP-Address | 0-1 | 0 | | NAS-Port | 0-1 | 0 | | |||
NAS-IPv6-Address | 0-1 | 0 | | NAS-Port-Id | 0-1 | 0 | | |||
NAS-Port | 0-1 | 0 | | NAS-Port-Type | 0-1 | 0 | | |||
NAS-Port-Id | 0-1 | 0 | | Origin-AAA-Protocol | 0-1 | 0-1 | | |||
NAS-Port-Type | 0-1 | 0 | | Origin-Host | 1 | 1 | | |||
Origin-AAA-Protocol | 0-1 | 0-1 | | Origin-Realm | 1 | 1 | | |||
Origin-Host | 1 | 1 | | Origin-State-Id | 0-1 | 0-1 | | |||
Origin-Realm | 1 | 1 | | Originating-Line-Info | 0-1 | 0 | | |||
Origin-State-Id | 0-1 | 0-1 | | Password-Retry | 0 | 0-1 | | |||
Originating-Line-Info | 0-1 | 0 | | Port-Limit | 0-1 | 0-1 | | |||
Password-Retry | 0 | 0-1 | | Prompt | 0 | 0-1 | | |||
Port-Limit | 0-1 | 0-1 | | Proxy-Info | 0+ | 0+ | | |||
Prompt | 0 | 0-1 | | QoS-Filter-Rule | 0 | 0+ | | |||
Proxy-Info | 0+ | 0+ | | Re-Auth-Request-Type | 0 | 0-1 | | |||
QoS-Filter-Rule | 0 | 0+ | | Redirect-Host | 0 | 0+ | | |||
Re-Auth-Request-Type | 0 | 0-1 | | Redirect-Host-Usage | 0 | 0-1 | | |||
Redirect-Host | 0 | 0+ | | Redirect-Max-Cache-Time | 0 | 0-1 | | |||
Redirect-Host-Usage | 0 | 0-1 | | Reply-Message | 0 | 0+ | | |||
Redirect-Max-Cache-Time | 0 | 0-1 | | Result-Code | 0 | 1 | | |||
Reply-Message | 0 | 0+ | | Route-Record | 0+ | 0 | | |||
Result-Code | 0 | 1 | | Service-Type | 0-1 | 0-1 | | |||
Route-Record | 0+ | 0 | | Session-Id | 1 | 1 | | |||
Service-Type | 0-1 | 0-1 | | Session-Timeout | 0 | 0-1 | | |||
Session-Id | 1 | 1 | | State | 0-1 | 0-1 | | |||
Session-Timeout | 0 | 0-1 | | Tunneling | 0+ | 0+ | | |||
State | 0-1 | 0-1 | | User-Name | 0-1 | 0-1 | | |||
Tunneling | 0+ | 0+ | | User-Password | 0-1 | 0 | | |||
User-Name | 0-1 | 0-1 | | ------------------------------|-----+-----+ | |||
User-Password | 0-1 | 0 | | ||||
------------------------------|-----+-----+ | ||||
5.2. Accounting AVP Tables | 5.2. Accounting AVP Tables | |||
The tables in this section are used to show which AVPs defined in | The tables in this section are used to show which AVPs defined in | |||
this document are to be present and used in NAS application | this document are to be present and used in NAS application | |||
Accounting messages. These AVPs are defined in this document, as | Accounting messages. These AVPs are defined in this document, as | |||
well as in [RFC6733] and [RFC2866]. | well as in [RFC6733] and [RFC2866]. | |||
5.2.1. Framed Access Accounting AVP Table | 5.2.1. Framed Access Accounting AVP Table | |||
The table in this section is used when the Service-Type AVP | The table in this section is used when the Service-Type AVP | |||
(Section 4.4.1) specifies Framed Access. | (Section 4.4.1) specifies Framed Access. | |||
+-----------+ | +-----------+ | |||
| Command | | | Command | | |||
|-----+-----+ | |-----+-----+ | |||
Attribute Name | ACR | ACA | | Attribute Name | ACR | ACA | | |||
---------------------------------------|-----+-----+ | ---------------------------------------|-----+-----+ | |||
Accounting-Auth-Method | 0-1 | 0 | | Accounting-Auth-Method | 0-1 | 0 | | |||
Accounting-Input-Octets | 1 | 0 | | Accounting-Input-Octets | 1 | 0 | | |||
Accounting-Input-Packets | 1 | 0 | | Accounting-Input-Packets | 1 | 0 | | |||
Accounting-Output-Octets | 1 | 0 | | Accounting-Output-Octets | 1 | 0 | | |||
Accounting-Output-Packets | 1 | 0 | | Accounting-Output-Packets | 1 | 0 | | |||
Accounting-Record-Number | 0-1 | 0-1 | | Accounting-Record-Number | 0-1 | 0-1 | | |||
Accounting-Record-Type | 1 | 1 | | Accounting-Record-Type | 1 | 1 | | |||
Accounting-Realtime-Required | 0-1 | 0-1 | | Accounting-Realtime-Required | 0-1 | 0-1 | | |||
Accounting-Sub-Session-Id | 0-1 | 0-1 | | Accounting-Sub-Session-Id | 0-1 | 0-1 | | |||
Acct-Application-Id | 0-1 | 0-1 | | Acct-Application-Id | 0-1 | 0-1 | | |||
Acct-Session-Id | 1 | 0-1 | | Acct-Session-Id | 1 | 0-1 | | |||
Acct-Multi-Session-Id | 0-1 | 0-1 | | Acct-Multi-Session-Id | 0-1 | 0-1 | | |||
Acct-Authentic | 1 | 0 | | Acct-Authentic | 1 | 0 | | |||
Acct-Delay-Time | 0-1 | 0 | | Acct-Delay-Time | 0-1 | 0 | | |||
Acct-Interim-Interval | 0-1 | 0-1 | | Acct-Interim-Interval | 0-1 | 0-1 | | |||
Acct-Link-Count | 0-1 | 0 | | Acct-Link-Count | 0-1 | 0 | | |||
Acct-Session-Time | 1 | 0 | | Acct-Session-Time | 1 | 0 | | |||
Acct-Tunnel-Connection | 0-1 | 0 | | Acct-Tunnel-Connection | 0-1 | 0 | | |||
Acct-Tunnel-Packets-Lost | 0-1 | 0 | | Acct-Tunnel-Packets-Lost | 0-1 | 0 | | |||
Authorization-Lifetime | 0-1 | 0 | | Authorization-Lifetime | 0-1 | 0 | | |||
Callback-Id | 0-1 | 0 | | Callback-Id | 0-1 | 0 | | |||
Callback-Number | 0-1 | 0 | | Callback-Number | 0-1 | 0 | | |||
Called-Station-Id | 0-1 | 0 | | Called-Station-Id | 0-1 | 0 | | |||
Calling-Station-Id | 0-1 | 0 | | Calling-Station-Id | 0-1 | 0 | | |||
Class | 0+ | 0+ | | Class | 0+ | 0+ | | |||
Connection-Info | 0+ | 0 | | Connection-Info | 0+ | 0 | | |||
Destination-Host | 0-1 | 0 | | Destination-Host | 0-1 | 0 | | |||
Destination-Realm | 1 | 0 | | Destination-Realm | 1 | 0 | | |||
Event-Timestamp | 0-1 | 0-1 | | Event-Timestamp | 0-1 | 0-1 | | |||
Error-Message | 0 | 0-1 | | Error-Message | 0 | 0-1 | | |||
Error-Reporting-Host | 0 | 0-1 | | Error-Reporting-Host | 0 | 0-1 | | |||
Failed-AVP | 0 | 0+ | | Failed-AVP | 0 | 0+ | | |||
---------------------------------------|-----+-----+ | ---------------------------------------|-----+-----+ | |||
+-----------+ | ||||
+-----------+ | | Command | | |||
| Command | | |-----+-----+ | |||
|-----+-----+ | Attribute Name | ACR | ACA | | |||
Attribute Name | ACR | ACA | | ---------------------------------------|-----+-----+ | |||
---------------------------------------|-----+-----+ | Framed-Appletalk-Link | 0-1 | 0 | | |||
Framed-AppleTalk-Link | 0-1 | 0 | | Framed-Appletalk-Network | 0-1 | 0 | | |||
Framed-AppleTalk-Network | 0-1 | 0 | | Framed-Appletalk-Zone | 0-1 | 0 | | |||
Framed-AppleTalk-Zone | 0-1 | 0 | | Framed-Compression | 0-1 | 0 | | |||
Framed-Compression | 0-1 | 0 | | Framed-IP-Address | 0-1 | 0 | | |||
Framed-IP-Address | 0-1 | 0 | | Framed-IP-Netmask | 0-1 | 0 | | |||
Framed-IP-Netmask | 0-1 | 0 | | Framed-IPv6-Prefix | 0+ | 0 | | |||
Framed-IPv6-Prefix | 0+ | 0 | | Framed-IPv6-Pool | 0-1 | 0 | | |||
Framed-IPv6-Pool | 0-1 | 0 | | Framed-IPX-Network | 0-1 | 0 | | |||
Framed-IPX-Network | 0-1 | 0 | | Framed-MTU | 0-1 | 0 | | |||
Framed-MTU | 0-1 | 0 | | Framed-Pool | 0-1 | 0 | | |||
Framed-Pool | 0-1 | 0 | | Framed-Protocol | 0-1 | 0 | | |||
Framed-Protocol | 0-1 | 0 | | Framed-Route | 0-1 | 0 | | |||
Framed-Route | 0-1 | 0 | | Framed-Routing | 0-1 | 0 | | |||
Framed-Routing | 0-1 | 0 | | NAS-Filter-Rule | 0+ | 0 | | |||
NAS-Filter-Rule | 0+ | 0 | | NAS-Identifier | 0-1 | 0-1 | | |||
NAS-Identifier | 0-1 | 0-1 | | NAS-IP-Address | 0-1 | 0-1 | | |||
NAS-IP-Address | 0-1 | 0-1 | | NAS-IPv6-Address | 0-1 | 0-1 | | |||
NAS-IPv6-Address | 0-1 | 0-1 | | NAS-Port | 0-1 | 0-1 | | |||
NAS-Port | 0-1 | 0-1 | | NAS-Port-Id | 0-1 | 0-1 | | |||
NAS-Port-Id | 0-1 | 0-1 | | NAS-Port-Type | 0-1 | 0-1 | | |||
NAS-Port-Type | 0-1 | 0-1 | | Origin-AAA-Protocol | 0-1 | 0-1 | | |||
Origin-AAA-Protocol | 0-1 | 0-1 | | Origin-Host | 1 | 1 | | |||
Origin-Host | 1 | 1 | | Origin-Realm | 1 | 1 | | |||
Origin-Realm | 1 | 1 | | Origin-State-Id | 0-1 | 0-1 | | |||
Origin-State-Id | 0-1 | 0-1 | | Originating-Line-Info | 0-1 | 0 | | |||
Originating-Line-Info | 0-1 | 0 | | Proxy-Info | 0+ | 0+ | | |||
Proxy-Info | 0+ | 0+ | | QoS-Filter-Rule | 0+ | 0 | | |||
QoS-Filter-Rule | 0+ | 0 | | Route-Record | 0+ | 0 | | |||
Route-Record | 0+ | 0 | | Result-Code | 0 | 1 | | |||
Result-Code | 0 | 1 | | Service-Type | 0-1 | 0-1 | | |||
Service-Type | 0-1 | 0-1 | | Session-Id | 1 | 1 | | |||
Session-Id | 1 | 1 | | Termination-Cause | 0-1 | 0-1 | | |||
Termination-Cause | 0-1 | 0-1 | | Tunnel-Assignment-Id | 0-1 | 0 | | |||
Tunnel-Assignment-Id | 0-1 | 0 | | Tunnel-Client-Endpoint | 0-1 | 0 | | |||
Tunnel-Client-Endpoint | 0-1 | 0 | | Tunnel-Medium-Type | 0-1 | 0 | | |||
Tunnel-Medium-Type | 0-1 | 0 | | Tunnel-Private-Group-Id | 0-1 | 0 | | |||
Tunnel-Private-Group-Id | 0-1 | 0 | | Tunnel-Server-Endpoint | 0-1 | 0 | | |||
Tunnel-Server-Endpoint | 0-1 | 0 | | Tunnel-Type | 0-1 | 0 | | |||
Tunnel-Type | 0-1 | 0 | | User-Name | 0-1 | 0-1 | | |||
User-Name | 0-1 | 0-1 | | ---------------------------------------|-----+-----+ | |||
---------------------------------------|-----+-----+ | ||||
5.2.2. Non-Framed Access Accounting AVP Table | 5.2.2. Non-Framed Access Accounting AVP Table | |||
The table in this section is used when the Service-Type AVP | The table in this section is used when the Service-Type AVP | |||
(Section 4.4.1) specifies Non-Framed Access. | (Section 4.4.1) specifies Non-Framed Access. | |||
+-----------+ | +-----------+ | |||
| Command | | | Command | | |||
|-----+-----+ | |-----+-----+ | |||
Attribute Name | ACR | ACA | | Attribute Name | ACR | ACA | | |||
---------------------------------------|-----+-----+ | ---------------------------------------|-----+-----+ | |||
Accounting-Auth-Method | 0-1 | 0 | | Accounting-Auth-Method | 0-1 | 0 | | |||
Accounting-Input-Octets | 1 | 0 | | Accounting-Input-Octets | 1 | 0 | | |||
Accounting-Output-Octets | 1 | 0 | | Accounting-Output-Octets | 1 | 0 | | |||
Accounting-Record-Type | 1 | 1 | | Accounting-Record-Type | 1 | 1 | | |||
Accounting-Record-Number | 0-1 | 0-1 | | Accounting-Record-Number | 0-1 | 0-1 | | |||
Accounting-Realtime-Required | 0-1 | 0-1 | | Accounting-Realtime-Required | 0-1 | 0-1 | | |||
Accounting-Sub-Session-Id | 0-1 | 0-1 | | Accounting-Sub-Session-Id | 0-1 | 0-1 | | |||
Acct-Application-Id | 0-1 | 0-1 | | Acct-Application-Id | 0-1 | 0-1 | | |||
Acct-Session-Id | 1 | 0-1 | | Acct-Session-Id | 1 | 0-1 | | |||
Acct-Multi-Session-Id | 0-1 | 0-1 | | Acct-Multi-Session-Id | 0-1 | 0-1 | | |||
Acct-Authentic | 1 | 0 | | Acct-Authentic | 1 | 0 | | |||
Acct-Delay-Time | 0-1 | 0 | | Acct-Delay-Time | 0-1 | 0 | | |||
Acct-Interim-Interval | 0-1 | 0-1 | | Acct-Interim-Interval | 0-1 | 0-1 | | |||
Acct-Link-Count | 0-1 | 0 | | Acct-Link-Count | 0-1 | 0 | | |||
Acct-Session-Time | 1 | 0 | | Acct-Session-Time | 1 | 0 | | |||
Authorization-Lifetime | 0-1 | 0 | | Authorization-Lifetime | 0-1 | 0 | | |||
Callback-Id | 0-1 | 0 | | Callback-Id | 0-1 | 0 | | |||
Callback-Number | 0-1 | 0 | | Callback-Number | 0-1 | 0 | | |||
Called-Station-Id | 0-1 | 0 | | Called-Station-Id | 0-1 | 0 | | |||
Calling-Station-Id | 0-1 | 0 | | Calling-Station-Id | 0-1 | 0 | | |||
Class | 0+ | 0+ | | Class | 0+ | 0+ | | |||
Connection-Info | 0+ | 0 | | Connection-Info | 0+ | 0 | | |||
Destination-Host | 0-1 | 0 | | Destination-Host | 0-1 | 0 | | |||
Destination-Realm | 1 | 0 | | Destination-Realm | 1 | 0 | | |||
Event-Timestamp | 0-1 | 0-1 | | Event-Timestamp | 0-1 | 0-1 | | |||
Error-Message | 0 | 0-1 | | Error-Message | 0 | 0-1 | | |||
Error-Reporting-Host | 0 | 0-1 | | Error-Reporting-Host | 0 | 0-1 | | |||
Failed-AVP | 0 | 0+ | | Failed-AVP | 0 | 0+ | | |||
Login-IP-Host | 0+ | 0 | | Login-IP-Host | 0+ | 0 | | |||
Login-IPv6-Host | 0+ | 0 | | Login-IPv6-Host | 0+ | 0 | | |||
Login-LAT-Service | 0-1 | 0 | | Login-LAT-Service | 0-1 | 0 | | |||
Login-LAT-Node | 0-1 | 0 | | Login-LAT-Node | 0-1 | 0 | | |||
Login-LAT-Group | 0-1 | 0 | | Login-LAT-Group | 0-1 | 0 | | |||
Login-LAT-Port | 0-1 | 0 | | Login-LAT-Port | 0-1 | 0 | | |||
Login-Service | 0-1 | 0 | | Login-Service | 0-1 | 0 | | |||
Login-TCP-Port | 0-1 | 0 | | Login-TCP-Port | 0-1 | 0 | | |||
---------------------------------------|-----+-----+ | ---------------------------------------|-----+-----+ | |||
+-----------+ | ||||
+-----------+ | | Command | | |||
| Command | | |-----+-----+ | |||
|-----+-----+ | Attribute Name | ACR | ACA | | |||
Attribute Name | ACR | ACA | | ---------------------------------------|-----+-----+ | |||
---------------------------------------|-----+-----+ | NAS-Identifier | 0-1 | 0-1 | | |||
NAS-Identifier | 0-1 | 0-1 | | NAS-IP-Address | 0-1 | 0-1 | | |||
NAS-IP-Address | 0-1 | 0-1 | | NAS-IPv6-Address | 0-1 | 0-1 | | |||
NAS-IPv6-Address | 0-1 | 0-1 | | NAS-Port | 0-1 | 0-1 | | |||
NAS-Port | 0-1 | 0-1 | | NAS-Port-Id | 0-1 | 0-1 | | |||
NAS-Port-Id | 0-1 | 0-1 | | NAS-Port-Type | 0-1 | 0-1 | | |||
NAS-Port-Type | 0-1 | 0-1 | | Origin-AAA-Protocol | 0-1 | 0-1 | | |||
Origin-AAA-Protocol | 0-1 | 0-1 | | Origin-Host | 1 | 1 | | |||
Origin-Host | 1 | 1 | | Origin-Realm | 1 | 1 | | |||
Origin-Realm | 1 | 1 | | Origin-State-Id | 0-1 | 0-1 | | |||
Origin-State-Id | 0-1 | 0-1 | | Originating-Line-Info | 0-1 | 0 | | |||
Originating-Line-Info | 0-1 | 0 | | Proxy-Info | 0+ | 0+ | | |||
Proxy-Info | 0+ | 0+ | | QoS-Filter-Rule | 0+ | 0 | | |||
QoS-Filter-Rule | 0+ | 0 | | Route-Record | 0+ | 0 | | |||
Route-Record | 0+ | 0 | | Result-Code | 0 | 1 | | |||
Result-Code | 0 | 1 | | Session-Id | 1 | 1 | | |||
Session-Id | 1 | 1 | | Service-Type | 0-1 | 0-1 | | |||
Service-Type | 0-1 | 0-1 | | Termination-Cause | 0-1 | 0-1 | | |||
Termination-Cause | 0-1 | 0-1 | | User-Name | 0-1 | 0-1 | | |||
User-Name | 0-1 | 0-1 | | ---------------------------------------|-----+-----+ | |||
---------------------------------------|-----+-----+ | ||||
6. Unicode Considerations | 6. Unicode Considerations | |||
A number of the AVPs in this RFC use the UTF8String type specified in | A number of the AVPs in this RFC use the UTF8String type specified in | |||
the Diameter Base protocol [RFC6733]. Implementation differences in | the Diameter Base protocol [RFC6733]. Implementation differences in | |||
Unicode input processing may result in the same Unicode input | Unicode input processing may result in the same Unicode input | |||
characters generating different UTF-8 strings that fail to match when | characters generating different UTF-8 strings that fail to match when | |||
compared for equality. This may result in interoperability problems | compared for equality. This may result in interoperability problems | |||
between a network access server and a Diameter server when a UTF-8 | between a network access server and a Diameter server when a UTF-8 | |||
string entered locally is compared with one received via Diameter. | string entered locally is compared with one received via Diameter. | |||
Many of the uses of UTF8String in this RFC are limited to the 7-bit | Many of the uses of UTF8String in this RFC are limited to the 7-bit | |||
ASCII-compatible subset of UTF-8 where this class of Unicode string | US-ASCII-compatible subset of UTF-8, where this class of Unicode | |||
comparison problems does not arise. | string comparison problems does not arise. | |||
Careful preparation of Unicode strings can increase the likelihood | Careful preparation of Unicode strings can increase the likelihood | |||
that string comparison will work in ways that make sense for typical | that string comparison will work in ways that make sense for typical | |||
users throughout the world; [RFC3454] is an example a framework for | users throughout the world; [RFC3454] is an example a framework for | |||
such Unicode string preparation. The Diameter application specified | such Unicode string preparation. The Diameter application specified | |||
in this RFC has been deployed with use of Unicode in accordance with | in this RFC has been deployed with use of Unicode in accordance with | |||
[RFC4005], which does not require any Unicode string preparation. As | [RFC4005], which does not require any Unicode string preparation. As | |||
a result, additional requirements for Unicode string preparation in | a result, additional requirements for Unicode string preparation in | |||
this RFC would not be backwards compatible with existing usage. | this RFC would not be backwards compatible with existing usage. | |||
The Diameter server and the network access servers that it serves can | The Diameter server and the network access servers that it serves can | |||
be assumed to be under common administrative control, and all of the | be assumed to be under common administrative control, and all of the | |||
UTF-8 strings involved are part of the configuration of these | UTF-8 strings involved are part of the configuration of these | |||
servers. Therefore administrative interfaces for implementations of | servers. Therefore, administrative interfaces for implementations of | |||
this RFC: | this RFC: | |||
a. SHOULD accept direct UTF-8 input of all configuration strings for | a. SHOULD accept direct UTF-8 input of all configuration strings for | |||
AVPs that allow Unicode characters beyond the 7-bit ASCII- | AVPs that allow Unicode characters beyond the 7-bit US-ASCII- | |||
compatible subset of Unicode (in addition to any provisions for | compatible subset of Unicode (in addition to any provisions for | |||
accepting Unicode characters for processing into UTF-8), and | accepting Unicode characters for processing into UTF-8), and | |||
b. SHOULD make all such configuration strings available as UTF-8 | b. SHOULD make all such configuration strings available as UTF-8 | |||
strings | strings. | |||
This functionality enables an administrator who encounters Unicode | This functionality enables an administrator who encounters Unicode | |||
string comparison problems to copy one instance of aproblematic UTF-8 | string comparison problems to copy one instance of aproblematic UTF-8 | |||
string from one server to the other, after which the two (now | string from one server to the other, after which the two (now | |||
identical) copies should compare as expected. | identical) copies should compare as expected. | |||
7. IANA Considerations | 7. IANA Considerations | |||
Several of the namespaces used in this document are managed by the | Several of the namespaces used in this document are managed by the | |||
Internet Assigned Numbers Authority [IANA], including the AVP Codes | Internet Assigned Numbers Authority [IANA], including the AVP Codes | |||
skipping to change at page 61, line 4 | skipping to change at page 63, line 28 | |||
This functionality enables an administrator who encounters Unicode | This functionality enables an administrator who encounters Unicode | |||
string comparison problems to copy one instance of aproblematic UTF-8 | string comparison problems to copy one instance of aproblematic UTF-8 | |||
string from one server to the other, after which the two (now | string from one server to the other, after which the two (now | |||
identical) copies should compare as expected. | identical) copies should compare as expected. | |||
7. IANA Considerations | 7. IANA Considerations | |||
Several of the namespaces used in this document are managed by the | Several of the namespaces used in this document are managed by the | |||
Internet Assigned Numbers Authority [IANA], including the AVP Codes | Internet Assigned Numbers Authority [IANA], including the AVP Codes | |||
[AVP-Codes], AVP Specific Values [AVP-Vals], Application IDs | [AVP-Codes], AVP Specific Values [AVP-Vals], Application IDs | |||
[App-Ids], Command Codes [Command-Codes] and RADIUS Attribute Values | [App-Ids], Command Codes [Command-Codes], and RADIUS Attribute Values | |||
[RADIUSAttrVals]. | [RADIUSAttrVals]. | |||
For the current values allocated, and the policies governing | For the current values allocated, and the policies governing | |||
allocation in those namespaces, please see the above-referenced | allocation in those namespaces, please see the above-referenced | |||
registries. | registries. | |||
IANA Note: Please change all the references in the registries listed | ||||
above that are currently pointing to RFC 4005 to point to this | ||||
document instead; please change the reference for for the value '1' | ||||
in the "Application IDs" sub-registry of the "Authentication, | ||||
Authorization, and Accounting (AAA) Parameters" registry to point to | ||||
this document, as well. | ||||
RFC Editor: Please remove both this note and the IANA note above | ||||
before publication. | ||||
8. Security Considerations | 8. Security Considerations | |||
This document describes the extension of Diameter for the NAS | This document describes the extension of Diameter for the NAS | |||
application. Security considerations regarding the Diameter protocol | application. Security considerations regarding the Diameter protocol | |||
itself are discussed in [RFC6733]. Use of this application of | itself are discussed in [RFC6733]. Use of this application of | |||
Diameter MUST take into consideration the security issues and | Diameter MUST take into consideration the security issues and | |||
requirements of the Base protocol. | requirements of the Base protocol. | |||
8.1. Authentication Considerations | 8.1. Authentication Considerations | |||
This document does not contain a security protocol but does discuss | This document does not contain a security protocol but does discuss | |||
how PPP authentication protocols can be carried within the Diameter | how PPP authentication protocols can be carried within the Diameter | |||
protocol. The PPP authentication protocols described are PAP and | protocol. The PPP authentication protocols described are PAP and | |||
CHAP. | CHAP. | |||
The use of PAP SHOULD be discouraged, as it exposes users' passwords | The use of PAP SHOULD be discouraged, as it exposes users' passwords | |||
to possibly non-trusted entities. However, PAP is also frequently | to possibly non-trusted entities. However, PAP is also frequently | |||
used for use with One-Time Passwords, which do not expose a security | used for use with one-time passwords, which do not expose a security | |||
risk. | risk. | |||
This document also describes how CHAP can be carried within the | This document also describes how CHAP can be carried within the | |||
Diameter protocol, which is required for RADIUS backward | Diameter protocol, which is required for RADIUS backward | |||
compatibility. The CHAP protocol, as used in a RADIUS environment, | compatibility. The CHAP protocol, as used in a RADIUS environment, | |||
facilitates authentication replay attacks. | facilitates authentication replay attacks. | |||
The use of the EAP authentication protocols [RFC4072] can offer | The use of the EAP authentication protocols [RFC4072] can offer | |||
better security, given a method suitable for the circumstances. | better security, given a method suitable for the circumstances. | |||
skipping to change at page 62, line 16 | skipping to change at page 64, line 32 | |||
[RFC2865]) in that no access decision is requested. As a result, a | [RFC2865]) in that no access decision is requested. As a result, a | |||
new session cannot be started as a result of a response to an | new session cannot be started as a result of a response to an | |||
authorization-only request without introducing a significant security | authorization-only request without introducing a significant security | |||
vulnerability. | vulnerability. | |||
8.2. AVP Considerations | 8.2. AVP Considerations | |||
Diameter AVPs often contain security-sensitive data; for example, | Diameter AVPs often contain security-sensitive data; for example, | |||
user passwords and location data, network addresses and cryptographic | user passwords and location data, network addresses and cryptographic | |||
keys. With the exception of the Configuration-Token (Section 4.4.8), | keys. With the exception of the Configuration-Token (Section 4.4.8), | |||
QoS-Filter-Rule (Section 4.4.9) and Tunneling (Section 4.5.1) AVPs, | QoS-Filter-Rule (Section 4.4.9), and Tunneling (Section 4.5.1) AVPs, | |||
all of the AVPs defined in this document are considered to be | all of the AVPs defined in this document are considered to be | |||
security-sensitive. | security-sensitive. | |||
Diameter messages containing any AVPs considered to be security- | Diameter messages containing any AVPs considered to be security- | |||
sensitive MUST only be sent protected via mutually authenticated TLS | sensitive MUST only be sent protected via mutually authenticated TLS | |||
or IPsec. In addition, those messages MUST NOT be sent via | or IPsec. In addition, those messages MUST NOT be sent via | |||
intermediate nodes unless there is end-to-end security between the | intermediate nodes unless there is end-to-end security between the | |||
originator and recipient or the originator has locally trusted | originator and recipient or the originator has locally trusted | |||
configuration that indicates that end-to-end security is not needed. | configuration that indicates that end-to-end security is not needed. | |||
For example, end-to-end security may not be required in the case | For example, end-to-end security may not be required in the case | |||
where an intermediary node is known to be operated as part of the | where an intermediary node is known to be operated as part of the | |||
same administrative domain as the endpoints so that an ability to | same administrative domain as the endpoints so that an ability to | |||
successfully compromise the intermediary would imply a high | successfully compromise the intermediary would imply a high | |||
probability of being able to compromise the endpoints as well. Note | probability of being able to compromise the endpoints as well. Note | |||
that no end-to-end security mechanism is specified in this document. | that no end-to-end security mechanism is specified in this document. | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[ANITypes] | [ANITypes] NANPA Number Resource Info, "ANI Assignments", | |||
NANPA Number Resource Info, "ANI Assignments", <http:// | <http://www.nanpa.com/number_resource_info/ | |||
www.nanpa.com/number_resource_info/ | ||||
ani_ii_assignments.html>. | ani_ii_assignments.html>. | |||
[RFC1994] Simpson, W., "PPP Challenge Handshake Authentication | [RFC1994] Simpson, W., "PPP Challenge Handshake Authentication | |||
Protocol (CHAP)", RFC 1994, August 1996. | Protocol (CHAP)", RFC 1994, August 1996. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, | [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, | |||
"Remote Authentication Dial In User Service (RADIUS)", RFC | "Remote Authentication Dial In User Service (RADIUS)", RFC | |||
skipping to change at page 63, line 14 | skipping to change at page 65, line 32 | |||
[RFC3162] Aboba, B., Zorn, G., and D. Mitton, "RADIUS and IPv6", RFC | [RFC3162] Aboba, B., Zorn, G., and D. Mitton, "RADIUS and IPv6", RFC | |||
3162, August 2001. | 3162, August 2001. | |||
[RFC3516] Nerenberg, L., "IMAP4 Binary Content Extension", RFC 3516, | [RFC3516] Nerenberg, L., "IMAP4 Binary Content Extension", RFC 3516, | |||
April 2003. | April 2003. | |||
[RFC3539] Aboba, B. and J. Wood, "Authentication, Authorization and | [RFC3539] Aboba, B. and J. Wood, "Authentication, Authorization and | |||
Accounting (AAA) Transport Profile", RFC 3539, June 2003. | Accounting (AAA) Transport Profile", RFC 3539, June 2003. | |||
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax | ||||
Specifications: ABNF", STD 68, RFC 5234, January 2008. | ||||
[RFC5777] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., | [RFC5777] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., | |||
and A. Lior, "Traffic Classification and Quality of | and A. Lior, "Traffic Classification and Quality of | |||
Service (QoS) Attributes for Diameter", RFC 5777, February | Service (QoS) Attributes for Diameter", RFC 5777, February | |||
2010. | 2010. | |||
[RFC6733] Fajardo, V., Arkko, J., Loughney, J., and G. Zorn, | [RFC6733] Fajardo, V., Arkko, J., Loughney, J., and G. Zorn, | |||
"Diameter Base Protocol", RFC 6733, October 2012. | "Diameter Base Protocol", RFC 6733, October 2012. | |||
9.2. Informative References | 9.2. Informative References | |||
[ARAP] Apple Computer, "Apple Remote Access Protocol (ARAP) | [ARAP] Apple Computer, "Apple Remote Access Protocol (ARAP) | |||
Version 2.0 External Reference Specification", R0612LL/B , | Version 2.0 External Reference Specification", R0612LL/B , | |||
September 1994. | September 1994. | |||
[AVP-Codes] | [AVP-Codes] | |||
IANA, "IANA AAA AVP Codes Registry", <http://www.iana.org/ | IANA, "AVP Codes", | |||
assignments/aaa-parameters/aaa-parameters.xml#aaa- | <http://www.iana.org/assignments/aaa-parameters/>. | |||
parameters-1>. | ||||
[AVP-Vals] | [AVP-Vals] IANA, "AVP Specific Values", | |||
IANA, "IANA AAA AVP Specific Values", <http://www.iana.org | <http://www.iana.org/assignments/aaa-parameters/>. | |||
/assignments/aaa-parameters/aaa-parameters.xml#aaa- | ||||
parameters-2>. | ||||
[App-Ids] IANA, "IANA AAA Application IDs Registry", <http:// | [App-Ids] IANA, "Application IDs", | |||
www.iana.org/assignments/aaa-parameters/aaa-parameters.xml | <http://www.iana.org/assignments/aaa-parameters/>. | |||
#aaa-parameters-1>. | ||||
[AppleTalk] | [AppleTalk] | |||
Sidhu, G., Andrews, R., and A. Oppenheimer, "Inside | Sidhu, G., Andrews, R., and A. Oppenheimer, "Inside | |||
AppleTalk", Second Edition Apple Computer, 1990. | AppleTalk", Second Edition Apple Computer, 1990. | |||
[BASE] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. | [BASE] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. | |||
Arkko, "Diameter Base Protocol", RFC 3588, September 2003. | Arkko, "Diameter Base Protocol", RFC 3588, September 2003. | |||
[Command-Codes] | [Command-Codes] | |||
IANA, "IANA AAA Command Codes Registry", <http:// | IANA, "Command Codes", | |||
www.iana.org/assignments/aaa-parameters/aaa-parameters.xml | <http://www.iana.org/assignments/aaa-parameters/>. | |||
#command-code-rules>. | ||||
[IANA] IANA, "Internet Assigned Numbers Authority", | [IANA] IANA, "Internet Assigned Numbers Authority", | |||
<http://www.iana.org/>. | <http://www.iana.org/>. | |||
[IPX] Novell, Inc., "NetWare System Technical Interface | [IPX] Novell, Inc., "NetWare System Technical Interface | |||
Overview", #883-000780-001, June 1989. | Overview", #883-000780-001, June 1989. | |||
[ISO.8859-1.1987] | [ISO.8859-1.1987] | |||
International Organization for Standardization, | International Organization for Standardization, | |||
"Information technology - 8-bit single byte coded graphic | "Information technology - 8-bit single byte coded graphic | |||
- character sets - Part 1: Latin alphabet No. 1, JTC1/ | - character sets - Part 1: Latin alphabet No. 1, JTC1/ | |||
SC2", ISO Standard 8859-1, 1987. | SC2", ISO Standard 8859-1, 1987. | |||
[LAT] Digital Equipment Corp., "Local Area Transport (LAT) | [LAT] Digital Equipment Corp., "Local Area Transport (LAT) | |||
Specification V5.0", AA-NL26A-TE, June 1989. | Specification V5.0", AA-NL26A-TE, June 1989. | |||
[RADIUSAttrVals] | [RADIUSAttrVals] | |||
IANA, "IANA Radius Attribute Values Registry", <http:// | IANA, "Radius Attribute Values", | |||
www.iana.org/assignments/radius-types/radius-types.xml | <http://www.iana.org/assignments/radius-types/>. | |||
#radius-types-3>. | ||||
[RFC1334] Lloyd, B. and W. Simpson, "PPP Authentication Protocols", | [RFC1334] Lloyd, B. and W. Simpson, "PPP Authentication Protocols", | |||
RFC 1334, October 1992. | RFC 1334, October 1992. | |||
[RFC1661] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, | [RFC1661] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, | |||
RFC 1661, July 1994. | RFC 1661, July 1994. | |||
[RFC1990] Sklower, K., Lloyd, B., McGregor, G., Carr, D., and T. | [RFC1990] Sklower, K., Lloyd, B., McGregor, G., Carr, D., and T. | |||
Coradetti, "The PPP Multilink Protocol (MP)", RFC 1990, | Coradetti, "The PPP Multilink Protocol (MP)", RFC 1990, | |||
August 1996. | August 1996. | |||
skipping to change at page 65, line 38 | skipping to change at page 68, line 10 | |||
[RFC3169] Beadles, M. and D. Mitton, "Criteria for Evaluating | [RFC3169] Beadles, M. and D. Mitton, "Criteria for Evaluating | |||
Network Access Server Protocols", RFC 3169, September | Network Access Server Protocols", RFC 3169, September | |||
2001. | 2001. | |||
[RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | |||
J., Courtney, W., Davari, S., Firoiu, V., and D. | J., Courtney, W., Davari, S., Firoiu, V., and D. | |||
Stiliadis, "An Expedited Forwarding PHB (Per-Hop | Stiliadis, "An Expedited Forwarding PHB (Per-Hop | |||
Behavior)", RFC 3246, March 2002. | Behavior)", RFC 3246, March 2002. | |||
[RFC3454] , . | [RFC3454] Hoffman, P. and M. Blanchet, "Preparation of | |||
Internationalized Strings ("stringprep")", RFC 3454, | ||||
December 2002. | ||||
[RFC3580] Congdon, P., Aboba, B., Smith, A., Zorn, G., and J. Roese, | [RFC3580] Congdon, P., Aboba, B., Smith, A., Zorn, G., and J. Roese, | |||
"IEEE 802.1X Remote Authentication Dial In User Service | "IEEE 802.1X Remote Authentication Dial In User Service | |||
(RADIUS) Usage Guidelines", RFC 3580, September 2003. | (RADIUS) Usage Guidelines", RFC 3580, September 2003. | |||
[RFC3931] Lau, J., Townsley, M., and I. Goyret, "Layer Two Tunneling | [RFC3931] Lau, J., Townsley, M., and I. Goyret, "Layer Two Tunneling | |||
Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005. | Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005. | |||
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, | ||||
"Diameter Network Access Server Application", RFC 4005, | ||||
August 2005. | ||||
[RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible | [RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible | |||
Authentication Protocol (EAP) Application", RFC 4072, | Authentication Protocol (EAP) Application", RFC 4072, | |||
August 2005. | August 2005. | |||
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the | [RFC4301] Kent, S. and K. Seo, "Security Architecture for the | |||
Internet Protocol", RFC 4301, December 2005. | Internet Protocol", RFC 4301, December 2005. | |||
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
(TLS) Protocol Version 1.2", RFC 5246, August 2008. | (TLS) Protocol Version 1.2", RFC 5246, August 2008. | |||
skipping to change at page 66, line 19 | skipping to change at page 69, line 16 | |||
A.1. This Document | A.1. This Document | |||
The vast majority of the text in this document was taken directly | The vast majority of the text in this document was taken directly | |||
from RFC 4005; the editor owes a debt of gratitude to the authors | from RFC 4005; the editor owes a debt of gratitude to the authors | |||
thereof (especially Dave Mitton, who somehow managed to make nroff | thereof (especially Dave Mitton, who somehow managed to make nroff | |||
paginate the AVP Occurance Tables correctly!). | paginate the AVP Occurance Tables correctly!). | |||
Thanks (in no particular order) to Jai-Jin Lim, Liu Hans, Sebastien | Thanks (in no particular order) to Jai-Jin Lim, Liu Hans, Sebastien | |||
Decugis, Jouni Korhonen, Mark Jones, Hannes Tschofenig, Dave Crocker, | Decugis, Jouni Korhonen, Mark Jones, Hannes Tschofenig, Dave Crocker, | |||
David Black, Barry Leiba, Peter Saint-Andre, Stefan Winter and Lionel | David Black, Barry Leiba, Peter Saint-Andre, Stefan Winter, and | |||
Morand for their useful reviews and helpful comments. | Lionel Morand for their useful reviews and helpful comments. | |||
A.2. RFC 4005 | A.2. RFC 4005 | |||
The authors would like to thank Carl Rigney, Allan C. Rubens, William | The authors would like to thank Carl Rigney, Allan C. Rubens, William | |||
Allen Simpson, and Steve Willens for their work on the original | Allen Simpson, and Steve Willens for their work on the original | |||
RADIUS protocol, from which many of the concepts in this | RADIUS protocol, from which many of the concepts in this | |||
specification were derived. Thanks, also, to Carl Rigney for | specification were derived. Thanks, also, to Carl Rigney for | |||
[RFC2866] and [RFC2869]; Ward Willats for [RFC2869]; Glen Zorn, | [RFC2866] and [RFC2869]; Ward Willats for [RFC2869]; Glen Zorn, | |||
Bernard Aboba, and Dave Mitton for [RFC2867] and [RFC3162]; and Dory | Bernard Aboba, and Dave Mitton for [RFC2867] and [RFC3162]; and Dory | |||
Leifer, John Shriver, Matt Holdrege, Allan Rubens, Glen Zorn and | Leifer, John Shriver, Matt Holdrege, Allan Rubens, Glen Zorn, and | |||
Ignacio Goyret for their work on [RFC2868]. This document stole text | Ignacio Goyret for their work on [RFC2868]. This document stole text | |||
and concepts from both [RFC2868] and [RFC2869]. Thanks go to Carl | and concepts from both [RFC2868] and [RFC2869]. Thanks go to Carl | |||
Williams for providing IPv6-specific text. | Williams for providing IPv6-specific text. | |||
The authors would also like to acknowledge the following people for | The authors would also like to acknowledge the following people for | |||
their contributions in the development of the Diameter protocol: | their contributions in the development of the Diameter protocol: | |||
Bernard Aboba, Jari Arkko, William Bulley, Kuntal Chowdhury, Daniel | Bernard Aboba, Jari Arkko, William Bulley, Kuntal Chowdhury, Daniel | |||
C. Fox, Lol Grant, Nancy Greene, Jeff Hagg, Peter Heitman, Paul | C. Fox, Lol Grant, Nancy Greene, Jeff Hagg, Peter Heitman, Paul | |||
Krumviede, Fergal Ladley, Ryan Moats, Victor Muslin, Kenneth Peirce, | Krumviede, Fergal Ladley, Ryan Moats, Victor Muslin, Kenneth Peirce, | |||
Sumit Vakil, John R. Vollbrecht, and Jeff Weisberg. | Sumit Vakil, John R. Vollbrecht, and Jeff Weisberg. | |||
End of changes. 181 change blocks. | ||||
866 lines changed or deleted | 834 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |