From fba96f493b940f032bc238492a9375ad6397dbe4 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Fri, 16 Dec 2011 16:19:06 +0100 Subject: Move example dictionaries to examples/dict --- lib/diameter/examples/dict/rfc4004_mip.dia | 280 ++++++++ lib/diameter/examples/dict/rfc4005_nas.dia | 740 +++++++++++++++++++++ lib/diameter/examples/dict/rfc4006_cc.dia | 349 ++++++++++ lib/diameter/examples/dict/rfc4072_eap.dia | 150 +++++ lib/diameter/examples/dict/rfc4590_digest.dia | 45 ++ lib/diameter/examples/dict/rfc4740_sip.dia | 446 +++++++++++++ lib/diameter/test/diameter_compiler_SUITE.erl | 32 +- .../diameter_compiler_SUITE_data/rfc4004_mip.dia | 280 -------- .../diameter_compiler_SUITE_data/rfc4005_nas.dia | 740 --------------------- .../diameter_compiler_SUITE_data/rfc4006_cc.dia | 349 ---------- .../diameter_compiler_SUITE_data/rfc4072_eap.dia | 150 ----- .../rfc4590_digest.dia | 45 -- .../diameter_compiler_SUITE_data/rfc4740_sip.dia | 446 ------------- 13 files changed, 2026 insertions(+), 2026 deletions(-) create mode 100644 lib/diameter/examples/dict/rfc4004_mip.dia create mode 100644 lib/diameter/examples/dict/rfc4005_nas.dia create mode 100644 lib/diameter/examples/dict/rfc4006_cc.dia create mode 100644 lib/diameter/examples/dict/rfc4072_eap.dia create mode 100644 lib/diameter/examples/dict/rfc4590_digest.dia create mode 100644 lib/diameter/examples/dict/rfc4740_sip.dia delete mode 100644 lib/diameter/test/diameter_compiler_SUITE_data/rfc4004_mip.dia delete mode 100644 lib/diameter/test/diameter_compiler_SUITE_data/rfc4005_nas.dia delete mode 100644 lib/diameter/test/diameter_compiler_SUITE_data/rfc4006_cc.dia delete mode 100644 lib/diameter/test/diameter_compiler_SUITE_data/rfc4072_eap.dia delete mode 100644 lib/diameter/test/diameter_compiler_SUITE_data/rfc4590_digest.dia delete mode 100644 lib/diameter/test/diameter_compiler_SUITE_data/rfc4740_sip.dia (limited to 'lib') diff --git a/lib/diameter/examples/dict/rfc4004_mip.dia b/lib/diameter/examples/dict/rfc4004_mip.dia new file mode 100644 index 0000000000..575ad4394a --- /dev/null +++ b/lib/diameter/examples/dict/rfc4004_mip.dia @@ -0,0 +1,280 @@ +;; +;; %CopyrightBegin% +;; +;; Copyright Ericsson AB 2010-2011. All Rights Reserved. +;; +;; The contents of this file are subject to the Erlang Public License, +;; Version 1.1, (the "License"); you may not use this file except in +;; compliance with the License. You should have received a copy of the +;; Erlang Public License along with this software. If not, it can be +;; retrieved online at http://www.erlang.org/. +;; +;; Software distributed under the License is distributed on an "AS IS" +;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +;; the License for the specific language governing rights and limitations +;; under the License. +;; +;; %CopyrightEnd% +;; + +;; +;; RFC 4004, Diameter Mobile IPv4 Application +;; +;; Edits: +;; +;; - MIP-nonce -> MIP-Nonce +;; - Session-ID -> Session-Id +;; - Omit MIP-HA-to-MN-SPI, MIP-MN-FA-SPI and MIP-MN-HA-SPI, none of +;; which are defined. +;; + +@id 2 + +@inherits rfc3588_base + +;; =========================================================================== + +@avp_types + + MIP-Reg-Request 320 OctetString M + MIP-Reg-Reply 321 OctetString M + MIP-MN-AAA-Auth 322 Grouped M + MIP-Mobile-Node-Address 333 Address M + MIP-Home-Agent-Address 334 Address M + MIP-Candidate-Home-Agent-Host 336 DiamIdent M + MIP-Feature-Vector 337 Unsigned32 M + MIP-Auth-Input-Data-Length 338 Unsigned32 M + MIP-Authenticator-Length 339 Unsigned32 M + MIP-Authenticator-Offset 340 Unsigned32 M + MIP-MN-AAA-SPI 341 Unsigned32 M + MIP-Filter-Rule 342 IPFilterRule M + MIP-FA-Challenge 344 OctetString M + MIP-Originating-Foreign-AAA 347 Grouped M + MIP-Home-Agent-Host 348 Grouped M + + MIP-FA-to-HA-SPI 318 Unsigned32 M + MIP-FA-to-MN-SPI 319 Unsigned32 M + MIP-HA-to-FA-SPI 323 Unsigned32 M + MIP-MN-to-FA-MSA 325 Grouped M + MIP-FA-to-MN-MSA 326 Grouped M + MIP-FA-to-HA-MSA 328 Grouped M + MIP-HA-to-FA-MSA 329 Grouped M + MIP-MN-to-HA-MSA 331 Grouped M + MIP-HA-to-MN-MSA 332 Grouped M + MIP-Nonce 335 OctetString M + MIP-Session-Key 343 OctetString M + MIP-Algorithm-Type 345 Enumerated M + MIP-Replay-Mode 346 Enumerated M + MIP-MSA-Lifetime 367 Unsigned32 M + +;; =========================================================================== + +@messages + + ;; 5.1. AA-Mobile-Node-Request + + AMR ::= < Diameter Header: 260, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { User-Name } + { Destination-Realm } + { Origin-Host } + { Origin-Realm } + { MIP-Reg-Request } + { MIP-MN-AAA-Auth } + [ Acct-Multi-Session-Id ] + [ Destination-Host ] + [ Origin-State-Id ] + [ MIP-Mobile-Node-Address ] + [ MIP-Home-Agent-Address ] + [ MIP-Feature-Vector ] + [ MIP-Originating-Foreign-AAA ] + [ Authorization-Lifetime ] + [ Auth-Session-State ] + [ MIP-FA-Challenge ] + [ MIP-Candidate-Home-Agent-Host ] + [ MIP-Home-Agent-Host ] + [ MIP-HA-to-FA-SPI ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 5.2. AA-Mobile-Node-Answer + + AMA ::= < Diameter Header: 260, PXY > + + < Session-Id > + { Auth-Application-Id } + { Result-Code } + { Origin-Host } + { Origin-Realm } + [ Acct-Multi-Session-Id ] + [ User-Name ] + [ Authorization-Lifetime ] + [ Auth-Session-State ] + [ Error-Message ] + [ Error-Reporting-Host ] + [ Re-Auth-Request-Type ] + [ MIP-Feature-Vector ] + [ MIP-Reg-Reply ] + [ MIP-MN-to-FA-MSA ] + [ MIP-MN-to-HA-MSA ] + [ MIP-FA-to-MN-MSA ] + [ MIP-FA-to-HA-MSA ] + [ MIP-HA-to-MN-MSA ] + [ MIP-MSA-Lifetime ] + [ MIP-Home-Agent-Address ] + [ MIP-Mobile-Node-Address ] + * [ MIP-Filter-Rule ] + [ Origin-State-Id ] + * [ Proxy-Info ] + * [ AVP ] + + ;; 5.3. Home-Agent-MIP-Request + + HAR ::= < Diameter Header: 262, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Authorization-Lifetime } + { Auth-Session-State } + { MIP-Reg-Request } + { Origin-Host } + { Origin-Realm } + { User-Name } + { Destination-Realm } + { MIP-Feature-Vector } + [ Destination-Host ] + [ MIP-MN-to-HA-MSA ] + [ MIP-MN-to-FA-MSA ] + [ MIP-HA-to-MN-MSA ] + [ MIP-HA-to-FA-MSA ] + [ MIP-MSA-Lifetime ] + [ MIP-Originating-Foreign-AAA ] + [ MIP-Mobile-Node-Address ] + [ MIP-Home-Agent-Address ] + * [ MIP-Filter-Rule ] + [ Origin-State-Id ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 5.4. Home-Agent-MIP-Answer + + HAA ::= < Diameter Header: 262, PXY > + + < Session-Id > + { Auth-Application-Id } + { Result-Code } + { Origin-Host } + { Origin-Realm } + [ Acct-Multi-Session-Id ] + [ User-Name ] + [ Error-Reporting-Host ] + [ Error-Message ] + [ MIP-Reg-Reply ] + [ MIP-Home-Agent-Address ] + [ MIP-Mobile-Node-Address ] + [ MIP-FA-to-HA-SPI ] + [ MIP-FA-to-MN-SPI ] + [ Origin-State-Id ] + * [ Proxy-Info ] + * [ AVP ] + +;; =========================================================================== + +@grouped + + MIP-MN-AAA-Auth ::= < AVP Header: 322 > + + { MIP-MN-AAA-SPI } + { MIP-Auth-Input-Data-Length } + { MIP-Authenticator-Length } + { MIP-Authenticator-Offset } + * [ AVP ] + + + MIP-Originating-Foreign-AAA ::= < AVP Header: 347 > + + { Origin-Realm } + { Origin-Host } + * [ AVP ] + + MIP-Home-Agent-Host ::= < AVP Header: 348 > + + { Destination-Realm } + { Destination-Host } + * [ AVP ] + + MIP-FA-to-MN-MSA ::= < AVP Header: 326 > + + { MIP-FA-to-MN-SPI } + { MIP-Algorithm-Type } + { MIP-Session-Key } + * [ AVP ] + + MIP-FA-to-HA-MSA ::= < AVP Header: 328 > + + { MIP-FA-to-HA-SPI } + { MIP-Algorithm-Type } + { MIP-Session-Key } + * [ AVP ] + + MIP-HA-to-FA-MSA ::= < AVP Header: 329 > + + { MIP-HA-to-FA-SPI } + { MIP-Algorithm-Type } + { MIP-Session-Key } + * [ AVP ] + + MIP-HA-to-MN-MSA ::= < AVP Header: 332 > + + ; { MIP-HA-to-MN-SPI } + { MIP-Algorithm-Type } + { MIP-Replay-Mode } + { MIP-Session-Key } + * [ AVP ] + + MIP-MN-to-FA-MSA ::= < AVP Header: 325 > + + ; { MIP-MN-FA-SPI } + { MIP-Algorithm-Type } + { MIP-Nonce } + * [ AVP ] + + MIP-MN-to-HA-MSA ::= < AVP Header: 331 > + + ; { MIP-MN-HA-SPI } + { MIP-Algorithm-Type } + { MIP-Replay-Mode } + { MIP-Nonce } + * [ AVP ] + +;; =========================================================================== + +@enum MIP-Algorithm-Type + + HMAC-SHA-1 2 + +@enum MIP-Replay-Mode + + NONE 1 + TIMESTAMPS 2 + NONCES 3 + +;; =========================================================================== + +@define Result-Code + + ;; 6.1. Transient Failures + + MIP_REPLY_FAILURE 4005 + HA_NOT_AVAILABLE 4006 + BAD_KEY 4007 + MIP_FILTER_NOT_SUPPORTED 4008 + + ;; 6.2. Permanent Failures + + NO_FOREIGN_HA_SERVICE 5024 + END_TO_END_MIP_KEY_ENCRYPTION 5025 diff --git a/lib/diameter/examples/dict/rfc4005_nas.dia b/lib/diameter/examples/dict/rfc4005_nas.dia new file mode 100644 index 0000000000..a4b44e38bb --- /dev/null +++ b/lib/diameter/examples/dict/rfc4005_nas.dia @@ -0,0 +1,740 @@ +;; +;; %CopyrightBegin% +;; +;; Copyright Ericsson AB 2010-2011. All Rights Reserved. +;; +;; The contents of this file are subject to the Erlang Public License, +;; Version 1.1, (the "License"); you may not use this file except in +;; compliance with the License. You should have received a copy of the +;; Erlang Public License along with this software. If not, it can be +;; retrieved online at http://www.erlang.org/. +;; +;; Software distributed under the License is distributed on an "AS IS" +;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +;; the License for the specific language governing rights and limitations +;; under the License. +;; +;; %CopyrightEnd% +;; + +;; +;; RFC 4005, Diameter Network Access Server Application +;; +;; Edits: +;; +;; - Acounting-Auth-Method -> Accounting-Auth-Method +;; - Connection-Info -> ConnectInfo +;; - Framed-Appletalk-Link -> Framed-AppleTalk-Link +;; - Framed-Appletalk-Network -> Framed-AppleTalk-Network +;; - Framed-Appletalk-Zone -> Framed-AppleTalk-Zone +;; - Qos-Filter-Rule -> QoS-Filter-Rule +;; - Redirect-Host-Usase -> Redirect-Host-Usage +;; - Redirected-Host -> Redirect-Host +;; - Redirected-Host-Usage -> Redirect-Host-Usage +;; - Redirected-Host-Cache-Time -> Redirect-Max-Cache-Time +;; - Redirected-Max-Cache-Time -> Redirect-Max-Cache-Time +;; + +@id 1 + +@inherits rfc3588_base + +;; =========================================================================== + +@avp_types + + ;; 4. NAS Session AVPs + + NAS-Port 5 Unsigned32 M + NAS-Port-Id 87 UTF8String M + NAS-Port-Type 61 Enumerated M + Called-Station-Id 30 UTF8String M + Calling-Station-Id 31 UTF8String M + Connect-Info 77 UTF8String M + Originating-Line-Info 94 OctetString - + Reply-Message 18 UTF8String M + + ;; 5. NAS Authentication AVPs + + User-Password 2 OctetString M + Password-Retry 75 Unsigned32 M + Prompt 76 Enumerated M + CHAP-Auth 402 Grouped M + CHAP-Algorithm 403 Enumerated M + CHAP-Ident 404 OctetString M + CHAP-Response 405 OctetString M + CHAP-Challenge 60 OctetString M + ARAP-Password 70 OctetString M + ARAP-Challenge-Response 84 OctetString M + ARAP-Security 73 Unsigned32 M + ARAP-Security-Data 74 OctetString M + + ;; 6. NAS Authorization AVPs + + Service-Type 6 Enumerated M + Callback-Number 19 UTF8String M + Callback-Id 20 UTF8String M + Idle-Timeout 28 Unsigned32 M + Port-Limit 62 Unsigned32 M + NAS-Filter-Rule 400 IPFilterRule M + Filter-Id 11 UTF8String M + Configuration-Token 78 OctetString M + QoS-Filter-Rule 407 QoSFilterRule - + Framed-Protocol 7 Enumerated M + Framed-Routing 10 Enumerated M + Framed-MTU 12 Unsigned32 M + Framed-Compression 13 Enumerated M + Framed-IP-Address 8 OctetString M + Framed-IP-Netmask 9 OctetString M + Framed-Route 22 UTF8String M + Framed-Pool 88 OctetString M + Framed-Interface-Id 96 Unsigned64 M + Framed-IPv6-Prefix 97 OctetString M + Framed-IPv6-Route 99 UTF8String M + Framed-IPv6-Pool 100 OctetString M + Framed-IPX-Network 23 UTF8String M + Framed-AppleTalk-Link 37 Unsigned32 M + Framed-AppleTalk-Network 38 Unsigned32 M + Framed-AppleTalk-Zone 39 OctetString M + ARAP-Features 71 OctetString M + ARAP-Zone-Access 72 Enumerated M + Login-IP-Host 14 OctetString M + Login-IPv6-Host 98 OctetString M + Login-Service 15 Enumerated M + Login-TCP-Port 16 Unsigned32 M + Login-LAT-Service 34 OctetString M + Login-LAT-Node 35 OctetString M + Login-LAT-Group 36 OctetString M + Login-LAT-Port 63 OctetString M + + ;; 7. NAS Tunneling + + Tunneling 401 Grouped M + Tunnel-Type 64 Enumerated M + Tunnel-Medium-Type 65 Enumerated M + Tunnel-Client-Endpoint 66 UTF8String M + Tunnel-Server-Endpoint 67 UTF8String M + Tunnel-Password 69 OctetString M + Tunnel-Private-Group-Id 81 OctetString M + Tunnel-Assignment-Id 82 OctetString M + Tunnel-Preference 83 Unsigned32 M + Tunnel-Client-Auth-Id 90 UTF8String M + Tunnel-Server-Auth-Id 91 UTF8String M + + ;; 8. NAS Accounting + + Accounting-Input-Octets 363 Unsigned64 M + Accounting-Output-Octets 364 Unsigned64 M + Accounting-Input-Packets 365 Unsigned64 M + Accounting-Output-Packets 366 Unsigned64 M + Acct-Session-Time 46 Unsigned32 M + Acct-Authentic 45 Enumerated M + Accounting-Auth-Method 406 Enumerated M + Acct-Delay-Time 41 Unsigned32 M + Acct-Link-Count 51 Unsigned32 M + Acct-Tunnel-Connection 68 OctetString M + Acct-Tunnel-Packets-Lost 86 Unsigned32 M + + ;; 9.3. AVPs Used Only for Compatibility + + NAS-Identifier 32 UTF8String M + NAS-IP-Address 4 OctetString M + NAS-IPv6-Address 95 OctetString M + State 24 OctetString M + ;;Termination-Cause 295 Enumerated M + Origin-AAA-Protocol 408 Enumerated M + +;; =========================================================================== + +@messages + + AAR ::= < Diameter Header: 265, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { Auth-Request-Type } + [ Destination-Host ] + [ NAS-Identifier ] + [ NAS-IP-Address ] + [ NAS-IPv6-Address ] + [ NAS-Port ] + [ NAS-Port-Id ] + [ NAS-Port-Type ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + [ Port-Limit ] + [ User-Name ] + [ User-Password ] + [ Service-Type ] + [ State ] + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + [ Auth-Session-State ] + [ Callback-Number ] + [ Called-Station-Id ] + [ Calling-Station-Id ] + [ Originating-Line-Info ] + [ Connect-Info ] + [ CHAP-Auth ] + [ CHAP-Challenge ] + * [ Framed-Compression ] + [ Framed-Interface-Id ] + [ Framed-IP-Address ] + * [ Framed-IPv6-Prefix ] + [ Framed-IP-Netmask ] + [ Framed-MTU ] + [ Framed-Protocol ] + [ ARAP-Password ] + [ ARAP-Security ] + * [ ARAP-Security-Data ] + * [ Login-IP-Host ] + * [ Login-IPv6-Host ] + [ Login-LAT-Group ] + [ Login-LAT-Node ] + [ Login-LAT-Port ] + [ Login-LAT-Service ] + * [ Tunneling ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + AAA ::= < Diameter Header: 265, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Request-Type } + { Result-Code } + { Origin-Host } + { Origin-Realm } + [ User-Name ] + [ Service-Type ] + * [ Class ] + * [ Configuration-Token ] + [ Acct-Interim-Interval ] + [ Error-Message ] + [ Error-Reporting-Host ] + * [ Failed-AVP ] + [ Idle-Timeout ] + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + [ Auth-Session-State ] + [ Re-Auth-Request-Type ] + [ Multi-Round-Time-Out ] + [ Session-Timeout ] + [ State ] + * [ Reply-Message ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + * [ Filter-Id ] + [ Password-Retry ] + [ Port-Limit ] + [ Prompt ] + [ ARAP-Challenge-Response ] + [ ARAP-Features ] + [ ARAP-Security ] + * [ ARAP-Security-Data ] + [ ARAP-Zone-Access ] + [ Callback-Id ] + [ Callback-Number ] + [ Framed-AppleTalk-Link ] + * [ Framed-AppleTalk-Network ] + [ Framed-AppleTalk-Zone ] + * [ Framed-Compression ] + [ Framed-Interface-Id ] + [ Framed-IP-Address ] + * [ Framed-IPv6-Prefix ] + [ Framed-IPv6-Pool ] + * [ Framed-IPv6-Route ] + [ Framed-IP-Netmask ] + * [ Framed-Route ] + [ Framed-Pool ] + [ Framed-IPX-Network ] + [ Framed-MTU ] + [ Framed-Protocol ] + [ Framed-Routing ] + * [ Login-IP-Host ] + * [ Login-IPv6-Host ] + [ Login-LAT-Group ] + [ Login-LAT-Node ] + [ Login-LAT-Port ] + [ Login-LAT-Service ] + [ Login-Service ] + [ Login-TCP-Port ] + * [ NAS-Filter-Rule ] + * [ QoS-Filter-Rule ] + * [ Tunneling ] + * [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ AVP ] + + RAR ::= < Diameter Header: 258, REQ, PXY > + + < Session-Id > + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { Destination-Host } + { Auth-Application-Id } + { Re-Auth-Request-Type } + [ User-Name ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + [ NAS-Identifier ] + [ NAS-IP-Address ] + [ NAS-IPv6-Address ] + [ NAS-Port ] + [ NAS-Port-Id ] + [ NAS-Port-Type ] + [ Service-Type ] + [ Framed-IP-Address ] + [ Framed-IPv6-Prefix ] + [ Framed-Interface-Id ] + [ Called-Station-Id ] + [ Calling-Station-Id ] + [ Originating-Line-Info ] + [ Acct-Session-Id ] + [ Acct-Multi-Session-Id ] + [ State ] + * [ Class ] + [ Reply-Message ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + RAA ::= < Diameter Header: 258, PXY > + + < Session-Id > + { Result-Code } + { Origin-Host } + { Origin-Realm } + [ User-Name ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + [ Error-Message ] + [ Error-Reporting-Host ] + * [ Failed-AVP ] + * [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + [ Service-Type ] + * [ Configuration-Token ] + [ Idle-Timeout ] + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + [ Re-Auth-Request-Type ] + [ State ] + * [ Class ] + * [ Reply-Message ] + [ Prompt ] + * [ Proxy-Info ] + * [ AVP ] + + STR ::= < Diameter Header: 275, REQ, PXY > + + < Session-Id > + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { Auth-Application-Id } + { Termination-Cause } + [ User-Name ] + [ Destination-Host ] + * [ Class ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + STA ::= < Diameter Header: 275, PXY > + + < Session-Id > + { Result-Code } + { Origin-Host } + { Origin-Realm } + [ User-Name ] + * [ Class ] + [ Error-Message ] + [ Error-Reporting-Host ] + * [ Failed-AVP ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + * [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ AVP ] + + ASR ::= < Diameter Header: 274, REQ, PXY > + + < Session-Id > + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { Destination-Host } + { Auth-Application-Id } + [ User-Name ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + [ NAS-Identifier ] + [ NAS-IP-Address ] + [ NAS-IPv6-Address ] + [ NAS-Port ] + [ NAS-Port-Id ] + [ NAS-Port-Type ] + [ Service-Type ] + [ Framed-IP-Address ] + [ Framed-IPv6-Prefix ] + [ Framed-Interface-Id ] + [ Called-Station-Id ] + [ Calling-Station-Id ] + [ Originating-Line-Info ] + [ Acct-Session-Id ] + [ Acct-Multi-Session-Id ] + [ State ] + * [ Class ] + * [ Reply-Message ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ASA ::= < Diameter Header: 274, PXY > + + < Session-Id > + { Result-Code } + { Origin-Host } + { Origin-Realm } + [ User-Name ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + [ State] + [ Error-Message ] + [ Error-Reporting-Host ] + * [ Failed-AVP ] + * [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ AVP ] + + ACR ::= < Diameter Header: 271, REQ, PXY > + + < Session-Id > + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { Accounting-Record-Type } + { Accounting-Record-Number } + [ Acct-Application-Id ] + [ Vendor-Specific-Application-Id ] + [ User-Name ] + [ Accounting-Sub-Session-Id ] + [ Acct-Session-Id ] + [ Acct-Multi-Session-Id ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + [ Destination-Host ] + [ Event-Timestamp ] + [ Acct-Delay-Time ] + [ NAS-Identifier ] + [ NAS-IP-Address ] + [ NAS-IPv6-Address ] + [ NAS-Port ] + [ NAS-Port-Id ] + [ NAS-Port-Type ] + * [ Class ] + [ Service-Type ] + [ Termination-Cause ] + [ Accounting-Input-Octets ] + [ Accounting-Input-Packets ] + [ Accounting-Output-Octets ] + [ Accounting-Output-Packets ] + [ Acct-Authentic ] + [ Accounting-Auth-Method ] + [ Acct-Link-Count ] + [ Acct-Session-Time ] + [ Acct-Tunnel-Connection ] + [ Acct-Tunnel-Packets-Lost ] + [ Callback-Id ] + [ Callback-Number ] + [ Called-Station-Id ] + [ Calling-Station-Id ] + * [ Connect-Info ] + [ Originating-Line-Info ] + [ Authorization-Lifetime ] + [ Session-Timeout ] + [ Idle-Timeout ] + [ Port-Limit ] + [ Accounting-Realtime-Required ] + [ Acct-Interim-Interval ] + * [ Filter-Id ] + * [ NAS-Filter-Rule ] + * [ QoS-Filter-Rule ] + [ Framed-AppleTalk-Link ] + [ Framed-AppleTalk-Network ] + [ Framed-AppleTalk-Zone ] + [ Framed-Compression ] + [ Framed-Interface-Id ] + [ Framed-IP-Address ] + [ Framed-IP-Netmask ] + * [ Framed-IPv6-Prefix ] + [ Framed-IPv6-Pool ] + * [ Framed-IPv6-Route ] + [ Framed-IPX-Network ] + [ Framed-MTU ] + [ Framed-Pool ] + [ Framed-Protocol ] + * [ Framed-Route ] + [ Framed-Routing ] + * [ Login-IP-Host ] + * [ Login-IPv6-Host ] + [ Login-LAT-Group ] + [ Login-LAT-Node ] + [ Login-LAT-Port ] + [ Login-LAT-Service ] + [ Login-Service ] + [ Login-TCP-Port ] + * [ Tunneling ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ACA ::= < Diameter Header: 271, PXY > + + < Session-Id > + { Result-Code } + { Origin-Host } + { Origin-Realm } + { Accounting-Record-Type } + { Accounting-Record-Number } + [ Acct-Application-Id ] + [ Vendor-Specific-Application-Id ] + [ User-Name ] + [ Accounting-Sub-Session-Id ] + [ Acct-Session-Id ] + [ Acct-Multi-Session-Id ] + [ Event-Timestamp ] + [ Error-Message ] + [ Error-Reporting-Host ] + * [ Failed-AVP ] + [ Origin-AAA-Protocol ] + [ Origin-State-Id ] + [ NAS-Identifier ] + [ NAS-IP-Address ] + [ NAS-IPv6-Address ] + [ NAS-Port ] + [ NAS-Port-Id ] + [ NAS-Port-Type ] + [ Service-Type ] + [ Termination-Cause ] + [ Accounting-Realtime-Required ] + [ Acct-Interim-Interval ] + * [ Class ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + +;; =========================================================================== + +@grouped + + CHAP-Auth ::= < AVP Header: 402 > + + { CHAP-Algorithm } + { CHAP-Ident } + [ CHAP-Response ] + * [ AVP ] + + Tunneling ::= < AVP Header: 401 > + + { Tunnel-Type } + { Tunnel-Medium-Type } + { Tunnel-Client-Endpoint } + { Tunnel-Server-Endpoint } + [ Tunnel-Preference ] + [ Tunnel-Client-Auth-Id ] + [ Tunnel-Server-Auth-Id ] + [ Tunnel-Assignment-Id ] + [ Tunnel-Password ] + [ Tunnel-Private-Group-Id ] + +;; =========================================================================== + +@enum NAS-Port-Type + + ASYNC 0 + SYNC 1 + ISDN_SYNC 2 + ISDN_ASYNC_V120 3 + ISDN_ASYNC_V110 4 + VIRTUAL 5 + PIAFS 6 + HDLC_CLEAR_CHANNEL 7 + X25 8 + X75 9 + G3FAX 10 + SDSL 11 + ADSL-CAP 12 + ADSL-DMT 13 + IDSL 14 + ETHERNET 15 + XDSL 16 + CABLE 17 + WIRELESS_OTHER 18 + 'WIRELESS_802.11' 19 + TOKEN-RING 20 + FDDI 21 + WIRELESS_CDMA2000 22 + WIRELESS_UMTS 23 + WIRELESS_1X-EV 24 + IAPP 25 + +@enum Prompt + + NO_ECHO 0 + ECHO 1 + +@enum CHAP-Algorithm + + WITH_MD5 5 + +@enum Service-Type + + LOGIN 1 + FRAMED 2 + CALLBACK_LOGIN 3 + CALLBACK_FRAMED 4 + OUTBOUND 5 + ADMINISTRATIVE 6 + NAS_PROMPT 7 + AUTHENTICATE_ONLY 8 + CALLBACK_NAS_PROMPT 9 + CALL_CHECK 10 + CALLBACK_ADMINISTRATIVE 11 + VOICE 12 + FAX 13 + MODEM_RELAY 14 + IAPP-REGISTER 15 + IAPP-AP-CHECK 16 + AUTHORIZE_ONLY 17 + +@enum Framed-Protocol + + PPP 1 + SLIP 2 + ARAP 3 + GANDALF 4 + XYLOGICS 5 + X75 6 + +@enum Framed-Routing + + NONE 0 + SEND 1 + LISTEN 2 + SEND_AND_LISTEN 3 + +@enum Framed-Compression + + NONE 0 + VJ 1 + IPX 2 + STAC-LZS 3 + +@enum ARAP-Zone-Access + + DEFAULT 1 + FILTER_INCLUSIVELY 2 + FILTER_EXCLUSIVELY 4 + +@enum Login-Service + + TELNET 0 + RLOGIN 1 + TCP_CLEAR 2 + PORTMASTER 3 + LAT 4 + X25-PAD 5 + X25-T3POS 6 + TCP_CLEAR_QUIET 8 + +@enum Tunnel-Type + + PPTP 1 + L2F 2 + L2TP 3 + ATMP 4 + VTP 5 + AH 6 + IP-IP 7 + MIN-IP-IP 8 + ESP 9 + GRE 10 + DVS 11 + IP-IN-IP 12 + VLAN 13 + +@enum Tunnel-Medium-Type + + IPV4 1 + IPV6 2 + NSAP 3 + HDLC 4 + BBN_1822 5 + '802' 6 + E163 7 + E164 8 + F69 9 + X121 10 + IPX 11 + APPLETALK 12 + DECNET_IV 13 + BANYAN_VINES 14 + E164_NSAP 15 + + +@enum Acct-Authentic + + RADIUS 1 + LOCAL 2 + REMOTE 3 + DIAMETER 4 + +@enum Accounting-Auth-Method + + PAP 1 + CHAP 2 + MS-CHAP-1 3 + MS-CHAP-2 4 + EAP 5 + NONE 7 + +@enum Termination-Cause + + USER_REQUEST 11 + LOST_CARRIER 12 + LOST_SERVICE 13 + IDLE_TIMEOUT 14 + SESSION_TIMEOUT 15 + ADMIN_RESET 16 + ADMIN_REBOOT 17 + PORT_ERROR 18 + NAS_ERROR 19 + NAS_REQUEST 20 + NAS_REBOOT 21 + PORT_UNNEEDED 22 + PORT_PREEMPTED 23 + PORT_SUSPENDED 24 + SERVICE_UNAVAILABLE 25 + CALLBACK 26 + USER_ERROR 27 + HOST_REQUEST 28 + SUPPLICANT_RESTART 29 + REAUTHORIZATION_FAILURE 30 + PORT_REINIT 31 + PORT_DISABLED 32 diff --git a/lib/diameter/examples/dict/rfc4006_cc.dia b/lib/diameter/examples/dict/rfc4006_cc.dia new file mode 100644 index 0000000000..b723e4ddbb --- /dev/null +++ b/lib/diameter/examples/dict/rfc4006_cc.dia @@ -0,0 +1,349 @@ +;; +;; %CopyrightBegin% +;; +;; Copyright Ericsson AB 2010-2011. All Rights Reserved. +;; +;; The contents of this file are subject to the Erlang Public License, +;; Version 1.1, (the "License"); you may not use this file except in +;; compliance with the License. You should have received a copy of the +;; Erlang Public License along with this software. If not, it can be +;; retrieved online at http://www.erlang.org/. +;; +;; Software distributed under the License is distributed on an "AS IS" +;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +;; the License for the specific language governing rights and limitations +;; under the License. +;; +;; %CopyrightEnd% +;; + +;; +;; RFC 4006, Diameter Credit-Control Application +;; + +@id 4 + +@inherits rfc3588_base +@inherits rfc4005_nas Filter-Id + +;; =========================================================================== + +@avp_types + + CC-Correlation-Id 411 OctetString - + CC-Input-Octets 412 Unsigned64 M + CC-Money 413 Grouped M + CC-Output-Octets 414 Unsigned64 M + CC-Request-Number 415 Unsigned32 M + CC-Request-Type 416 Enumerated M + CC-Service-Specific-Units 417 Unsigned64 M + CC-Session-Failover 418 Enumerated M + CC-Sub-Session-Id 419 Unsigned64 M + CC-Time 420 Unsigned32 M + CC-Total-Octets 421 Unsigned64 M + CC-Unit-Type 454 Enumerated M + Check-Balance-Result 422 Enumerated M + Cost-Information 423 Grouped M + Cost-Unit 424 UTF8String M + Credit-Control 426 Enumerated M + Credit-Control-Failure-Handling 427 Enumerated M + Currency-Code 425 Unsigned32 M + Direct-Debiting-Failure-Handling 428 Enumerated M + Exponent 429 Integer32 M + Final-Unit-Action 449 Enumerated M + Final-Unit-Indication 430 Grouped M + Granted-Service-Unit 431 Grouped M + G-S-U-Pool-Identifier 453 Unsigned32 M + G-S-U-Pool-Reference 457 Grouped M + Multiple-Services-Credit-Control 456 Grouped M + Multiple-Services-Indicator 455 Enumerated M + Rating-Group 432 Unsigned32 M + Redirect-Address-Type 433 Enumerated M + Redirect-Server 434 Grouped M + Redirect-Server-Address 435 UTF8String M + Requested-Action 436 Enumerated M + Requested-Service-Unit 437 Grouped M + Restriction-Filter-Rule 438 IPFilterRule M + Service-Context-Id 461 UTF8String M + Service-Identifier 439 Unsigned32 M + Service-Parameter-Info 440 Grouped - + Service-Parameter-Type 441 Unsigned32 - + Service-Parameter-Value 442 OctetString - + Subscription-Id 443 Grouped M + Subscription-Id-Data 444 UTF8String M + Subscription-Id-Type 450 Enumerated M + Tariff-Change-Usage 452 Enumerated M + Tariff-Time-Change 451 Time M + Unit-Value 445 Grouped M + Used-Service-Unit 446 Grouped M + User-Equipment-Info 458 Grouped - + User-Equipment-Info-Type 459 Enumerated - + User-Equipment-Info-Value 460 OctetString - + Value-Digits 447 Integer64 M + Validity-Time 448 Unsigned32 M + +;; =========================================================================== + +@messages + + CCR ::= < Diameter Header: 272, REQ, PXY > + + < Session-Id > + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { Auth-Application-Id } + { Service-Context-Id } + { CC-Request-Type } + { CC-Request-Number } + [ Destination-Host ] + [ User-Name ] + [ CC-Sub-Session-Id ] + [ Acct-Multi-Session-Id ] + [ Origin-State-Id ] + [ Event-Timestamp ] + * [ Subscription-Id ] + [ Service-Identifier ] + [ Termination-Cause ] + [ Requested-Service-Unit ] + [ Requested-Action ] + * [ Used-Service-Unit ] + [ Multiple-Services-Indicator ] + * [ Multiple-Services-Credit-Control ] + * [ Service-Parameter-Info ] + [ CC-Correlation-Id ] + [ User-Equipment-Info ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + CCA ::= < Diameter Header: 272, PXY > + + < Session-Id > + { Result-Code } + { Origin-Host } + { Origin-Realm } + { Auth-Application-Id } + { CC-Request-Type } + { CC-Request-Number } + [ User-Name ] + [ CC-Session-Failover ] + [ CC-Sub-Session-Id ] + [ Acct-Multi-Session-Id ] + [ Origin-State-Id ] + [ Event-Timestamp ] + [ Granted-Service-Unit ] + * [ Multiple-Services-Credit-Control ] + [ Cost-Information] + [ Final-Unit-Indication ] + [ Check-Balance-Result ] + [ Credit-Control-Failure-Handling ] + [ Direct-Debiting-Failure-Handling ] + [ Validity-Time] + * [ Redirect-Host] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ Failed-AVP ] + * [ AVP ] + +;; =========================================================================== + +@grouped + + Cost-Information ::= < AVP Header: 423 > + + { Unit-Value } + { Currency-Code } + [ Cost-Unit ] + + Unit-Value ::= < AVP Header: 445 > + + { Value-Digits } + [ Exponent ] + + Multiple-Services-Credit-Control ::= < AVP Header: 456 > + + [ Granted-Service-Unit ] + [ Requested-Service-Unit ] + * [ Used-Service-Unit ] + [ Tariff-Change-Usage ] + * [ Service-Identifier ] + [ Rating-Group ] + * [ G-S-U-Pool-Reference ] + [ Validity-Time ] + [ Result-Code ] + [ Final-Unit-Indication ] + * [ AVP ] + + Granted-Service-Unit ::= < AVP Header: 431 > + + [ Tariff-Time-Change ] + [ CC-Time ] + [ CC-Money ] + [ CC-Total-Octets ] + [ CC-Input-Octets ] + [ CC-Output-Octets ] + [ CC-Service-Specific-Units ] + * [ AVP ] + + Requested-Service-Unit ::= < AVP Header: 437 > + + [ CC-Time ] + [ CC-Money ] + [ CC-Total-Octets ] + [ CC-Input-Octets ] + [ CC-Output-Octets ] + [ CC-Service-Specific-Units ] + * [ AVP ] + + Used-Service-Unit ::= < AVP Header: 446 > + + [ Tariff-Change-Usage ] + [ CC-Time ] + [ CC-Money ] + [ CC-Total-Octets ] + [ CC-Input-Octets ] + [ CC-Output-Octets ] + [ CC-Service-Specific-Units ] + * [ AVP ] + + CC-Money ::= < AVP Header: 413 > + + { Unit-Value } + [ Currency-Code ] + + G-S-U-Pool-Reference ::= < AVP Header: 457 > + + { G-S-U-Pool-Identifier } + { CC-Unit-Type } + { Unit-Value } + + Final-Unit-Indication ::= < AVP Header: 430 > + + { Final-Unit-Action } + * [ Restriction-Filter-Rule ] + * [ Filter-Id ] + [ Redirect-Server ] + + Redirect-Server ::= < AVP Header: 434 > + + { Redirect-Address-Type } + { Redirect-Server-Address } + + Service-Parameter-Info ::= < AVP Header: 440 > + + { Service-Parameter-Type } + { Service-Parameter-Value } + + Subscription-Id ::= < AVP Header: 443 > + + { Subscription-Id-Type } + { Subscription-Id-Data } + + User-Equipment-Info ::= < AVP Header: 458 > + + { User-Equipment-Info-Type } + { User-Equipment-Info-Value } + +;; =========================================================================== + +@enum CC-Request-Type + + INITIAL_REQUEST 1 + UPDATE_REQUEST 2 + TERMINATION_REQUEST 3 + EVENT_REQUEST 4 + +@enum CC-Session-Failover + + NOT_SUPPORTED 0 + SUPPORTED 1 + +@enum Check-Balance-Result + + ENOUGH_CREDIT 0 + NO_CREDIT 1 + +@enum Credit-Control + + AUTHORIZATION 0 + RE_AUTHORIZATION 1 + +@enum Credit-Control-Failure-Handling + + TERMINATE 0 + CONTINUE 1 + RETRY_AND_TERMINATE 2 + +@enum Direct-Debiting-Failure-Handling + + TERMINATE_OR_BUFFER 0 + CONTINUE 1 + +@enum Tariff-Change-Usage + + UNIT_BEFORE_TARIFF_CHANGE 0 + UNIT_AFTER_TARIFF_CHANGE 1 + UNIT_INDETERMINATE 2 + +@enum CC-Unit-Type + + TIME 0 + MONEY 1 + TOTAL-OCTETS 2 + INPUT-OCTETS 3 + OUTPUT-OCTETS 4 + SERVICE-SPECIFIC-UNITS 5 + +@enum Final-Unit-Action + + TERMINATE 0 + REDIRECT 1 + RESTRICT_ACCESS 2 + +@enum Redirect-Address-Type + + IPV4 0 + IPV6 1 + URL 2 + SIP_URI 3 + +@enum Multiple-Services-Indicator + + NOT_SUPPORTED 0 + SUPPORTED 1 + +@enum Requested-Action + + DIRECT_DEBITING 0 + REFUND_ACCOUNT 1 + CHECK_BALANCE 2 + PRICE_ENQUIRY 3 + +@enum Subscription-Id-Type + + END_USER_E164 0 + END_USER_IMSI 1 + END_USER_SIP_URI 2 + END_USER_NAI 3 + END_USER_PRIVATE 4 + +@enum User-Equipment-Info-Type + + IMEISV 0 + MAC 1 + EUI64 2 + MODIFIED_EUI64 3 + +;; =========================================================================== + +@define Result-Code + + END_USER_SERVICE_DENIED 4010 + CREDIT_CONTROL_NOT_APPLICABLE 4011 + CREDIT_LIMIT_REACHED 4012 + + USER_UNKNOWN 5030 + RATING_FAILED 5031 diff --git a/lib/diameter/examples/dict/rfc4072_eap.dia b/lib/diameter/examples/dict/rfc4072_eap.dia new file mode 100644 index 0000000000..111516b347 --- /dev/null +++ b/lib/diameter/examples/dict/rfc4072_eap.dia @@ -0,0 +1,150 @@ +;; +;; %CopyrightBegin% +;; +;; Copyright Ericsson AB 2010-2011. All Rights Reserved. +;; +;; The contents of this file are subject to the Erlang Public License, +;; Version 1.1, (the "License"); you may not use this file except in +;; compliance with the License. You should have received a copy of the +;; Erlang Public License along with this software. If not, it can be +;; retrieved online at http://www.erlang.org/. +;; +;; Software distributed under the License is distributed on an "AS IS" +;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +;; the License for the specific language governing rights and limitations +;; under the License. +;; +;; %CopyrightEnd% +;; + +;; +;; RFC 4072, Diameter Extensible Authentication Protocol (EAP) Application +;; +;; Edits: +;; +;; - Move EAP-Payload to not break fixed/required/optional order +;; - Framed-Appletalk-Link -> Framed-AppleTalk-Link +;; - Framed-Appletalk-Network -> Framed-AppleTalk-Network +;; - Framed-Appletalk-Zone -> Framed-AppleTalk-Zone +;; + +@id 5 + +@inherits rfc3588_base +@inherits rfc4005_nas + +;; =========================================================================== + +@avp_types + + EAP-Master-Session-Key 464 OctetString - + EAP-Key-Name 102 OctetString - + EAP-Payload 462 OctetString - + EAP-Reissued-Payload 463 OctetString - + Accounting-EAP-Auth-Method 465 Unsigned64 - + +;; =========================================================================== + +@messages + + DER ::= < Diameter Header: 268, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { Auth-Request-Type } + { EAP-Payload } + [ Destination-Host ] + [ NAS-Identifier ] + [ NAS-IP-Address ] + [ NAS-IPv6-Address ] + [ NAS-Port ] + [ NAS-Port-Id ] + [ NAS-Port-Type ] + [ Origin-State-Id ] + [ Port-Limit ] + [ User-Name ] + [ EAP-Key-Name ] + [ Service-Type ] + [ State ] + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + [ Auth-Session-State ] + [ Callback-Number ] + [ Called-Station-Id ] + [ Calling-Station-Id ] + [ Originating-Line-Info ] + [ Connect-Info ] + * [ Framed-Compression ] + [ Framed-Interface-Id ] + [ Framed-IP-Address ] + * [ Framed-IPv6-Prefix ] + [ Framed-IP-Netmask ] + [ Framed-MTU ] + [ Framed-Protocol ] + * [ Tunneling ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + DEA ::= < Diameter Header: 268, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Request-Type } + { Result-Code } + { Origin-Host } + { Origin-Realm } + [ User-Name ] + [ EAP-Payload ] + [ EAP-Reissued-Payload ] + [ EAP-Master-Session-Key ] + [ EAP-Key-Name ] + [ Multi-Round-Time-Out ] + [ Accounting-EAP-Auth-Method ] + [ Service-Type ] + * [ Class ] + * [ Configuration-Token ] + [ Acct-Interim-Interval ] + [ Error-Message ] + [ Error-Reporting-Host ] + * [ Failed-AVP ] + [ Idle-Timeout ] + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + [ Auth-Session-State ] + [ Re-Auth-Request-Type ] + [ Session-Timeout ] + [ State ] + * [ Reply-Message ] + [ Origin-State-Id ] + * [ Filter-Id ] + [ Port-Limit ] + [ Callback-Id ] + [ Callback-Number ] + [ Framed-AppleTalk-Link ] + * [ Framed-AppleTalk-Network ] + [ Framed-AppleTalk-Zone ] + * [ Framed-Compression ] + [ Framed-Interface-Id ] + [ Framed-IP-Address ] + * [ Framed-IPv6-Prefix ] + [ Framed-IPv6-Pool ] + * [ Framed-IPv6-Route ] + [ Framed-IP-Netmask ] + * [ Framed-Route ] + [ Framed-Pool ] + [ Framed-IPX-Network ] + [ Framed-MTU ] + [ Framed-Protocol ] + [ Framed-Routing ] + * [ NAS-Filter-Rule ] + * [ QoS-Filter-Rule ] + * [ Tunneling ] + * [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ AVP ] diff --git a/lib/diameter/examples/dict/rfc4590_digest.dia b/lib/diameter/examples/dict/rfc4590_digest.dia new file mode 100644 index 0000000000..a4ebe0c456 --- /dev/null +++ b/lib/diameter/examples/dict/rfc4590_digest.dia @@ -0,0 +1,45 @@ +;; +;; %CopyrightBegin% +;; +;; Copyright Ericsson AB 2010-2011. All Rights Reserved. +;; +;; The contents of this file are subject to the Erlang Public License, +;; Version 1.1, (the "License"); you may not use this file except in +;; compliance with the License. You should have received a copy of the +;; Erlang Public License along with this software. If not, it can be +;; retrieved online at http://www.erlang.org/. +;; +;; Software distributed under the License is distributed on an "AS IS" +;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +;; the License for the specific language governing rights and limitations +;; under the License. +;; +;; %CopyrightEnd% +;; + +;; +;; RFC 4590, RADIUS Extension for Digest Authentication +;; + +@avp_types + + Digest-Response 103 OctetString - + Digest-Realm 104 OctetString - + Digest-Nonce 105 OctetString - + Digest-Response-Auth 106 OctetString - + Digest-Nextnonce 107 OctetString - + Digest-Method 108 OctetString - + Digest-URI 109 OctetString - + Digest-Qop 110 OctetString - + Digest-Algorithm 111 OctetString - + Digest-Entity-Body-Hash 112 OctetString - + Digest-CNonce 113 OctetString - + Digest-Nonce-Count 114 OctetString - + Digest-Username 115 OctetString - + Digest-Opaque 116 OctetString - + Digest-Auth-Param 117 OctetString - + Digest-AKA-Auts 118 OctetString - + Digest-Domain 119 OctetString - + Digest-Stale 120 OctetString - + Digest-HA1 121 OctetString - + SIP-AOR 122 OctetString - diff --git a/lib/diameter/examples/dict/rfc4740_sip.dia b/lib/diameter/examples/dict/rfc4740_sip.dia new file mode 100644 index 0000000000..8c21882649 --- /dev/null +++ b/lib/diameter/examples/dict/rfc4740_sip.dia @@ -0,0 +1,446 @@ +;; +;; %CopyrightBegin% +;; +;; Copyright Ericsson AB 2010-2011. All Rights Reserved. +;; +;; The contents of this file are subject to the Erlang Public License, +;; Version 1.1, (the "License"); you may not use this file except in +;; compliance with the License. You should have received a copy of the +;; Erlang Public License along with this software. If not, it can be +;; retrieved online at http://www.erlang.org/. +;; +;; Software distributed under the License is distributed on an "AS IS" +;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +;; the License for the specific language governing rights and limitations +;; under the License. +;; +;; %CopyrightEnd% +;; + +;; +;; RFC 4740, Diameter Session Initiation Protocol (SIP) Application +;; + +@id 6 + +@inherits rfc3588_base +@inherits rfc4590_digest + +;; =========================================================================== + +@avp_types + + SIP-Accounting-Information 368 Grouped M + SIP-Accounting-Server-URI 369 DiameterURI M + SIP-Credit-Control-Server-URI 370 DiameterURI M + SIP-Server-URI 371 UTF8String M + SIP-Server-Capabilities 372 Grouped M + SIP-Mandatory-Capability 373 Unsigned32 M + SIP-Optional-Capability 374 Unsigned32 M + SIP-Server-Assignment-Type 375 Enumerated M + SIP-Auth-Data-Item 376 Grouped M + SIP-Authentication-Scheme 377 Enumerated M + SIP-Item-Number 378 Unsigned32 M + SIP-Authenticate 379 Grouped M + SIP-Authorization 380 Grouped M + SIP-Authentication-Info 381 Grouped M + SIP-Number-Auth-Items 382 Unsigned32 M + SIP-Deregistration-Reason 383 Grouped M + SIP-Reason-Code 384 Enumerated M + SIP-Reason-Info 385 UTF8String M + SIP-Visited-Network-Id 386 UTF8String M + SIP-User-Authorization-Type 387 Enumerated M + SIP-Supported-User-Data-Type 388 UTF8String M + SIP-User-Data 389 Grouped M + SIP-User-Data-Type 390 UTF8String M + SIP-User-Data-Contents 391 OctetString M + SIP-User-Data-Already-Available 392 Enumerated M + SIP-Method 393 UTF8String M + +;; =========================================================================== + +@messages + + ;; 8.1. User-Authorization-Request + + UAR ::= < Diameter Header: 283, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { SIP-AOR } + [ Destination-Host ] + [ User-Name ] + [ SIP-Visited-Network-Id ] + [ SIP-User-Authorization-Type ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.2. User-Authorization-Answer + + UAA ::= < Diameter Header: 283, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Session-State } + { Result-Code } + { Origin-Host } + { Origin-Realm } + [ SIP-Server-URI ] + [ SIP-Server-Capabilities ] + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.3. Server-Assignment-Request + + SAR ::= < Diameter Header: 284, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { SIP-Server-Assignment-Type } + { SIP-User-Data-Already-Available } + [ Destination-Host ] + [ User-Name ] + [ SIP-Server-URI ] + * [ SIP-Supported-User-Data-Type ] + * [ SIP-AOR ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.4. Server-Assignment-Answer + + SAA ::= < Diameter Header: 284, PXY > + + < Session-Id > + { Auth-Application-Id } + { Result-Code } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + * [ SIP-User-Data ] + [ SIP-Accounting-Information ] + * [ SIP-Supported-User-Data-Type ] + [ User-Name ] + [ Auth-Grace-Period ] + [ Authorization-Lifetime ] + [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.5. Location-Info-Request + + LIR ::= < Diameter Header: 285, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { SIP-AOR } + [ Destination-Host ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.6. Location-Info-Answer + + LIA ::= < Diameter Header: 285, PXY > + + < Session-Id > + { Auth-Application-Id } + { Result-Code } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + [ SIP-Server-URI ] + [ SIP-Server-Capabilities ] + [ Auth-Grace-Period ] + [ Authorization-Lifetime ] + [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.7. Multimedia-Auth-Request + + MAR ::= < Diameter Header: 286, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { SIP-AOR } + { SIP-Method } + [ Destination-Host ] + [ User-Name ] + [ SIP-Server-URI ] + [ SIP-Number-Auth-Items ] + [ SIP-Auth-Data-Item ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.8. Multimedia-Auth-Answer + + MAA ::= < Diameter Header: 286, PXY > + + < Session-Id > + { Auth-Application-Id } + { Result-Code } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + [ User-Name ] + [ SIP-AOR ] + [ SIP-Number-Auth-Items ] + * [ SIP-Auth-Data-Item ] + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.9. Registration-Termination-Request + + RTR ::= < Diameter Header: 287, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + { Destination-Host } + { SIP-Deregistration-Reason } + [ Destination-Realm ] + [ User-Name ] + * [ SIP-AOR ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.10. Registration-Termination-Answer + + RTA ::= < Diameter Header: 287, PXY > + + < Session-Id > + { Auth-Application-Id } + { Result-Code } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.11. Push-Profile-Request + + PPR ::= < Diameter Header: 288, REQ, PXY > + + < Session-Id > + { Auth-Application-Id } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + { Destination-Realm } + { User-Name } + * [ SIP-User-Data ] + [ SIP-Accounting-Information ] + [ Destination-Host ] + [ Authorization-Lifetime ] + [ Auth-Grace-Period ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + + ;; 8.12. Push-Profile-Answer + + PPA ::= < Diameter Header: 288, PXY > + + < Session-Id > + { Auth-Application-Id } + { Result-Code } + { Auth-Session-State } + { Origin-Host } + { Origin-Realm } + [ Redirect-Host ] + [ Redirect-Host-Usage ] + [ Redirect-Max-Cache-Time ] + * [ Proxy-Info ] + * [ Route-Record ] + * [ AVP ] + +;; =========================================================================== + +@grouped + + SIP-Accounting-Information ::= < AVP Header: 368 > + + * [ SIP-Accounting-Server-URI ] + * [ SIP-Credit-Control-Server-URI ] + * [ AVP] + + SIP-Server-Capabilities ::= < AVP Header: 372 > + + * [ SIP-Mandatory-Capability ] + * [ SIP-Optional-Capability ] + * [ SIP-Server-URI ] + * [ AVP ] + + SIP-Auth-Data-Item ::= < AVP Header: 376 > + + { SIP-Authentication-Scheme } + [ SIP-Item-Number ] + [ SIP-Authenticate ] + [ SIP-Authorization ] + [ SIP-Authentication-Info ] + * [ AVP ] + + SIP-Authenticate ::= < AVP Header: 379 > + + { Digest-Realm } + { Digest-Nonce } + [ Digest-Domain ] + [ Digest-Opaque ] + [ Digest-Stale ] + [ Digest-Algorithm ] + [ Digest-Qop ] + [ Digest-HA1] + * [ Digest-Auth-Param ] + * [ AVP ] + + SIP-Authorization ::= < AVP Header: 380 > + + { Digest-Username } + { Digest-Realm } + { Digest-Nonce } + { Digest-URI } + { Digest-Response } + [ Digest-Algorithm ] + [ Digest-CNonce ] + [ Digest-Opaque ] + [ Digest-Qop ] + [ Digest-Nonce-Count ] + [ Digest-Method] + [ Digest-Entity-Body-Hash ] + * [ Digest-Auth-Param ] + * [ AVP ] + + SIP-Authentication-Info ::= < AVP Header: 381 > + + [ Digest-Nextnonce ] + [ Digest-Qop ] + [ Digest-Response-Auth ] + [ Digest-CNonce ] + [ Digest-Nonce-Count ] + * [ AVP ] + + SIP-Deregistration-Reason ::= < AVP Header: 383 > + + { SIP-Reason-Code } + [ SIP-Reason-Info ] + * [ AVP ] + + SIP-User-Data ::= < AVP Header: 389 > + + { SIP-User-Data-Type } + { SIP-User-Data-Contents } + * [ AVP ] + +;; =========================================================================== + +@enum SIP-Server-Assignment-Type + + NO_ASSIGNMENT 0 + REGISTRATION 1 + RE_REGISTRATION 2 + UNREGISTERED_USER 3 + TIMEOUT_DEREGISTRATION 4 + USER_DEREGISTRATION 5 + TIMEOUT_DEREGISTRATION_STORE 6 + USER_DEREGISTRATION_STORE 7 + ADMINISTRATIVE_DEREGISTRATION 8 + AUTHENTICATION_FAILURE 9 + AUTHENTICATION_TIMEOUT 10 + DEREGISTRATION_TOO_MUCH_DATA 11 + +@enum SIP-Authentication-Scheme + + DIGEST 0 + +@enum SIP-Reason-Code + + PERMANENT_TERMINATION 0 + NEW_SIP_SERVER_ASSIGNED 1 + SIP_SERVER_CHANGE 2 + REMOVE_SIP_SERVER 3 + +@enum SIP-User-Authorization-Type + + REGISTRATION 0 + DEREGISTRATION 1 + REGISTRATION_AND_CAPABILITIES 2 + +@enum SIP-User-Data-Already-Available + + USER_DATA_NOT_AVAILABLE 0 + USER_DATA_ALREADY_AVAILABLE 1 + +;; =========================================================================== + +@define Result-Code + + ;; Success + + FIRST_REGISTRATION 2003 + SUBSEQUENT_REGISTRATION 2004 + UNREGISTERED_SERVICE 2005 + SUCCESS_SERVER_NAME_NOT_STORED 2006 + SERVER_SELECTION 2007 + SUCCESS_AUTH_SENT_SERVER_NOT_STORED 2008 + + ;; Transient Failures + + USER_NAME_REQUIRED 4013 + + ;; Permanent Failures + + USER_UNKNOWN 5032 + IDENTITIES_DONT_MATCH 5033 + IDENTITY_NOT_REGISTERED 5034 + ROAMING_NOT_ALLOWED 5035 + IDENTITY_ALREADY_REGISTERED 5036 + AUTH_SCHEME_NOT_SUPPORTED 5037 + IN_ASSIGNMENT_TYPE 5038 + TOO_MUCH_DATA 5039 + NOT_SUPPORTED_USER_DATA 5040 diff --git a/lib/diameter/test/diameter_compiler_SUITE.erl b/lib/diameter/test/diameter_compiler_SUITE.erl index f12fba3654..3b4c9706e0 100644 --- a/lib/diameter/test/diameter_compiler_SUITE.erl +++ b/lib/diameter/test/diameter_compiler_SUITE.erl @@ -32,7 +32,7 @@ -export([format/1, format/2, replace/1, replace/2, generate/1, generate/4, generate/0, - standards/1, standards/0]). + examples/1, examples/0]). -export([dict/0]). %% fake dictionary module @@ -328,13 +328,13 @@ "@codecs mymod " "Origin-Host Origin-Realm\n&"}]}]). -%% Standard dictionaries. --define(STANDARDS, [rfc4004_mip, - rfc4005_nas, - rfc4006_cc, - rfc4072_eap, - rfc4590_digest, - rfc4740_sip]). +%% Standard dictionaries in examples/dict. +-define(EXAMPLES, [rfc4004_mip, + rfc4005_nas, + rfc4006_cc, + rfc4072_eap, + rfc4590_digest, + rfc4740_sip]). %% =========================================================================== @@ -345,7 +345,7 @@ all() -> [format, replace, generate, - standards]. + examples]. %% Error handling testcases will make an erroneous dictionary out of %% the base dictionary and check that the expected error results. @@ -432,18 +432,18 @@ generate(Mods, Bin, N, Mode) -> andalso ({ok, _} = compile:file(File ++ ".erl", [return_errors])). %% =========================================================================== -%% standards/1 +%% examples/1 %% %% Compile dictionaries extracted from various standards. -standards() -> - [{timetrap, {seconds, 3*length(?STANDARDS)}}]. +examples() -> + [{timetrap, {seconds, 3*length(?EXAMPLES)}}]. -standards(Config) -> - Data = proplists:get_value(data_dir, Config), - [D || D <- ?STANDARDS, _ <- [standards(?S(D), Data)]]. +examples(_Config) -> + Dir = filename:join([code:lib_dir(diameter, examples), "dict"]), + [D || D <- ?EXAMPLES, _ <- [examples(?S(D), Dir)]]. -standards(Dict, Dir) -> +examples(Dict, Dir) -> {Name, Pre} = make_name(Dict), ok = diameter_make:codec(filename:join([Dir, Dict ++ ".dia"]), [{name, Name}, diff --git a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4004_mip.dia b/lib/diameter/test/diameter_compiler_SUITE_data/rfc4004_mip.dia deleted file mode 100644 index 575ad4394a..0000000000 --- a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4004_mip.dia +++ /dev/null @@ -1,280 +0,0 @@ -;; -;; %CopyrightBegin% -;; -;; Copyright Ericsson AB 2010-2011. All Rights Reserved. -;; -;; The contents of this file are subject to the Erlang Public License, -;; Version 1.1, (the "License"); you may not use this file except in -;; compliance with the License. You should have received a copy of the -;; Erlang Public License along with this software. If not, it can be -;; retrieved online at http://www.erlang.org/. -;; -;; Software distributed under the License is distributed on an "AS IS" -;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -;; the License for the specific language governing rights and limitations -;; under the License. -;; -;; %CopyrightEnd% -;; - -;; -;; RFC 4004, Diameter Mobile IPv4 Application -;; -;; Edits: -;; -;; - MIP-nonce -> MIP-Nonce -;; - Session-ID -> Session-Id -;; - Omit MIP-HA-to-MN-SPI, MIP-MN-FA-SPI and MIP-MN-HA-SPI, none of -;; which are defined. -;; - -@id 2 - -@inherits rfc3588_base - -;; =========================================================================== - -@avp_types - - MIP-Reg-Request 320 OctetString M - MIP-Reg-Reply 321 OctetString M - MIP-MN-AAA-Auth 322 Grouped M - MIP-Mobile-Node-Address 333 Address M - MIP-Home-Agent-Address 334 Address M - MIP-Candidate-Home-Agent-Host 336 DiamIdent M - MIP-Feature-Vector 337 Unsigned32 M - MIP-Auth-Input-Data-Length 338 Unsigned32 M - MIP-Authenticator-Length 339 Unsigned32 M - MIP-Authenticator-Offset 340 Unsigned32 M - MIP-MN-AAA-SPI 341 Unsigned32 M - MIP-Filter-Rule 342 IPFilterRule M - MIP-FA-Challenge 344 OctetString M - MIP-Originating-Foreign-AAA 347 Grouped M - MIP-Home-Agent-Host 348 Grouped M - - MIP-FA-to-HA-SPI 318 Unsigned32 M - MIP-FA-to-MN-SPI 319 Unsigned32 M - MIP-HA-to-FA-SPI 323 Unsigned32 M - MIP-MN-to-FA-MSA 325 Grouped M - MIP-FA-to-MN-MSA 326 Grouped M - MIP-FA-to-HA-MSA 328 Grouped M - MIP-HA-to-FA-MSA 329 Grouped M - MIP-MN-to-HA-MSA 331 Grouped M - MIP-HA-to-MN-MSA 332 Grouped M - MIP-Nonce 335 OctetString M - MIP-Session-Key 343 OctetString M - MIP-Algorithm-Type 345 Enumerated M - MIP-Replay-Mode 346 Enumerated M - MIP-MSA-Lifetime 367 Unsigned32 M - -;; =========================================================================== - -@messages - - ;; 5.1. AA-Mobile-Node-Request - - AMR ::= < Diameter Header: 260, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { User-Name } - { Destination-Realm } - { Origin-Host } - { Origin-Realm } - { MIP-Reg-Request } - { MIP-MN-AAA-Auth } - [ Acct-Multi-Session-Id ] - [ Destination-Host ] - [ Origin-State-Id ] - [ MIP-Mobile-Node-Address ] - [ MIP-Home-Agent-Address ] - [ MIP-Feature-Vector ] - [ MIP-Originating-Foreign-AAA ] - [ Authorization-Lifetime ] - [ Auth-Session-State ] - [ MIP-FA-Challenge ] - [ MIP-Candidate-Home-Agent-Host ] - [ MIP-Home-Agent-Host ] - [ MIP-HA-to-FA-SPI ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 5.2. AA-Mobile-Node-Answer - - AMA ::= < Diameter Header: 260, PXY > - - < Session-Id > - { Auth-Application-Id } - { Result-Code } - { Origin-Host } - { Origin-Realm } - [ Acct-Multi-Session-Id ] - [ User-Name ] - [ Authorization-Lifetime ] - [ Auth-Session-State ] - [ Error-Message ] - [ Error-Reporting-Host ] - [ Re-Auth-Request-Type ] - [ MIP-Feature-Vector ] - [ MIP-Reg-Reply ] - [ MIP-MN-to-FA-MSA ] - [ MIP-MN-to-HA-MSA ] - [ MIP-FA-to-MN-MSA ] - [ MIP-FA-to-HA-MSA ] - [ MIP-HA-to-MN-MSA ] - [ MIP-MSA-Lifetime ] - [ MIP-Home-Agent-Address ] - [ MIP-Mobile-Node-Address ] - * [ MIP-Filter-Rule ] - [ Origin-State-Id ] - * [ Proxy-Info ] - * [ AVP ] - - ;; 5.3. Home-Agent-MIP-Request - - HAR ::= < Diameter Header: 262, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Authorization-Lifetime } - { Auth-Session-State } - { MIP-Reg-Request } - { Origin-Host } - { Origin-Realm } - { User-Name } - { Destination-Realm } - { MIP-Feature-Vector } - [ Destination-Host ] - [ MIP-MN-to-HA-MSA ] - [ MIP-MN-to-FA-MSA ] - [ MIP-HA-to-MN-MSA ] - [ MIP-HA-to-FA-MSA ] - [ MIP-MSA-Lifetime ] - [ MIP-Originating-Foreign-AAA ] - [ MIP-Mobile-Node-Address ] - [ MIP-Home-Agent-Address ] - * [ MIP-Filter-Rule ] - [ Origin-State-Id ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 5.4. Home-Agent-MIP-Answer - - HAA ::= < Diameter Header: 262, PXY > - - < Session-Id > - { Auth-Application-Id } - { Result-Code } - { Origin-Host } - { Origin-Realm } - [ Acct-Multi-Session-Id ] - [ User-Name ] - [ Error-Reporting-Host ] - [ Error-Message ] - [ MIP-Reg-Reply ] - [ MIP-Home-Agent-Address ] - [ MIP-Mobile-Node-Address ] - [ MIP-FA-to-HA-SPI ] - [ MIP-FA-to-MN-SPI ] - [ Origin-State-Id ] - * [ Proxy-Info ] - * [ AVP ] - -;; =========================================================================== - -@grouped - - MIP-MN-AAA-Auth ::= < AVP Header: 322 > - - { MIP-MN-AAA-SPI } - { MIP-Auth-Input-Data-Length } - { MIP-Authenticator-Length } - { MIP-Authenticator-Offset } - * [ AVP ] - - - MIP-Originating-Foreign-AAA ::= < AVP Header: 347 > - - { Origin-Realm } - { Origin-Host } - * [ AVP ] - - MIP-Home-Agent-Host ::= < AVP Header: 348 > - - { Destination-Realm } - { Destination-Host } - * [ AVP ] - - MIP-FA-to-MN-MSA ::= < AVP Header: 326 > - - { MIP-FA-to-MN-SPI } - { MIP-Algorithm-Type } - { MIP-Session-Key } - * [ AVP ] - - MIP-FA-to-HA-MSA ::= < AVP Header: 328 > - - { MIP-FA-to-HA-SPI } - { MIP-Algorithm-Type } - { MIP-Session-Key } - * [ AVP ] - - MIP-HA-to-FA-MSA ::= < AVP Header: 329 > - - { MIP-HA-to-FA-SPI } - { MIP-Algorithm-Type } - { MIP-Session-Key } - * [ AVP ] - - MIP-HA-to-MN-MSA ::= < AVP Header: 332 > - - ; { MIP-HA-to-MN-SPI } - { MIP-Algorithm-Type } - { MIP-Replay-Mode } - { MIP-Session-Key } - * [ AVP ] - - MIP-MN-to-FA-MSA ::= < AVP Header: 325 > - - ; { MIP-MN-FA-SPI } - { MIP-Algorithm-Type } - { MIP-Nonce } - * [ AVP ] - - MIP-MN-to-HA-MSA ::= < AVP Header: 331 > - - ; { MIP-MN-HA-SPI } - { MIP-Algorithm-Type } - { MIP-Replay-Mode } - { MIP-Nonce } - * [ AVP ] - -;; =========================================================================== - -@enum MIP-Algorithm-Type - - HMAC-SHA-1 2 - -@enum MIP-Replay-Mode - - NONE 1 - TIMESTAMPS 2 - NONCES 3 - -;; =========================================================================== - -@define Result-Code - - ;; 6.1. Transient Failures - - MIP_REPLY_FAILURE 4005 - HA_NOT_AVAILABLE 4006 - BAD_KEY 4007 - MIP_FILTER_NOT_SUPPORTED 4008 - - ;; 6.2. Permanent Failures - - NO_FOREIGN_HA_SERVICE 5024 - END_TO_END_MIP_KEY_ENCRYPTION 5025 diff --git a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4005_nas.dia b/lib/diameter/test/diameter_compiler_SUITE_data/rfc4005_nas.dia deleted file mode 100644 index a4b44e38bb..0000000000 --- a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4005_nas.dia +++ /dev/null @@ -1,740 +0,0 @@ -;; -;; %CopyrightBegin% -;; -;; Copyright Ericsson AB 2010-2011. All Rights Reserved. -;; -;; The contents of this file are subject to the Erlang Public License, -;; Version 1.1, (the "License"); you may not use this file except in -;; compliance with the License. You should have received a copy of the -;; Erlang Public License along with this software. If not, it can be -;; retrieved online at http://www.erlang.org/. -;; -;; Software distributed under the License is distributed on an "AS IS" -;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -;; the License for the specific language governing rights and limitations -;; under the License. -;; -;; %CopyrightEnd% -;; - -;; -;; RFC 4005, Diameter Network Access Server Application -;; -;; Edits: -;; -;; - Acounting-Auth-Method -> Accounting-Auth-Method -;; - Connection-Info -> ConnectInfo -;; - Framed-Appletalk-Link -> Framed-AppleTalk-Link -;; - Framed-Appletalk-Network -> Framed-AppleTalk-Network -;; - Framed-Appletalk-Zone -> Framed-AppleTalk-Zone -;; - Qos-Filter-Rule -> QoS-Filter-Rule -;; - Redirect-Host-Usase -> Redirect-Host-Usage -;; - Redirected-Host -> Redirect-Host -;; - Redirected-Host-Usage -> Redirect-Host-Usage -;; - Redirected-Host-Cache-Time -> Redirect-Max-Cache-Time -;; - Redirected-Max-Cache-Time -> Redirect-Max-Cache-Time -;; - -@id 1 - -@inherits rfc3588_base - -;; =========================================================================== - -@avp_types - - ;; 4. NAS Session AVPs - - NAS-Port 5 Unsigned32 M - NAS-Port-Id 87 UTF8String M - NAS-Port-Type 61 Enumerated M - Called-Station-Id 30 UTF8String M - Calling-Station-Id 31 UTF8String M - Connect-Info 77 UTF8String M - Originating-Line-Info 94 OctetString - - Reply-Message 18 UTF8String M - - ;; 5. NAS Authentication AVPs - - User-Password 2 OctetString M - Password-Retry 75 Unsigned32 M - Prompt 76 Enumerated M - CHAP-Auth 402 Grouped M - CHAP-Algorithm 403 Enumerated M - CHAP-Ident 404 OctetString M - CHAP-Response 405 OctetString M - CHAP-Challenge 60 OctetString M - ARAP-Password 70 OctetString M - ARAP-Challenge-Response 84 OctetString M - ARAP-Security 73 Unsigned32 M - ARAP-Security-Data 74 OctetString M - - ;; 6. NAS Authorization AVPs - - Service-Type 6 Enumerated M - Callback-Number 19 UTF8String M - Callback-Id 20 UTF8String M - Idle-Timeout 28 Unsigned32 M - Port-Limit 62 Unsigned32 M - NAS-Filter-Rule 400 IPFilterRule M - Filter-Id 11 UTF8String M - Configuration-Token 78 OctetString M - QoS-Filter-Rule 407 QoSFilterRule - - Framed-Protocol 7 Enumerated M - Framed-Routing 10 Enumerated M - Framed-MTU 12 Unsigned32 M - Framed-Compression 13 Enumerated M - Framed-IP-Address 8 OctetString M - Framed-IP-Netmask 9 OctetString M - Framed-Route 22 UTF8String M - Framed-Pool 88 OctetString M - Framed-Interface-Id 96 Unsigned64 M - Framed-IPv6-Prefix 97 OctetString M - Framed-IPv6-Route 99 UTF8String M - Framed-IPv6-Pool 100 OctetString M - Framed-IPX-Network 23 UTF8String M - Framed-AppleTalk-Link 37 Unsigned32 M - Framed-AppleTalk-Network 38 Unsigned32 M - Framed-AppleTalk-Zone 39 OctetString M - ARAP-Features 71 OctetString M - ARAP-Zone-Access 72 Enumerated M - Login-IP-Host 14 OctetString M - Login-IPv6-Host 98 OctetString M - Login-Service 15 Enumerated M - Login-TCP-Port 16 Unsigned32 M - Login-LAT-Service 34 OctetString M - Login-LAT-Node 35 OctetString M - Login-LAT-Group 36 OctetString M - Login-LAT-Port 63 OctetString M - - ;; 7. NAS Tunneling - - Tunneling 401 Grouped M - Tunnel-Type 64 Enumerated M - Tunnel-Medium-Type 65 Enumerated M - Tunnel-Client-Endpoint 66 UTF8String M - Tunnel-Server-Endpoint 67 UTF8String M - Tunnel-Password 69 OctetString M - Tunnel-Private-Group-Id 81 OctetString M - Tunnel-Assignment-Id 82 OctetString M - Tunnel-Preference 83 Unsigned32 M - Tunnel-Client-Auth-Id 90 UTF8String M - Tunnel-Server-Auth-Id 91 UTF8String M - - ;; 8. NAS Accounting - - Accounting-Input-Octets 363 Unsigned64 M - Accounting-Output-Octets 364 Unsigned64 M - Accounting-Input-Packets 365 Unsigned64 M - Accounting-Output-Packets 366 Unsigned64 M - Acct-Session-Time 46 Unsigned32 M - Acct-Authentic 45 Enumerated M - Accounting-Auth-Method 406 Enumerated M - Acct-Delay-Time 41 Unsigned32 M - Acct-Link-Count 51 Unsigned32 M - Acct-Tunnel-Connection 68 OctetString M - Acct-Tunnel-Packets-Lost 86 Unsigned32 M - - ;; 9.3. AVPs Used Only for Compatibility - - NAS-Identifier 32 UTF8String M - NAS-IP-Address 4 OctetString M - NAS-IPv6-Address 95 OctetString M - State 24 OctetString M - ;;Termination-Cause 295 Enumerated M - Origin-AAA-Protocol 408 Enumerated M - -;; =========================================================================== - -@messages - - AAR ::= < Diameter Header: 265, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { Auth-Request-Type } - [ Destination-Host ] - [ NAS-Identifier ] - [ NAS-IP-Address ] - [ NAS-IPv6-Address ] - [ NAS-Port ] - [ NAS-Port-Id ] - [ NAS-Port-Type ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - [ Port-Limit ] - [ User-Name ] - [ User-Password ] - [ Service-Type ] - [ State ] - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - [ Auth-Session-State ] - [ Callback-Number ] - [ Called-Station-Id ] - [ Calling-Station-Id ] - [ Originating-Line-Info ] - [ Connect-Info ] - [ CHAP-Auth ] - [ CHAP-Challenge ] - * [ Framed-Compression ] - [ Framed-Interface-Id ] - [ Framed-IP-Address ] - * [ Framed-IPv6-Prefix ] - [ Framed-IP-Netmask ] - [ Framed-MTU ] - [ Framed-Protocol ] - [ ARAP-Password ] - [ ARAP-Security ] - * [ ARAP-Security-Data ] - * [ Login-IP-Host ] - * [ Login-IPv6-Host ] - [ Login-LAT-Group ] - [ Login-LAT-Node ] - [ Login-LAT-Port ] - [ Login-LAT-Service ] - * [ Tunneling ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - AAA ::= < Diameter Header: 265, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Request-Type } - { Result-Code } - { Origin-Host } - { Origin-Realm } - [ User-Name ] - [ Service-Type ] - * [ Class ] - * [ Configuration-Token ] - [ Acct-Interim-Interval ] - [ Error-Message ] - [ Error-Reporting-Host ] - * [ Failed-AVP ] - [ Idle-Timeout ] - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - [ Auth-Session-State ] - [ Re-Auth-Request-Type ] - [ Multi-Round-Time-Out ] - [ Session-Timeout ] - [ State ] - * [ Reply-Message ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - * [ Filter-Id ] - [ Password-Retry ] - [ Port-Limit ] - [ Prompt ] - [ ARAP-Challenge-Response ] - [ ARAP-Features ] - [ ARAP-Security ] - * [ ARAP-Security-Data ] - [ ARAP-Zone-Access ] - [ Callback-Id ] - [ Callback-Number ] - [ Framed-AppleTalk-Link ] - * [ Framed-AppleTalk-Network ] - [ Framed-AppleTalk-Zone ] - * [ Framed-Compression ] - [ Framed-Interface-Id ] - [ Framed-IP-Address ] - * [ Framed-IPv6-Prefix ] - [ Framed-IPv6-Pool ] - * [ Framed-IPv6-Route ] - [ Framed-IP-Netmask ] - * [ Framed-Route ] - [ Framed-Pool ] - [ Framed-IPX-Network ] - [ Framed-MTU ] - [ Framed-Protocol ] - [ Framed-Routing ] - * [ Login-IP-Host ] - * [ Login-IPv6-Host ] - [ Login-LAT-Group ] - [ Login-LAT-Node ] - [ Login-LAT-Port ] - [ Login-LAT-Service ] - [ Login-Service ] - [ Login-TCP-Port ] - * [ NAS-Filter-Rule ] - * [ QoS-Filter-Rule ] - * [ Tunneling ] - * [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ AVP ] - - RAR ::= < Diameter Header: 258, REQ, PXY > - - < Session-Id > - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { Destination-Host } - { Auth-Application-Id } - { Re-Auth-Request-Type } - [ User-Name ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - [ NAS-Identifier ] - [ NAS-IP-Address ] - [ NAS-IPv6-Address ] - [ NAS-Port ] - [ NAS-Port-Id ] - [ NAS-Port-Type ] - [ Service-Type ] - [ Framed-IP-Address ] - [ Framed-IPv6-Prefix ] - [ Framed-Interface-Id ] - [ Called-Station-Id ] - [ Calling-Station-Id ] - [ Originating-Line-Info ] - [ Acct-Session-Id ] - [ Acct-Multi-Session-Id ] - [ State ] - * [ Class ] - [ Reply-Message ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - RAA ::= < Diameter Header: 258, PXY > - - < Session-Id > - { Result-Code } - { Origin-Host } - { Origin-Realm } - [ User-Name ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - [ Error-Message ] - [ Error-Reporting-Host ] - * [ Failed-AVP ] - * [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - [ Service-Type ] - * [ Configuration-Token ] - [ Idle-Timeout ] - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - [ Re-Auth-Request-Type ] - [ State ] - * [ Class ] - * [ Reply-Message ] - [ Prompt ] - * [ Proxy-Info ] - * [ AVP ] - - STR ::= < Diameter Header: 275, REQ, PXY > - - < Session-Id > - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { Auth-Application-Id } - { Termination-Cause } - [ User-Name ] - [ Destination-Host ] - * [ Class ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - STA ::= < Diameter Header: 275, PXY > - - < Session-Id > - { Result-Code } - { Origin-Host } - { Origin-Realm } - [ User-Name ] - * [ Class ] - [ Error-Message ] - [ Error-Reporting-Host ] - * [ Failed-AVP ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - * [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ AVP ] - - ASR ::= < Diameter Header: 274, REQ, PXY > - - < Session-Id > - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { Destination-Host } - { Auth-Application-Id } - [ User-Name ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - [ NAS-Identifier ] - [ NAS-IP-Address ] - [ NAS-IPv6-Address ] - [ NAS-Port ] - [ NAS-Port-Id ] - [ NAS-Port-Type ] - [ Service-Type ] - [ Framed-IP-Address ] - [ Framed-IPv6-Prefix ] - [ Framed-Interface-Id ] - [ Called-Station-Id ] - [ Calling-Station-Id ] - [ Originating-Line-Info ] - [ Acct-Session-Id ] - [ Acct-Multi-Session-Id ] - [ State ] - * [ Class ] - * [ Reply-Message ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ASA ::= < Diameter Header: 274, PXY > - - < Session-Id > - { Result-Code } - { Origin-Host } - { Origin-Realm } - [ User-Name ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - [ State] - [ Error-Message ] - [ Error-Reporting-Host ] - * [ Failed-AVP ] - * [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ AVP ] - - ACR ::= < Diameter Header: 271, REQ, PXY > - - < Session-Id > - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { Accounting-Record-Type } - { Accounting-Record-Number } - [ Acct-Application-Id ] - [ Vendor-Specific-Application-Id ] - [ User-Name ] - [ Accounting-Sub-Session-Id ] - [ Acct-Session-Id ] - [ Acct-Multi-Session-Id ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - [ Destination-Host ] - [ Event-Timestamp ] - [ Acct-Delay-Time ] - [ NAS-Identifier ] - [ NAS-IP-Address ] - [ NAS-IPv6-Address ] - [ NAS-Port ] - [ NAS-Port-Id ] - [ NAS-Port-Type ] - * [ Class ] - [ Service-Type ] - [ Termination-Cause ] - [ Accounting-Input-Octets ] - [ Accounting-Input-Packets ] - [ Accounting-Output-Octets ] - [ Accounting-Output-Packets ] - [ Acct-Authentic ] - [ Accounting-Auth-Method ] - [ Acct-Link-Count ] - [ Acct-Session-Time ] - [ Acct-Tunnel-Connection ] - [ Acct-Tunnel-Packets-Lost ] - [ Callback-Id ] - [ Callback-Number ] - [ Called-Station-Id ] - [ Calling-Station-Id ] - * [ Connect-Info ] - [ Originating-Line-Info ] - [ Authorization-Lifetime ] - [ Session-Timeout ] - [ Idle-Timeout ] - [ Port-Limit ] - [ Accounting-Realtime-Required ] - [ Acct-Interim-Interval ] - * [ Filter-Id ] - * [ NAS-Filter-Rule ] - * [ QoS-Filter-Rule ] - [ Framed-AppleTalk-Link ] - [ Framed-AppleTalk-Network ] - [ Framed-AppleTalk-Zone ] - [ Framed-Compression ] - [ Framed-Interface-Id ] - [ Framed-IP-Address ] - [ Framed-IP-Netmask ] - * [ Framed-IPv6-Prefix ] - [ Framed-IPv6-Pool ] - * [ Framed-IPv6-Route ] - [ Framed-IPX-Network ] - [ Framed-MTU ] - [ Framed-Pool ] - [ Framed-Protocol ] - * [ Framed-Route ] - [ Framed-Routing ] - * [ Login-IP-Host ] - * [ Login-IPv6-Host ] - [ Login-LAT-Group ] - [ Login-LAT-Node ] - [ Login-LAT-Port ] - [ Login-LAT-Service ] - [ Login-Service ] - [ Login-TCP-Port ] - * [ Tunneling ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ACA ::= < Diameter Header: 271, PXY > - - < Session-Id > - { Result-Code } - { Origin-Host } - { Origin-Realm } - { Accounting-Record-Type } - { Accounting-Record-Number } - [ Acct-Application-Id ] - [ Vendor-Specific-Application-Id ] - [ User-Name ] - [ Accounting-Sub-Session-Id ] - [ Acct-Session-Id ] - [ Acct-Multi-Session-Id ] - [ Event-Timestamp ] - [ Error-Message ] - [ Error-Reporting-Host ] - * [ Failed-AVP ] - [ Origin-AAA-Protocol ] - [ Origin-State-Id ] - [ NAS-Identifier ] - [ NAS-IP-Address ] - [ NAS-IPv6-Address ] - [ NAS-Port ] - [ NAS-Port-Id ] - [ NAS-Port-Type ] - [ Service-Type ] - [ Termination-Cause ] - [ Accounting-Realtime-Required ] - [ Acct-Interim-Interval ] - * [ Class ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - -;; =========================================================================== - -@grouped - - CHAP-Auth ::= < AVP Header: 402 > - - { CHAP-Algorithm } - { CHAP-Ident } - [ CHAP-Response ] - * [ AVP ] - - Tunneling ::= < AVP Header: 401 > - - { Tunnel-Type } - { Tunnel-Medium-Type } - { Tunnel-Client-Endpoint } - { Tunnel-Server-Endpoint } - [ Tunnel-Preference ] - [ Tunnel-Client-Auth-Id ] - [ Tunnel-Server-Auth-Id ] - [ Tunnel-Assignment-Id ] - [ Tunnel-Password ] - [ Tunnel-Private-Group-Id ] - -;; =========================================================================== - -@enum NAS-Port-Type - - ASYNC 0 - SYNC 1 - ISDN_SYNC 2 - ISDN_ASYNC_V120 3 - ISDN_ASYNC_V110 4 - VIRTUAL 5 - PIAFS 6 - HDLC_CLEAR_CHANNEL 7 - X25 8 - X75 9 - G3FAX 10 - SDSL 11 - ADSL-CAP 12 - ADSL-DMT 13 - IDSL 14 - ETHERNET 15 - XDSL 16 - CABLE 17 - WIRELESS_OTHER 18 - 'WIRELESS_802.11' 19 - TOKEN-RING 20 - FDDI 21 - WIRELESS_CDMA2000 22 - WIRELESS_UMTS 23 - WIRELESS_1X-EV 24 - IAPP 25 - -@enum Prompt - - NO_ECHO 0 - ECHO 1 - -@enum CHAP-Algorithm - - WITH_MD5 5 - -@enum Service-Type - - LOGIN 1 - FRAMED 2 - CALLBACK_LOGIN 3 - CALLBACK_FRAMED 4 - OUTBOUND 5 - ADMINISTRATIVE 6 - NAS_PROMPT 7 - AUTHENTICATE_ONLY 8 - CALLBACK_NAS_PROMPT 9 - CALL_CHECK 10 - CALLBACK_ADMINISTRATIVE 11 - VOICE 12 - FAX 13 - MODEM_RELAY 14 - IAPP-REGISTER 15 - IAPP-AP-CHECK 16 - AUTHORIZE_ONLY 17 - -@enum Framed-Protocol - - PPP 1 - SLIP 2 - ARAP 3 - GANDALF 4 - XYLOGICS 5 - X75 6 - -@enum Framed-Routing - - NONE 0 - SEND 1 - LISTEN 2 - SEND_AND_LISTEN 3 - -@enum Framed-Compression - - NONE 0 - VJ 1 - IPX 2 - STAC-LZS 3 - -@enum ARAP-Zone-Access - - DEFAULT 1 - FILTER_INCLUSIVELY 2 - FILTER_EXCLUSIVELY 4 - -@enum Login-Service - - TELNET 0 - RLOGIN 1 - TCP_CLEAR 2 - PORTMASTER 3 - LAT 4 - X25-PAD 5 - X25-T3POS 6 - TCP_CLEAR_QUIET 8 - -@enum Tunnel-Type - - PPTP 1 - L2F 2 - L2TP 3 - ATMP 4 - VTP 5 - AH 6 - IP-IP 7 - MIN-IP-IP 8 - ESP 9 - GRE 10 - DVS 11 - IP-IN-IP 12 - VLAN 13 - -@enum Tunnel-Medium-Type - - IPV4 1 - IPV6 2 - NSAP 3 - HDLC 4 - BBN_1822 5 - '802' 6 - E163 7 - E164 8 - F69 9 - X121 10 - IPX 11 - APPLETALK 12 - DECNET_IV 13 - BANYAN_VINES 14 - E164_NSAP 15 - - -@enum Acct-Authentic - - RADIUS 1 - LOCAL 2 - REMOTE 3 - DIAMETER 4 - -@enum Accounting-Auth-Method - - PAP 1 - CHAP 2 - MS-CHAP-1 3 - MS-CHAP-2 4 - EAP 5 - NONE 7 - -@enum Termination-Cause - - USER_REQUEST 11 - LOST_CARRIER 12 - LOST_SERVICE 13 - IDLE_TIMEOUT 14 - SESSION_TIMEOUT 15 - ADMIN_RESET 16 - ADMIN_REBOOT 17 - PORT_ERROR 18 - NAS_ERROR 19 - NAS_REQUEST 20 - NAS_REBOOT 21 - PORT_UNNEEDED 22 - PORT_PREEMPTED 23 - PORT_SUSPENDED 24 - SERVICE_UNAVAILABLE 25 - CALLBACK 26 - USER_ERROR 27 - HOST_REQUEST 28 - SUPPLICANT_RESTART 29 - REAUTHORIZATION_FAILURE 30 - PORT_REINIT 31 - PORT_DISABLED 32 diff --git a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4006_cc.dia b/lib/diameter/test/diameter_compiler_SUITE_data/rfc4006_cc.dia deleted file mode 100644 index b723e4ddbb..0000000000 --- a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4006_cc.dia +++ /dev/null @@ -1,349 +0,0 @@ -;; -;; %CopyrightBegin% -;; -;; Copyright Ericsson AB 2010-2011. All Rights Reserved. -;; -;; The contents of this file are subject to the Erlang Public License, -;; Version 1.1, (the "License"); you may not use this file except in -;; compliance with the License. You should have received a copy of the -;; Erlang Public License along with this software. If not, it can be -;; retrieved online at http://www.erlang.org/. -;; -;; Software distributed under the License is distributed on an "AS IS" -;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -;; the License for the specific language governing rights and limitations -;; under the License. -;; -;; %CopyrightEnd% -;; - -;; -;; RFC 4006, Diameter Credit-Control Application -;; - -@id 4 - -@inherits rfc3588_base -@inherits rfc4005_nas Filter-Id - -;; =========================================================================== - -@avp_types - - CC-Correlation-Id 411 OctetString - - CC-Input-Octets 412 Unsigned64 M - CC-Money 413 Grouped M - CC-Output-Octets 414 Unsigned64 M - CC-Request-Number 415 Unsigned32 M - CC-Request-Type 416 Enumerated M - CC-Service-Specific-Units 417 Unsigned64 M - CC-Session-Failover 418 Enumerated M - CC-Sub-Session-Id 419 Unsigned64 M - CC-Time 420 Unsigned32 M - CC-Total-Octets 421 Unsigned64 M - CC-Unit-Type 454 Enumerated M - Check-Balance-Result 422 Enumerated M - Cost-Information 423 Grouped M - Cost-Unit 424 UTF8String M - Credit-Control 426 Enumerated M - Credit-Control-Failure-Handling 427 Enumerated M - Currency-Code 425 Unsigned32 M - Direct-Debiting-Failure-Handling 428 Enumerated M - Exponent 429 Integer32 M - Final-Unit-Action 449 Enumerated M - Final-Unit-Indication 430 Grouped M - Granted-Service-Unit 431 Grouped M - G-S-U-Pool-Identifier 453 Unsigned32 M - G-S-U-Pool-Reference 457 Grouped M - Multiple-Services-Credit-Control 456 Grouped M - Multiple-Services-Indicator 455 Enumerated M - Rating-Group 432 Unsigned32 M - Redirect-Address-Type 433 Enumerated M - Redirect-Server 434 Grouped M - Redirect-Server-Address 435 UTF8String M - Requested-Action 436 Enumerated M - Requested-Service-Unit 437 Grouped M - Restriction-Filter-Rule 438 IPFilterRule M - Service-Context-Id 461 UTF8String M - Service-Identifier 439 Unsigned32 M - Service-Parameter-Info 440 Grouped - - Service-Parameter-Type 441 Unsigned32 - - Service-Parameter-Value 442 OctetString - - Subscription-Id 443 Grouped M - Subscription-Id-Data 444 UTF8String M - Subscription-Id-Type 450 Enumerated M - Tariff-Change-Usage 452 Enumerated M - Tariff-Time-Change 451 Time M - Unit-Value 445 Grouped M - Used-Service-Unit 446 Grouped M - User-Equipment-Info 458 Grouped - - User-Equipment-Info-Type 459 Enumerated - - User-Equipment-Info-Value 460 OctetString - - Value-Digits 447 Integer64 M - Validity-Time 448 Unsigned32 M - -;; =========================================================================== - -@messages - - CCR ::= < Diameter Header: 272, REQ, PXY > - - < Session-Id > - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { Auth-Application-Id } - { Service-Context-Id } - { CC-Request-Type } - { CC-Request-Number } - [ Destination-Host ] - [ User-Name ] - [ CC-Sub-Session-Id ] - [ Acct-Multi-Session-Id ] - [ Origin-State-Id ] - [ Event-Timestamp ] - * [ Subscription-Id ] - [ Service-Identifier ] - [ Termination-Cause ] - [ Requested-Service-Unit ] - [ Requested-Action ] - * [ Used-Service-Unit ] - [ Multiple-Services-Indicator ] - * [ Multiple-Services-Credit-Control ] - * [ Service-Parameter-Info ] - [ CC-Correlation-Id ] - [ User-Equipment-Info ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - CCA ::= < Diameter Header: 272, PXY > - - < Session-Id > - { Result-Code } - { Origin-Host } - { Origin-Realm } - { Auth-Application-Id } - { CC-Request-Type } - { CC-Request-Number } - [ User-Name ] - [ CC-Session-Failover ] - [ CC-Sub-Session-Id ] - [ Acct-Multi-Session-Id ] - [ Origin-State-Id ] - [ Event-Timestamp ] - [ Granted-Service-Unit ] - * [ Multiple-Services-Credit-Control ] - [ Cost-Information] - [ Final-Unit-Indication ] - [ Check-Balance-Result ] - [ Credit-Control-Failure-Handling ] - [ Direct-Debiting-Failure-Handling ] - [ Validity-Time] - * [ Redirect-Host] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ Failed-AVP ] - * [ AVP ] - -;; =========================================================================== - -@grouped - - Cost-Information ::= < AVP Header: 423 > - - { Unit-Value } - { Currency-Code } - [ Cost-Unit ] - - Unit-Value ::= < AVP Header: 445 > - - { Value-Digits } - [ Exponent ] - - Multiple-Services-Credit-Control ::= < AVP Header: 456 > - - [ Granted-Service-Unit ] - [ Requested-Service-Unit ] - * [ Used-Service-Unit ] - [ Tariff-Change-Usage ] - * [ Service-Identifier ] - [ Rating-Group ] - * [ G-S-U-Pool-Reference ] - [ Validity-Time ] - [ Result-Code ] - [ Final-Unit-Indication ] - * [ AVP ] - - Granted-Service-Unit ::= < AVP Header: 431 > - - [ Tariff-Time-Change ] - [ CC-Time ] - [ CC-Money ] - [ CC-Total-Octets ] - [ CC-Input-Octets ] - [ CC-Output-Octets ] - [ CC-Service-Specific-Units ] - * [ AVP ] - - Requested-Service-Unit ::= < AVP Header: 437 > - - [ CC-Time ] - [ CC-Money ] - [ CC-Total-Octets ] - [ CC-Input-Octets ] - [ CC-Output-Octets ] - [ CC-Service-Specific-Units ] - * [ AVP ] - - Used-Service-Unit ::= < AVP Header: 446 > - - [ Tariff-Change-Usage ] - [ CC-Time ] - [ CC-Money ] - [ CC-Total-Octets ] - [ CC-Input-Octets ] - [ CC-Output-Octets ] - [ CC-Service-Specific-Units ] - * [ AVP ] - - CC-Money ::= < AVP Header: 413 > - - { Unit-Value } - [ Currency-Code ] - - G-S-U-Pool-Reference ::= < AVP Header: 457 > - - { G-S-U-Pool-Identifier } - { CC-Unit-Type } - { Unit-Value } - - Final-Unit-Indication ::= < AVP Header: 430 > - - { Final-Unit-Action } - * [ Restriction-Filter-Rule ] - * [ Filter-Id ] - [ Redirect-Server ] - - Redirect-Server ::= < AVP Header: 434 > - - { Redirect-Address-Type } - { Redirect-Server-Address } - - Service-Parameter-Info ::= < AVP Header: 440 > - - { Service-Parameter-Type } - { Service-Parameter-Value } - - Subscription-Id ::= < AVP Header: 443 > - - { Subscription-Id-Type } - { Subscription-Id-Data } - - User-Equipment-Info ::= < AVP Header: 458 > - - { User-Equipment-Info-Type } - { User-Equipment-Info-Value } - -;; =========================================================================== - -@enum CC-Request-Type - - INITIAL_REQUEST 1 - UPDATE_REQUEST 2 - TERMINATION_REQUEST 3 - EVENT_REQUEST 4 - -@enum CC-Session-Failover - - NOT_SUPPORTED 0 - SUPPORTED 1 - -@enum Check-Balance-Result - - ENOUGH_CREDIT 0 - NO_CREDIT 1 - -@enum Credit-Control - - AUTHORIZATION 0 - RE_AUTHORIZATION 1 - -@enum Credit-Control-Failure-Handling - - TERMINATE 0 - CONTINUE 1 - RETRY_AND_TERMINATE 2 - -@enum Direct-Debiting-Failure-Handling - - TERMINATE_OR_BUFFER 0 - CONTINUE 1 - -@enum Tariff-Change-Usage - - UNIT_BEFORE_TARIFF_CHANGE 0 - UNIT_AFTER_TARIFF_CHANGE 1 - UNIT_INDETERMINATE 2 - -@enum CC-Unit-Type - - TIME 0 - MONEY 1 - TOTAL-OCTETS 2 - INPUT-OCTETS 3 - OUTPUT-OCTETS 4 - SERVICE-SPECIFIC-UNITS 5 - -@enum Final-Unit-Action - - TERMINATE 0 - REDIRECT 1 - RESTRICT_ACCESS 2 - -@enum Redirect-Address-Type - - IPV4 0 - IPV6 1 - URL 2 - SIP_URI 3 - -@enum Multiple-Services-Indicator - - NOT_SUPPORTED 0 - SUPPORTED 1 - -@enum Requested-Action - - DIRECT_DEBITING 0 - REFUND_ACCOUNT 1 - CHECK_BALANCE 2 - PRICE_ENQUIRY 3 - -@enum Subscription-Id-Type - - END_USER_E164 0 - END_USER_IMSI 1 - END_USER_SIP_URI 2 - END_USER_NAI 3 - END_USER_PRIVATE 4 - -@enum User-Equipment-Info-Type - - IMEISV 0 - MAC 1 - EUI64 2 - MODIFIED_EUI64 3 - -;; =========================================================================== - -@define Result-Code - - END_USER_SERVICE_DENIED 4010 - CREDIT_CONTROL_NOT_APPLICABLE 4011 - CREDIT_LIMIT_REACHED 4012 - - USER_UNKNOWN 5030 - RATING_FAILED 5031 diff --git a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4072_eap.dia b/lib/diameter/test/diameter_compiler_SUITE_data/rfc4072_eap.dia deleted file mode 100644 index 111516b347..0000000000 --- a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4072_eap.dia +++ /dev/null @@ -1,150 +0,0 @@ -;; -;; %CopyrightBegin% -;; -;; Copyright Ericsson AB 2010-2011. All Rights Reserved. -;; -;; The contents of this file are subject to the Erlang Public License, -;; Version 1.1, (the "License"); you may not use this file except in -;; compliance with the License. You should have received a copy of the -;; Erlang Public License along with this software. If not, it can be -;; retrieved online at http://www.erlang.org/. -;; -;; Software distributed under the License is distributed on an "AS IS" -;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -;; the License for the specific language governing rights and limitations -;; under the License. -;; -;; %CopyrightEnd% -;; - -;; -;; RFC 4072, Diameter Extensible Authentication Protocol (EAP) Application -;; -;; Edits: -;; -;; - Move EAP-Payload to not break fixed/required/optional order -;; - Framed-Appletalk-Link -> Framed-AppleTalk-Link -;; - Framed-Appletalk-Network -> Framed-AppleTalk-Network -;; - Framed-Appletalk-Zone -> Framed-AppleTalk-Zone -;; - -@id 5 - -@inherits rfc3588_base -@inherits rfc4005_nas - -;; =========================================================================== - -@avp_types - - EAP-Master-Session-Key 464 OctetString - - EAP-Key-Name 102 OctetString - - EAP-Payload 462 OctetString - - EAP-Reissued-Payload 463 OctetString - - Accounting-EAP-Auth-Method 465 Unsigned64 - - -;; =========================================================================== - -@messages - - DER ::= < Diameter Header: 268, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { Auth-Request-Type } - { EAP-Payload } - [ Destination-Host ] - [ NAS-Identifier ] - [ NAS-IP-Address ] - [ NAS-IPv6-Address ] - [ NAS-Port ] - [ NAS-Port-Id ] - [ NAS-Port-Type ] - [ Origin-State-Id ] - [ Port-Limit ] - [ User-Name ] - [ EAP-Key-Name ] - [ Service-Type ] - [ State ] - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - [ Auth-Session-State ] - [ Callback-Number ] - [ Called-Station-Id ] - [ Calling-Station-Id ] - [ Originating-Line-Info ] - [ Connect-Info ] - * [ Framed-Compression ] - [ Framed-Interface-Id ] - [ Framed-IP-Address ] - * [ Framed-IPv6-Prefix ] - [ Framed-IP-Netmask ] - [ Framed-MTU ] - [ Framed-Protocol ] - * [ Tunneling ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - DEA ::= < Diameter Header: 268, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Request-Type } - { Result-Code } - { Origin-Host } - { Origin-Realm } - [ User-Name ] - [ EAP-Payload ] - [ EAP-Reissued-Payload ] - [ EAP-Master-Session-Key ] - [ EAP-Key-Name ] - [ Multi-Round-Time-Out ] - [ Accounting-EAP-Auth-Method ] - [ Service-Type ] - * [ Class ] - * [ Configuration-Token ] - [ Acct-Interim-Interval ] - [ Error-Message ] - [ Error-Reporting-Host ] - * [ Failed-AVP ] - [ Idle-Timeout ] - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - [ Auth-Session-State ] - [ Re-Auth-Request-Type ] - [ Session-Timeout ] - [ State ] - * [ Reply-Message ] - [ Origin-State-Id ] - * [ Filter-Id ] - [ Port-Limit ] - [ Callback-Id ] - [ Callback-Number ] - [ Framed-AppleTalk-Link ] - * [ Framed-AppleTalk-Network ] - [ Framed-AppleTalk-Zone ] - * [ Framed-Compression ] - [ Framed-Interface-Id ] - [ Framed-IP-Address ] - * [ Framed-IPv6-Prefix ] - [ Framed-IPv6-Pool ] - * [ Framed-IPv6-Route ] - [ Framed-IP-Netmask ] - * [ Framed-Route ] - [ Framed-Pool ] - [ Framed-IPX-Network ] - [ Framed-MTU ] - [ Framed-Protocol ] - [ Framed-Routing ] - * [ NAS-Filter-Rule ] - * [ QoS-Filter-Rule ] - * [ Tunneling ] - * [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ AVP ] diff --git a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4590_digest.dia b/lib/diameter/test/diameter_compiler_SUITE_data/rfc4590_digest.dia deleted file mode 100644 index a4ebe0c456..0000000000 --- a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4590_digest.dia +++ /dev/null @@ -1,45 +0,0 @@ -;; -;; %CopyrightBegin% -;; -;; Copyright Ericsson AB 2010-2011. All Rights Reserved. -;; -;; The contents of this file are subject to the Erlang Public License, -;; Version 1.1, (the "License"); you may not use this file except in -;; compliance with the License. You should have received a copy of the -;; Erlang Public License along with this software. If not, it can be -;; retrieved online at http://www.erlang.org/. -;; -;; Software distributed under the License is distributed on an "AS IS" -;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -;; the License for the specific language governing rights and limitations -;; under the License. -;; -;; %CopyrightEnd% -;; - -;; -;; RFC 4590, RADIUS Extension for Digest Authentication -;; - -@avp_types - - Digest-Response 103 OctetString - - Digest-Realm 104 OctetString - - Digest-Nonce 105 OctetString - - Digest-Response-Auth 106 OctetString - - Digest-Nextnonce 107 OctetString - - Digest-Method 108 OctetString - - Digest-URI 109 OctetString - - Digest-Qop 110 OctetString - - Digest-Algorithm 111 OctetString - - Digest-Entity-Body-Hash 112 OctetString - - Digest-CNonce 113 OctetString - - Digest-Nonce-Count 114 OctetString - - Digest-Username 115 OctetString - - Digest-Opaque 116 OctetString - - Digest-Auth-Param 117 OctetString - - Digest-AKA-Auts 118 OctetString - - Digest-Domain 119 OctetString - - Digest-Stale 120 OctetString - - Digest-HA1 121 OctetString - - SIP-AOR 122 OctetString - diff --git a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4740_sip.dia b/lib/diameter/test/diameter_compiler_SUITE_data/rfc4740_sip.dia deleted file mode 100644 index 8c21882649..0000000000 --- a/lib/diameter/test/diameter_compiler_SUITE_data/rfc4740_sip.dia +++ /dev/null @@ -1,446 +0,0 @@ -;; -;; %CopyrightBegin% -;; -;; Copyright Ericsson AB 2010-2011. All Rights Reserved. -;; -;; The contents of this file are subject to the Erlang Public License, -;; Version 1.1, (the "License"); you may not use this file except in -;; compliance with the License. You should have received a copy of the -;; Erlang Public License along with this software. If not, it can be -;; retrieved online at http://www.erlang.org/. -;; -;; Software distributed under the License is distributed on an "AS IS" -;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -;; the License for the specific language governing rights and limitations -;; under the License. -;; -;; %CopyrightEnd% -;; - -;; -;; RFC 4740, Diameter Session Initiation Protocol (SIP) Application -;; - -@id 6 - -@inherits rfc3588_base -@inherits rfc4590_digest - -;; =========================================================================== - -@avp_types - - SIP-Accounting-Information 368 Grouped M - SIP-Accounting-Server-URI 369 DiameterURI M - SIP-Credit-Control-Server-URI 370 DiameterURI M - SIP-Server-URI 371 UTF8String M - SIP-Server-Capabilities 372 Grouped M - SIP-Mandatory-Capability 373 Unsigned32 M - SIP-Optional-Capability 374 Unsigned32 M - SIP-Server-Assignment-Type 375 Enumerated M - SIP-Auth-Data-Item 376 Grouped M - SIP-Authentication-Scheme 377 Enumerated M - SIP-Item-Number 378 Unsigned32 M - SIP-Authenticate 379 Grouped M - SIP-Authorization 380 Grouped M - SIP-Authentication-Info 381 Grouped M - SIP-Number-Auth-Items 382 Unsigned32 M - SIP-Deregistration-Reason 383 Grouped M - SIP-Reason-Code 384 Enumerated M - SIP-Reason-Info 385 UTF8String M - SIP-Visited-Network-Id 386 UTF8String M - SIP-User-Authorization-Type 387 Enumerated M - SIP-Supported-User-Data-Type 388 UTF8String M - SIP-User-Data 389 Grouped M - SIP-User-Data-Type 390 UTF8String M - SIP-User-Data-Contents 391 OctetString M - SIP-User-Data-Already-Available 392 Enumerated M - SIP-Method 393 UTF8String M - -;; =========================================================================== - -@messages - - ;; 8.1. User-Authorization-Request - - UAR ::= < Diameter Header: 283, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { SIP-AOR } - [ Destination-Host ] - [ User-Name ] - [ SIP-Visited-Network-Id ] - [ SIP-User-Authorization-Type ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.2. User-Authorization-Answer - - UAA ::= < Diameter Header: 283, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Session-State } - { Result-Code } - { Origin-Host } - { Origin-Realm } - [ SIP-Server-URI ] - [ SIP-Server-Capabilities ] - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.3. Server-Assignment-Request - - SAR ::= < Diameter Header: 284, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { SIP-Server-Assignment-Type } - { SIP-User-Data-Already-Available } - [ Destination-Host ] - [ User-Name ] - [ SIP-Server-URI ] - * [ SIP-Supported-User-Data-Type ] - * [ SIP-AOR ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.4. Server-Assignment-Answer - - SAA ::= < Diameter Header: 284, PXY > - - < Session-Id > - { Auth-Application-Id } - { Result-Code } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - * [ SIP-User-Data ] - [ SIP-Accounting-Information ] - * [ SIP-Supported-User-Data-Type ] - [ User-Name ] - [ Auth-Grace-Period ] - [ Authorization-Lifetime ] - [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.5. Location-Info-Request - - LIR ::= < Diameter Header: 285, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { SIP-AOR } - [ Destination-Host ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.6. Location-Info-Answer - - LIA ::= < Diameter Header: 285, PXY > - - < Session-Id > - { Auth-Application-Id } - { Result-Code } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - [ SIP-Server-URI ] - [ SIP-Server-Capabilities ] - [ Auth-Grace-Period ] - [ Authorization-Lifetime ] - [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.7. Multimedia-Auth-Request - - MAR ::= < Diameter Header: 286, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { SIP-AOR } - { SIP-Method } - [ Destination-Host ] - [ User-Name ] - [ SIP-Server-URI ] - [ SIP-Number-Auth-Items ] - [ SIP-Auth-Data-Item ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.8. Multimedia-Auth-Answer - - MAA ::= < Diameter Header: 286, PXY > - - < Session-Id > - { Auth-Application-Id } - { Result-Code } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - [ User-Name ] - [ SIP-AOR ] - [ SIP-Number-Auth-Items ] - * [ SIP-Auth-Data-Item ] - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.9. Registration-Termination-Request - - RTR ::= < Diameter Header: 287, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - { Destination-Host } - { SIP-Deregistration-Reason } - [ Destination-Realm ] - [ User-Name ] - * [ SIP-AOR ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.10. Registration-Termination-Answer - - RTA ::= < Diameter Header: 287, PXY > - - < Session-Id > - { Auth-Application-Id } - { Result-Code } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.11. Push-Profile-Request - - PPR ::= < Diameter Header: 288, REQ, PXY > - - < Session-Id > - { Auth-Application-Id } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - { Destination-Realm } - { User-Name } - * [ SIP-User-Data ] - [ SIP-Accounting-Information ] - [ Destination-Host ] - [ Authorization-Lifetime ] - [ Auth-Grace-Period ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - - ;; 8.12. Push-Profile-Answer - - PPA ::= < Diameter Header: 288, PXY > - - < Session-Id > - { Auth-Application-Id } - { Result-Code } - { Auth-Session-State } - { Origin-Host } - { Origin-Realm } - [ Redirect-Host ] - [ Redirect-Host-Usage ] - [ Redirect-Max-Cache-Time ] - * [ Proxy-Info ] - * [ Route-Record ] - * [ AVP ] - -;; =========================================================================== - -@grouped - - SIP-Accounting-Information ::= < AVP Header: 368 > - - * [ SIP-Accounting-Server-URI ] - * [ SIP-Credit-Control-Server-URI ] - * [ AVP] - - SIP-Server-Capabilities ::= < AVP Header: 372 > - - * [ SIP-Mandatory-Capability ] - * [ SIP-Optional-Capability ] - * [ SIP-Server-URI ] - * [ AVP ] - - SIP-Auth-Data-Item ::= < AVP Header: 376 > - - { SIP-Authentication-Scheme } - [ SIP-Item-Number ] - [ SIP-Authenticate ] - [ SIP-Authorization ] - [ SIP-Authentication-Info ] - * [ AVP ] - - SIP-Authenticate ::= < AVP Header: 379 > - - { Digest-Realm } - { Digest-Nonce } - [ Digest-Domain ] - [ Digest-Opaque ] - [ Digest-Stale ] - [ Digest-Algorithm ] - [ Digest-Qop ] - [ Digest-HA1] - * [ Digest-Auth-Param ] - * [ AVP ] - - SIP-Authorization ::= < AVP Header: 380 > - - { Digest-Username } - { Digest-Realm } - { Digest-Nonce } - { Digest-URI } - { Digest-Response } - [ Digest-Algorithm ] - [ Digest-CNonce ] - [ Digest-Opaque ] - [ Digest-Qop ] - [ Digest-Nonce-Count ] - [ Digest-Method] - [ Digest-Entity-Body-Hash ] - * [ Digest-Auth-Param ] - * [ AVP ] - - SIP-Authentication-Info ::= < AVP Header: 381 > - - [ Digest-Nextnonce ] - [ Digest-Qop ] - [ Digest-Response-Auth ] - [ Digest-CNonce ] - [ Digest-Nonce-Count ] - * [ AVP ] - - SIP-Deregistration-Reason ::= < AVP Header: 383 > - - { SIP-Reason-Code } - [ SIP-Reason-Info ] - * [ AVP ] - - SIP-User-Data ::= < AVP Header: 389 > - - { SIP-User-Data-Type } - { SIP-User-Data-Contents } - * [ AVP ] - -;; =========================================================================== - -@enum SIP-Server-Assignment-Type - - NO_ASSIGNMENT 0 - REGISTRATION 1 - RE_REGISTRATION 2 - UNREGISTERED_USER 3 - TIMEOUT_DEREGISTRATION 4 - USER_DEREGISTRATION 5 - TIMEOUT_DEREGISTRATION_STORE 6 - USER_DEREGISTRATION_STORE 7 - ADMINISTRATIVE_DEREGISTRATION 8 - AUTHENTICATION_FAILURE 9 - AUTHENTICATION_TIMEOUT 10 - DEREGISTRATION_TOO_MUCH_DATA 11 - -@enum SIP-Authentication-Scheme - - DIGEST 0 - -@enum SIP-Reason-Code - - PERMANENT_TERMINATION 0 - NEW_SIP_SERVER_ASSIGNED 1 - SIP_SERVER_CHANGE 2 - REMOVE_SIP_SERVER 3 - -@enum SIP-User-Authorization-Type - - REGISTRATION 0 - DEREGISTRATION 1 - REGISTRATION_AND_CAPABILITIES 2 - -@enum SIP-User-Data-Already-Available - - USER_DATA_NOT_AVAILABLE 0 - USER_DATA_ALREADY_AVAILABLE 1 - -;; =========================================================================== - -@define Result-Code - - ;; Success - - FIRST_REGISTRATION 2003 - SUBSEQUENT_REGISTRATION 2004 - UNREGISTERED_SERVICE 2005 - SUCCESS_SERVER_NAME_NOT_STORED 2006 - SERVER_SELECTION 2007 - SUCCESS_AUTH_SENT_SERVER_NOT_STORED 2008 - - ;; Transient Failures - - USER_NAME_REQUIRED 4013 - - ;; Permanent Failures - - USER_UNKNOWN 5032 - IDENTITIES_DONT_MATCH 5033 - IDENTITY_NOT_REGISTERED 5034 - ROAMING_NOT_ALLOWED 5035 - IDENTITY_ALREADY_REGISTERED 5036 - AUTH_SCHEME_NOT_SUPPORTED 5037 - IN_ASSIGNMENT_TYPE 5038 - TOO_MUCH_DATA 5039 - NOT_SUPPORTED_USER_DATA 5040 -- cgit v1.2.3