diff options
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/PKI/ca_script2/Makefile | 6 | ||||
| -rw-r--r-- | contrib/debian/changelog | 216 | ||||
| -rw-r--r-- | contrib/dict_json/dictionary_dcca.json | 1208 | ||||
| -rw-r--r-- | contrib/dict_json/dictionary_dcca_3gpp.json | 12827 | ||||
| -rw-r--r-- | contrib/dict_json/dictionary_dcca_3gpp_sy.json | 377 | ||||
| -rw-r--r-- | contrib/dict_json/dictionary_freediameter_base.json | 1632 | ||||
| -rw-r--r-- | contrib/dict_json/dictionary_nasreq.json | 2522 | ||||
| -rw-r--r-- | contrib/test_Gx/main_gx.c | 49 | ||||
| -rw-r--r-- | contrib/tools/README | 9 | ||||
| -rwxr-xr-x | contrib/tools/csv_to_fd | 662 | ||||
| -rw-r--r-- | contrib/tools/diameter-rfcs.csv | 202 | ||||
| -rw-r--r-- | contrib/tools/diameter-rfcs.org | 188 | ||||
| -rwxr-xr-x | contrib/tools/grep_fd_dict_dump | 11 | ||||
| -rwxr-xr-x | contrib/tools/org_to_csv | 19 | ||||
| -rwxr-xr-x | contrib/tools/org_to_fd.pl | 75 |
15 files changed, 19721 insertions, 282 deletions
diff --git a/contrib/PKI/ca_script2/Makefile b/contrib/PKI/ca_script2/Makefile index 845176e..c40ea1e 100644 --- a/contrib/PKI/ca_script2/Makefile +++ b/contrib/PKI/ca_script2/Makefile @@ -25,7 +25,7 @@ all: help # Help message help: - @echo "\n\ + @printf -- "\n\ Available commands:\n\ make init topca=name\n\ Creates the initial top-level CA structure\n\ @@ -172,7 +172,7 @@ gencrl: @if [ -z "$(ca)" ]; then echo "Missing parameter. Ex: make gencrl ca=ca.testbed.aaa"; exit 1; fi # Create the CRL @CA_ROOT_DIR=$(DATA_DIR)/$(ca) openssl ca $(CONFIG) -gencrl -out $(DATA_DIR)/$(ca)/public/crl/$(ca).pem - @ln -s crl/$(ca).pem $(DATA_DIR)/$(ca)/public/local.pem - @ln -s local.pem $(DATA_DIR)/$(ca)/public/`openssl crl -noout -hash < $(DATA_DIR)/$(ca)/public/crl/$(ca).pem`.r0 + @ln -f -s crl/$(ca).pem $(DATA_DIR)/$(ca)/public/local.pem + @ln -f -s local.pem $(DATA_DIR)/$(ca)/public/`openssl crl -noout -hash < $(DATA_DIR)/$(ca)/public/crl/$(ca).pem`.r0 # End of file... diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 526d9ef..2ef9f32 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,4 +1,174 @@ -freediameter (1.2.1) UNRELEASED; urgency=low +freediameter (UNRELEASED) UNRELEASED; urgency=low + + * + +freediameter (1.5.0) RELEASED; urgency=low + + * freeDiameter: + - Add -g to help + - Change -d and -q to control syslog level, as per stdout logging. + - Syslog to LOG_DAEMON. + - Actually syslog to LOG_DEBUG, now that -d/-q are used. + - Add -p pidfile + - SCTP client: bind to local endpoints configured with ListenOn so + that the SCTP INIT only contains those local endpoint addresses, + matching what is advertised in the CER. + * Base dictionary: Add rules for Experimental-Result. + * All extensions: Hide symbols except for fd_ext_init(), fd_ext_fini(), + and fd_ext_depends. + * dbg_dict_dump.fdx: add extension to write the dictionary + to the given file or to the log. + * dbg_dict_dump_json.fdx: add extension to write the dictionary as JSON + to the given file or stdout. + * dict_dcca_3gpp.fdx: Update to 3GPP Release 15, adding many standards. + This adds 96 TYPEs, 145 ENUMVALs, 791 AVPs, 52 RULEs. + There are various breaking changes (documented below). + * contrib/dictionary_dcca_3gpp.json: Remove non-3GPP AVPs that are + actually from base IETF RFCs: + - MIP6-Feature-Vector (124). IETF RFC 5447 + - Service-Selection (493). IETF RFC 5778 + - Mobile-Node-Identifier (506). IETF RFC 5779 + - QoS-Capability (578). IETF RFC 5777. + * New API: fd_msg_add_result(): set Result-Code or Experimental-Result. + * New API: log level FD_LOG_INFO. + * fd_conf_dump(): fix formatting of local endpoints. + * fd_msg_search_avp(): support searching avp as well as msg. + * Fix compiler warnings. + * Add ERRORS_ON_WARNINGS cmake boolean to enable fatal compiler warnings. + * New tool: grep_fd_dict_dump: cleanup fd_dict_dump() output in logs. + * New tool: csv_to_fd: convert .csv with AVP tables to freeDiameter C or JSON. + * New tool: org_to_csv: convert .org files into .csv files. + + * dict_dcca_3gpp.fdx changes per update to 3GPP Release 15 as at 2019-12: + - AVP changes: + - 3GPP-CG-IPv6-Address (14) renamed to 3GPP-CG-Ipv6-Address (14). + - 3GPP-GGSN-IPv6-Address (16) renamed to 3GPP-GGSN-Ipv6-Address (16). + - 3GPP-IPv6-DNS-Servers (17) renamed to 3GPP-Ipv6-DNS-Servers (17). + - 3GPP-SGSN-IPv6-Address (15) renamed to 3GPP-SGSN-Ipv6-Address (15). + - 3GPP2-BSID (9010) flag M MUST. + - 3GPP2-BSID (9010) type changed from OctetString to UTF8String. + - ADC-Revalidation-Time (2801) Time removed in 3GPP TS 29.212 V12.1.0 (2013-06). + - ADC-Rule-Base-Name (1095) flag M MUST. + - ADC-Rule-Definition (1094) flag M MUST. + - ADC-Rule-Install (1092) flag M MUST. + - ADC-Rule-Name (1096) flag M MUST. + - ADC-Rule-Remove (1093) flag M MUST. + - ADC-Rule-Report (1097) flag M MUST. + - Application-Service-Type (2102) type changed from UTF8String to Enumerated. + - Application-Session-Id (2103) type changed from UTF8String to Unsigned32. + - Call-Barring-Infor-List (1488) renamed to Call-Barring-Info (1488). + - External-Identifier (28) OctetString replaced by External-Identifier (3111) UTF8String. + - LCS-Requestor-Id (1239) renamed to LCS-Requestor-ID (1239). + - LCS-Requestor-Id-String (1240) renamed to LCS-Requestor-ID-String (1240). + - MBMS-BMSC-SSM-IPv6-Address (919) renamed to MBMS-BMSC-SSM-Ipv6-Address (919). + - MBMS-GGSN-IPv6-Address (917) renamed to MBMS-GGSN-Ipv6-Address (917). + - MBMSGW-Address (2307) renamed to MBMS-GW-Address (2307). + - Measurement-Period-LTE (1656) code changed to Measurement-Period-LTE (1655). + - Measurement-Period-UMTS (1655) code changed to Measurement-Period-UMTS (1656). + - MME-LocationInformation (1600) renamed to MME-Location-Information(1600). + - PDG-Address (895) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - PDG-Charging-Id (896) Unsigned32 removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - PDN-Connection-ID (1065) flag M MUST NOT. + - PoC-User-Role-info-Units (1254) renamed to PoC-User-Role-Info-Units (1254). + - PS-to-CS-Session-Continuity (1099) flag M MUST NOT. + - SS-Status (1477) type changed from Grouped to OctetString. + - Status (2702) renamed to Status-AS-Code (2702). + - WAG-Address (890) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - WAG-PLMN-Id (891) OctetString removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - WLAN-Information (875) Grouped removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - WLAN-Radio-Container (892) Grouped removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - WLAN-Session-Id (1246) UTF8String removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - WLAN-Technology (893) Unsigned32 removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - WLAN-UE-Local-IPAddress (894) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). + - AVP renames: + - Rename Call-Barring-Infor-List (1488) to Call-Barring-Info (1488). + - Rename LCS-Requestor-Id (1239) to LCS-Requestor-ID (1239). + - Rename LCS-Requestor-Id-String (1240) to LCS-Requestor-ID-String (1240). + - Rename MBMSGW-Address (2307) to MBMS-GW-Address (2307). + - Rename MME-LocationInformation (1600) to MME-Location-Information(1600). + - Rename PoC-User-Role-info-Units (1254) to PoC-User-Role-Info-Units (1254). + - Rename Status (2702) to Status-AS-Code (2702). + - AVP name conflicts: + - Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates + Time-Window-29.154 (4204) in 3GPP TS 29.154 V13.1.0 (2016-03). + - Add Enumerated(3GPP/Experimental-Result-Code). 145 values. + - Update standards: + - 3GPP TS 29.061 V15.5.0 (2018-12). 15 AVPs. + - 3GPP TS 29.173 V15.0.0 (2018-06). 1 AVP. + - 3GPP TS 29.212 V15.9.0 (2019-12). 46 AVPs. + - 3GPP TS 29.214 V15.7.0 (2019-09). 27 AVPs. + - 3GPP TS 29.229 V15.2.0 (2019-09). 8 AVPs. + - 3GPP TS 29.272 V15.10.0 (2019-12). 44 AVPs. + - 3GPP TS 29.329 V15.2.0 (2019-09). 5 AVPs. + - 3GPP TS 32.299 V15.7.0 (2019-06). 154 AVPs. + - Add standards: + - 3GPP TS 29.109 V15.0.0 (2017-06). 21 AVPs. + - 3GPP TS 29.128 V15.6.0 (2019-09). 25 AVPs. + - 3GPP TS 29.153 V15.1.0 (2019-09). 2 AVPs. + - 3GPP TS 29.154 V15.3.0 (2019-09). 16 AVPs. + - 3GPP TS 29.172 V15.2.0 (2019-12). 66 AVPs. + - 3GPP TS 29.209 V6.8.0 (2011-09). 2 AVPs. + - 3GPP TS 29.215 V15.2.0 (2019-09). 9 AVPs. + - 3GPP TS 29.217 V15.1.0 (2019-09). 14 AVPs. + - 3GPP TS 29.219 V15.3.0 (2019-09). 7 AVPs. + - 3GPP TS 29.234 V11.2.0 (2013-06). 19 AVPs. + - 3GPP TS 29.273 V15.4.0 (2019-09). 40 AVPs. + - 3GPP TS 29.283 V15.1.0 (2019-09). 16 AVPs. + - 3GPP TS 29.336 V15.7.0 (2019-09). 79 AVPs. + - 3GPP TS 29.337 V15.0.0 (2018-06). 4 AVPs. + - 3GPP TS 29.338 V15.1.0 (2018-12). 34 AVPs. + - 3GPP TS 29.343 V15.1.0 (2019-09). 13 AVPs. + - 3GPP TS 29.344 V15.1.0 (2019-09). 7 AVPs. + - 3GPP TS 29.345 V15.1.0 (2019-09). 68 AVPs. + - 3GPP TS 29.368 V15.1.0 (2019-09). 12 AVPs. + - 3GPP TS 29.388 V15.1.0 (2019-09). 3 AVPs. + - 3GPP TS 29.389 V15.1.0 (2019-09). 3 AVPs. + - 3GPP TS 29.468 V15.8.0 (2019-12). 33 AVPs. + - 3GPP TS 29.561 V16.3.0 (2020-03). 9 AVPs. + +freediameter (1.4.0) RELEASED; urgency=low + + * New API: fd_fifo_set_max to change the capacity of a queue. + * New configuration stanza for Relays: ProcessingPeersPattern and ProcessingPeersMinimum + * New configuration stanza for scalability: RoutingInThreads and RoutingOutThreads + * some coding style cleanups + * Improvements on rt_load_balance algorithm + * Improvements on logging & locking behaviors + * More tolerant to invalid messages and answers. + * Improvements on shutdown behaviors. + * test_ccload: new extension: generates random + Credit-Control-Requests and counts how many are answered/give an + error/get no answer. Start it with SIGUSR2, stop it with a second + SIGUSR2. Statistics are printed on exit. + * test_cc: new extension. Automatically replies to + Credit-Control-Requests. Copies minimally necessary data from + the Request. + * Fixed testcnx failing due to expired CA certificate + +freediameter (1.3.2) RELEASED; urgency=low + + * acl_wl: add configuration reload support (using SIGUSR1). + * Reduce deprecation warnings. + +freediameter (1.3.1) RELEASED; urgency=low + + * test_as: new extension. Automatically replies to Abort-Session-Requests + with a diameter success message. + * dbg_loglevel: new extension. Reads debug level from config file + and supports configuration reload using SIGUSR1; this allows + changing the loglevel at runtime. + * rt_rewrite: new extension. Modify messages - move data from one + AVP to another or drop AVPs completely. + * rt_deny_by_size: new extension. discard Diameter messages that are + larger than a configurable size. Has reload support (using + SIGUSR1). + * freeDiameterd: add syslog() support ('-s' command line flag) + * rt_ereg: add configuration reload support (using SIGUSR1). Support + grouped AVPs. Support multiple separate AVPs. + * rt_default: add configuration reload support (using SIGUSR1) + * Various bugfixes + +freediameter (1.2.1) RELEASED; urgency=low * New extension: rt_randomize (load-balancing on possible destinations) * New contrib: Gx extension. @@ -18,7 +188,7 @@ freediameter (1.2.1) UNRELEASED; urgency=low -- Sebastien Decugis <sdecugis@freediameter.net> Sat, 30 Jan 2016 23:38:03 +0800 -freediameter (1.2.0) UNRELEASED; urgency=low +freediameter (1.2.0) RELEASED; urgency=low * Major changes in the logging system to be more syslog and production friendly * New extension: dict_dcca_3gpp @@ -56,7 +226,7 @@ freediameter (1.2.0) UNRELEASED; urgency=low -- Sebastien Decugis <sdecugis@freediameter.net> Sat, 14 Sep 2013 18:08:07 +0800 -freediameter (1.1.6) UNRELEASED; urgency=low +freediameter (1.1.6) RELEASED; urgency=low * Fix major issue in 1.1.5 preventing to send answers to a received message. * New command-line option: --enable_msg_log=( DROPPED | RECEIVED | SENT | NODELIVER | TIMING ) @@ -71,7 +241,7 @@ freediameter (1.1.6) UNRELEASED; urgency=low -- Sebastien Decugis <sdecugis@freediameter.net> Sun, 03 Mar 2013 07:40:43 +0100 -freediameter (1.1.5) UNRELEASED; urgency=low +freediameter (1.1.5) RELEASED; urgency=low * Added compatibility with MAC OS X * Fix behavior of timeout whe nsending messages to allow re-send. @@ -80,7 +250,7 @@ freediameter (1.1.5) UNRELEASED; urgency=low -- Sebastien Decugis <sdecugis@freediameter.net> Sat, 03 Nov 2012 17:58:11 +0100 -freediameter (1.1.4) UNRELEASED; urgency=low +freediameter (1.1.4) RELEASED; urgency=low * Compatibility with GnuTLS 3.x versions / updated packaging files accordingly * Fix crash on Sparc 64 (possibly other 64b machines) @@ -89,14 +259,14 @@ freediameter (1.1.4) UNRELEASED; urgency=low -- Sebastien Decugis <sdecugis@freediameter.net> Fri, 24 Aug 2012 00:17:05 +0200 -freediameter (1.1.3) UNRELEASED; urgency=low +freediameter (1.1.3) RELEASED; urgency=low * Fixed a memory leak * Clean-up of some extensions -- Sebastien Decugis <sdecugis@freediameter.net> Tue, 03 Jul 2012 08:15:49 +0200 -freediameter (1.1.2) UNRELEASED; urgency=low +freediameter (1.1.2) RELEASED; urgency=low * FIFO queues are now capped to avoid memory exhaustion. * Cleanups in MIPv6 dictionaries. @@ -108,7 +278,7 @@ freediameter (1.1.2) UNRELEASED; urgency=low -- Sebastien Decugis <sdecugis@freediameter.net> Tue, 21 Feb 2012 18:38:10 +0100 -freediameter (1.1.1) UNRELEASED; urgency=low +freediameter (1.1.1) RELEASED; urgency=low * Bug fix release * Supports newer GNUTLS versions @@ -117,9 +287,9 @@ freediameter (1.1.1) UNRELEASED; urgency=low -- Sebastien Decugis <sdecugis@nict.go.jp> Fri, 30 Sep 2011 21:56:50 +0200 -freediameter (1.1.0) UNRELEASED; urgency=low +freediameter (1.1.0) RELEASED; urgency=low - * Source package restructured. Most of the + * Source package restructured. Most of the framework now contained in the libfdcore library. libfreeDiameter renamed as libfdproto. This closes #15. @@ -131,52 +301,52 @@ freediameter (1.1.0) UNRELEASED; urgency=low to RADIUS (closes #25) * Allow default signals such as SIGTSTP (ctrl-z) to be used with freeDiameterd - * Improved DiameterIdentity handling (esp. interationalization issues), - and improve efficiency of some string operations in peers, sessions, + * Improved DiameterIdentity handling (esp. interationalization issues), + and improve efficiency of some string operations in peers, sessions, and dictionary modules (closes #7) * Cleanup in the session module to free only unreferenced sessions (#16) * Removed fd_cpu_flush_cache(), replaced by more robust alternatives. - * Improved peer state machine algorithm to counter SCTP multistream race + * Improved peer state machine algorithm to counter SCTP multistream race condition. * New extension rt_redirect.fdx that handles the Diameter Redirect errors. - * New extension app_redirect that allows sending Redirect indications to + * New extension app_redirect that allows sending Redirect indications to other peers. See doc/app_redirect.conf.sample for more information. * Added incomplete dictionary extension for rfc4006 (DCCA), courtesy of Konstantin Chekushin <koch@lmt.lv> -- Sebastien Decugis <sdecugis@freediameter.net> Tue, 29 Mar 2011 10:41:19 +0900 -freediameter (1.0.4) UNRELEASED; urgency=low +freediameter (1.0.4) RELEASED; urgency=low - * Added new API to specify timeout on receiving answer (#10) + * Added new API to specify timeout on receiving answer (#10) * Bumped API version number accordingly. * New test_netemul extension (simple network emulator proxy) * Improved API compatibility to C++ compilers -- Sebastien Decugis <sdecugis@nict.go.jp> Tue, 11 Jan 2011 12:28:22 +0900 -freediameter (1.0.3) UNRELEASED; urgency=low +freediameter (1.0.3) RELEASED; urgency=low * Fixed a couple of issues for portability (#21, #22, #23) * Fixed issue with ListenOn bit ordering (#20) * Added dictionary support for MIPv6 application objects. * Added dictionary support for legacy XML files. - * Added python interface dbg_interactive (experimental). + * Added python interface dbg_interactive (experimental). * Added parameters to fd_disp_register() and fd_sess_handler_create(), Bumped API version number accordingly. -- Sebastien Decugis <sdecugis@nict.go.jp> Tue, 14 Dec 2010 11:39:29 +0900 -freediameter (1.0.2) UNRELEASED; urgency=low +freediameter (1.0.2) RELEASED; urgency=low * Fix an issue in app_diameap.fdx with user names (#18) - * Allow DH parameters loaded from a file (#17) + * Allow DH parameters loaded from a file (#17) * Fixed a few compilation warnings on 64bits architectures. * New ALL_EXTENSIONS build option. -- Sebastien Decugis <sdecugis@nict.go.jp> Wed, 27 Oct 2010 11:17:32 +0900 -freediameter (1.0.1) UNRELEASED; urgency=low +freediameter (1.0.1) RELEASED; urgency=low * app_acct.fdx: new set of PHP scripts available in source contrib/app_acct_tools @@ -198,12 +368,12 @@ freediameter (1.0.1) UNRELEASED; urgency=low freediameter (1.0.0-2) experimental; urgency=low - * Official release 1.0.0 + * Official release 1.0.0 -- Sebastien Decugis <sdecugis@nict.go.jp> Thu, 29 Jul 2010 17:27:13 +0900 freediameter (1.0.0-1) experimental; urgency=low * Initial Release. - + -- Sebastien Decugis <sdecugis@nict.go.jp> Wed, 19 May 2010 15:36:54 +0900 diff --git a/contrib/dict_json/dictionary_dcca.json b/contrib/dict_json/dictionary_dcca.json new file mode 100644 index 0000000..bc45ad7 --- /dev/null +++ b/contrib/dict_json/dictionary_dcca.json @@ -0,0 +1,1208 @@ +{ + "AVPRules" : [ + { + "AVP" : "CC-Money", + "Content" : [ + { + "AVP" : "Currency-Code", + "Max" : 1 + }, + { + "AVP" : "Unit-Value", + "Max" : 1 + } + ] + }, + { + "AVP" : "Cost-Information", + "Content" : [ + { + "AVP" : "Cost-Unit", + "Max" : 1 + }, + { + "AVP" : "Currency-Code", + "Max" : 1 + }, + { + "AVP" : "Unit-Value", + "Max" : 1 + } + ] + }, + { + "AVP" : "Final-Unit-Indication", + "Content" : [ + { + "AVP" : "Filter-Id" + }, + { + "AVP" : "Redirect-Server", + "Max" : 1 + }, + { + "AVP" : "Restriction-Filter-Rule" + }, + { + "AVP" : "Final-Unit-Action", + "Max" : 1 + } + ] + }, + { + "AVP" : "Granted-Service-Unit", + "Content" : [ + { + "AVP" : "CC-Input-Octets", + "Max" : 1 + }, + { + "AVP" : "CC-Money", + "Max" : 1 + }, + { + "AVP" : "CC-Output-Octets", + "Max" : 1 + }, + { + "AVP" : "CC-Service-Specific-Units", + "Max" : 1 + }, + { + "AVP" : "CC-Time", + "Max" : 1 + }, + { + "AVP" : "CC-Total-Octets", + "Max" : 1 + }, + { + "AVP" : "Tariff-Time-Change", + "Max" : 1 + } + ] + }, + { + "AVP" : "Redirect-Server", + "Content" : [ + { + "AVP" : "Redirect-Address-Type", + "Max" : 1 + }, + { + "AVP" : "Redirect-Server-Address", + "Max" : 1 + } + ] + }, + { + "AVP" : "Requested-Service-Unit", + "Content" : [ + { + "AVP" : "CC-Input-Octets", + "Max" : 1 + }, + { + "AVP" : "CC-Money", + "Max" : 1 + }, + { + "AVP" : "CC-Output-Octets", + "Max" : 1 + }, + { + "AVP" : "CC-Service-Specific-Units", + "Max" : 1 + }, + { + "AVP" : "CC-Time", + "Max" : 1 + }, + { + "AVP" : "CC-Total-Octets", + "Max" : 1 + } + ] + }, + { + "AVP" : "Service-Parameter-Info", + "Content" : [ + { + "AVP" : "Service-Parameter-Type", + "Max" : 1 + }, + { + "AVP" : "Service-Parameter-Value", + "Max" : 1 + } + ] + }, + { + "AVP" : "Subscription-Id", + "Content" : [ + { + "AVP" : "Subscription-Id-Data", + "Max" : 1 + }, + { + "AVP" : "Subscription-Id-Type", + "Max" : 1 + } + ] + }, + { + "AVP" : "Unit-Value", + "Content" : [ + { + "AVP" : "Exponent", + "Max" : 1 + }, + { + "AVP" : "Value-Digits", + "Max" : 1 + } + ] + }, + { + "AVP" : "Used-Service-Unit", + "Content" : [ + { + "AVP" : "CC-Input-Octets", + "Max" : 1 + }, + { + "AVP" : "CC-Money", + "Max" : 1 + }, + { + "AVP" : "CC-Output-Octets", + "Max" : 1 + }, + { + "AVP" : "CC-Service-Specific-Units", + "Max" : 1 + }, + { + "AVP" : "CC-Time", + "Max" : 1 + }, + { + "AVP" : "CC-Total-Octets", + "Max" : 1 + }, + { + "AVP" : "Tariff-Change-Usage", + "Max" : 1 + } + ] + }, + { + "AVP" : "Multiple-Services-Credit-Control", + "Content" : [ + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Final-Unit-Indication", + "Max" : 1 + }, + { + "AVP" : "Granted-Service-Unit", + "Max" : 1 + }, + { + "AVP" : "Rating-Group", + "Max" : 1 + }, + { + "AVP" : "Requested-Service-Unit", + "Max" : 1 + }, + { + "AVP" : "Service-Identifier" + }, + { + "AVP" : "Used-Service-Unit" + }, + { + "AVP" : "Validity-Time", + "Max" : 1 + }, + { + "AVP" : "Tariff-Change-Usage", + "Max" : 1 + }, + { + "AVP" : "G-S-U-Pool-Reference" + } + ] + }, + { + "AVP" : "G-S-U-Pool-Reference", + "Content" : [ + { + "AVP" : "Unit-Value", + "Max" : 1 + }, + { + "AVP" : "G-S-U-Pool-Identifier", + "Max" : 1 + }, + { + "AVP" : "CC-Unit-Type", + "Max" : 1 + } + ] + }, + { + "AVP" : "User-Equipment-Info", + "Content" : [ + { + "AVP" : "User-Equipment-Info-Type", + "Max" : 1 + }, + { + "AVP" : "User-Equipment-Info-Value", + "Max" : 1 + } + ] + } + ], + "AVPs" : [ + { + "Code" : 268, + "EnumValues" : [ + { + "Code" : 5030, + "Name" : "USER_UNKNOWN" + }, + { + "Code" : 5031, + "Name" : "RATING_FAILED" + }, + { + "Code" : 4012, + "Name" : "CREDIT_LIMIT_REACHED" + }, + { + "Code" : 4010, + "Name" : "END_USER_SERVICE_DENIED" + }, + { + "Code" : 4011, + "Name" : "CREDIT_CONTROL_NOT_APPLICABLE" + } + ], + "Name" : "Result-Code", + "Type" : "Unsigned32" + }, + { + "Code" : 411, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Correlation-Id", + "Type" : "OctetString" + }, + { + "Code" : 412, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Input-Octets", + "Type" : "Unsigned64" + }, + { + "Code" : 413, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Money", + "Type" : "Grouped" + }, + { + "Code" : 414, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Output-Octets", + "Type" : "Unsigned64" + }, + { + "Code" : 415, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Request-Number", + "Type" : "Unsigned32" + }, + { + "Code" : 416, + "EnumValues" : [ + { + "Code" : 4, + "Name" : "EVENT_REQUEST" + }, + { + "Code" : 2, + "Name" : "UPDATE_REQUEST" + }, + { + "Code" : 1, + "Name" : "INITIAL_REQUEST" + }, + { + "Code" : 3, + "Name" : "TERMINATION_REQUEST" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Request-Type", + "Type" : "Enumerated" + }, + { + "Code" : 417, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Service-Specific-Units", + "Type" : "Unsigned64" + }, + { + "Code" : 418, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "FAILOVER_SUPPORTED" + }, + { + "Code" : 0, + "Name" : "FAILOVER_NOT_SUPPORTED" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Session-Failover", + "Type" : "Enumerated" + }, + { + "Code" : 419, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Sub-Session-Id", + "Type" : "Unsigned64" + }, + { + "Code" : 420, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Time", + "Type" : "Unsigned32" + }, + { + "Code" : 421, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Total-Octets", + "Type" : "Unsigned64" + }, + { + "Code" : 422, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "NO_CREDIT" + }, + { + "Code" : 0, + "Name" : "ENOUGH_CREDIT" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Check-Balance-Result", + "Type" : "Enumerated" + }, + { + "Code" : 423, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Cost-Information", + "Type" : "Grouped" + }, + { + "Code" : 424, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Cost-Unit", + "Type" : "UTF8String" + }, + { + "Code" : 425, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Currency-Code", + "Type" : "Unsigned32" + }, + { + "Code" : 426, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "RE_AUTHORIZATION" + }, + { + "Code" : 0, + "Name" : "CREDIT_AUTHORIZATION" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Credit-Control", + "Type" : "Enumerated" + }, + { + "Code" : 427, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "CONTINUE" + }, + { + "Code" : 0, + "Name" : "TERMINATE" + }, + { + "Code" : 2, + "Name" : "RETRY_AND_TERMINATE" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Credit-Control-Failure-Handling", + "Type" : "Enumerated" + }, + { + "Code" : 428, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "CONTINUE" + }, + { + "Code" : 0, + "Name" : "TERMINATE_OR_BUFFER" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Direct-Debiting-Failure-Handling", + "Type" : "Enumerated" + }, + { + "Code" : 429, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Exponent", + "Type" : "Integer32" + }, + { + "Code" : 430, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Final-Unit-Indication", + "Type" : "Grouped" + }, + { + "Code" : 431, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Granted-Service-Unit", + "Type" : "Grouped" + }, + { + "Code" : 432, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Rating-Group", + "Type" : "Unsigned32" + }, + { + "Code" : 433, + "EnumValues" : [ + { + "Code" : 2, + "Name" : "URL" + }, + { + "Code" : 3, + "Name" : "SIP_URI" + }, + { + "Code" : 0, + "Name" : "IPV4_ADDRESS" + }, + { + "Code" : 1, + "Name" : "IPV6_ADDRESS" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Redirect-Address-Type", + "Type" : "Enumerated" + }, + { + "Code" : 434, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Redirect-Server", + "Type" : "Grouped" + }, + { + "Code" : 435, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Redirect-Server-Address", + "Type" : "UTF8String" + }, + { + "Code" : 436, + "EnumValues" : [ + { + "Code" : 2, + "Name" : "CHECK_BALANCE" + }, + { + "Code" : 3, + "Name" : "PRICE_ENQUIRY" + }, + { + "Code" : 1, + "Name" : "REFUND_ACCOUNT" + }, + { + "Code" : 0, + "Name" : "DIRECT_DEBITING" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Requested-Action", + "Type" : "Enumerated" + }, + { + "Code" : 437, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Requested-Service-Unit", + "Type" : "Grouped" + }, + { + "Code" : 438, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Restriction-Filter-Rule", + "Type" : "IPFilterRule" + }, + { + "Code" : 439, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Service-Identifier", + "Type" : "Unsigned32" + }, + { + "Code" : 440, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Service-Parameter-Info", + "Type" : "Grouped" + }, + { + "Code" : 441, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Service-Parameter-Type", + "Type" : "Unsigned32" + }, + { + "Code" : 442, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Service-Parameter-Value", + "Type" : "OctetString" + }, + { + "Code" : 443, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Subscription-Id", + "Type" : "Grouped" + }, + { + "Code" : 444, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Subscription-Id-Data", + "Type" : "UTF8String" + }, + { + "Code" : 445, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Unit-Value", + "Type" : "Grouped" + }, + { + "Code" : 446, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Used-Service-Unit", + "Type" : "Grouped" + }, + { + "Code" : 447, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Value-Digits", + "Type" : "Integer64" + }, + { + "Code" : 448, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Validity-Time", + "Type" : "Unsigned32" + }, + { + "Code" : 449, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "REDIRECT" + }, + { + "Code" : 0, + "Name" : "TERMINATE" + }, + { + "Code" : 2, + "Name" : "RESTRICT_ACCESS" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Final-Unit-Action", + "Type" : "Enumerated" + }, + { + "Code" : 450, + "EnumValues" : [ + { + "Code" : 3, + "Name" : "END_USER_NAI" + }, + { + "Code" : 0, + "Name" : "END_USER_E164" + }, + { + "Code" : 1, + "Name" : "END_USER_IMSI" + }, + { + "Code" : 2, + "Name" : "END_USER_SIP_URI" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Subscription-Id-Type", + "Type" : "Enumerated" + }, + { + "Code" : 451, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tariff-Time-Change", + "Type" : "Time" + }, + { + "Code" : 452, + "EnumValues" : [ + { + "Code" : 2, + "Name" : "UNIT_INDETERMINATE" + }, + { + "Code" : 1, + "Name" : "UNIT_AFTER_TARIFF_CHANGE" + }, + { + "Code" : 0, + "Name" : "UNIT_BEFORE_TARIFF_CHANGE" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tariff-Change-Usage", + "Type" : "Enumerated" + }, + { + "Code" : 453, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "G-S-U-Pool-Identifier", + "Type" : "Unsigned32" + }, + { + "Code" : 454, + "EnumValues" : [ + { + "Code" : 0, + "Name" : "TIME" + }, + { + "Code" : 1, + "Name" : "MONEY" + }, + { + "Code" : 3, + "Name" : "INPUT-OCTETS" + }, + { + "Code" : 2, + "Name" : "TOTAL-OCTETS" + }, + { + "Code" : 4, + "Name" : "OUTPUT-OCTETS" + }, + { + "Code" : 5, + "Name" : "SERVICE-SPECIFIC-UNITS" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CC-Unit-Type", + "Type" : "Enumerated" + }, + { + "Code" : 455, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "MULTIPLE_SERVICES_SUPPORTED" + }, + { + "Code" : 0, + "Name" : "MULTIPLE_SERVICES_NOT_SUPPORTED" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Multiple-Services-Indicator", + "Type" : "Enumerated" + }, + { + "Code" : 456, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Multiple-Services-Credit-Control", + "Type" : "Grouped" + }, + { + "Code" : 457, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "G-S-U-Pool-Reference", + "Type" : "Grouped" + }, + { + "Code" : 458, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "User-Equipment-Info", + "Type" : "Grouped" + }, + { + "Code" : 459, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "MAC" + }, + { + "Code" : 2, + "Name" : "EUI64" + }, + { + "Code" : 0, + "Name" : "IMEISV" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "User-Equipment-Info-Type", + "Type" : "Enumerated" + }, + { + "Code" : 460, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "User-Equipment-Info-Value", + "Type" : "OctetString" + }, + { + "Code" : 461, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Service-Context-Id", + "Type" : "UTF8String" + } + ], + "Applications" : [ + { + "Code" : 4, + "Name" : "Diameter Credit Control Application" + } + ], + "CommandRules" : [ + { + "Command" : "Credit-Control-Request", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Acct-Multi-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Event-Timestamp", + "Max" : 1 + }, + { + "AVP" : "Auth-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Route-Record" + }, + { + "AVP" : "Destination-Realm", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Destination-Host", + "Max" : 1 + }, + { + "AVP" : "Termination-Cause", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + }, + { + "AVP" : "CC-Correlation-Id", + "Max" : 1 + }, + { + "AVP" : "CC-Request-Number", + "Max" : 1 + }, + { + "AVP" : "CC-Request-Type", + "Max" : 1 + }, + { + "AVP" : "CC-Sub-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Requested-Action", + "Max" : 1 + }, + { + "AVP" : "Requested-Service-Unit", + "Max" : 1 + }, + { + "AVP" : "Service-Identifier", + "Max" : 1 + }, + { + "AVP" : "Service-Parameter-Info" + }, + { + "AVP" : "Subscription-Id" + }, + { + "AVP" : "Used-Service-Unit" + }, + { + "AVP" : "Multiple-Services-Indicator", + "Max" : 1 + }, + { + "AVP" : "Multiple-Services-Credit-Control" + }, + { + "AVP" : "User-Equipment-Info", + "Max" : 1 + }, + { + "AVP" : "Service-Context-Id", + "Max" : 1 + } + ] + }, + { + "Command" : "Credit-Control-Answer", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Acct-Multi-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Event-Timestamp", + "Max" : 1 + }, + { + "AVP" : "Auth-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Redirect-Host-Usage", + "Max" : 1 + }, + { + "AVP" : "Redirect-Max-Cache-Time", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP" + }, + { + "AVP" : "Route-Record" + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Redirect-Host" + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + }, + { + "AVP" : "CC-Request-Number", + "Max" : 1 + }, + { + "AVP" : "CC-Request-Type", + "Max" : 1 + }, + { + "AVP" : "CC-Session-Failover", + "Max" : 1 + }, + { + "AVP" : "CC-Sub-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Check-Balance-Result", + "Max" : 1 + }, + { + "AVP" : "Cost-Information", + "Max" : 1 + }, + { + "AVP" : "Credit-Control-Failure-Handling", + "Max" : 1 + }, + { + "AVP" : "Direct-Debiting-Failure-Handling", + "Max" : 1 + }, + { + "AVP" : "Final-Unit-Indication", + "Max" : 1 + }, + { + "AVP" : "Granted-Service-Unit", + "Max" : 1 + }, + { + "AVP" : "Validity-Time", + "Max" : 1 + }, + { + "AVP" : "Multiple-Services-Credit-Control" + } + ] + } + ], + "Commands" : [ + { + "Code" : 272, + "Flags" : { + "Must" : "RP", + "MustNot" : "" + }, + "Name" : "Credit-Control-Request" + }, + { + "Code" : 272, + "Flags" : { + "Must" : "P", + "MustNot" : "RE" + }, + "Name" : "Credit-Control-Answer" + } + ] +} + diff --git a/contrib/dict_json/dictionary_dcca_3gpp.json b/contrib/dict_json/dictionary_dcca_3gpp.json new file mode 100644 index 0000000..d829c16 --- /dev/null +++ b/contrib/dict_json/dictionary_dcca_3gpp.json @@ -0,0 +1,12827 @@ +{ + "AVPRules": [ + { + "AVP": "ISUP-Cause", + "Content": [ + { + "AVP": "ISUP-Cause-Location", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "ISUP-Cause-Value", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "ISUP-Cause-Diagnostics", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Multiple-Services-Credit-Control", + "Content": [ + { + "AVP": "Granted-Service-Unit", + "Max": 1 + }, + { + "AVP": "Requested-Service-Unit", + "Max": 1 + }, + { + "AVP": "Used-Service-Unit" + }, + { + "AVP": "Tariff-Change-Usage", + "Max": 1 + }, + { + "AVP": "Service-Identifier" + }, + { + "AVP": "Rating-Group", + "Max": 1 + }, + { + "AVP": "G-S-U-Pool-Reference" + }, + { + "AVP": "Validity-Time", + "Max": 1 + }, + { + "AVP": "Result-Code", + "Max": 1 + }, + { + "AVP": "Final-Unit-Indication", + "Max": 1 + }, + { + "AVP": "Time-Quota-Threshold", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Volume-Quota-Threshold", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Unit-Quota-Threshold", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Quota-Holding-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Quota-Consumption-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Reporting-Reason", + "Vendor": 10415 + }, + { + "AVP": "Trigger", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "PS-Furnish-Charging-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Refund-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AF-Correlation-Information", + "Vendor": 10415 + }, + { + "AVP": "Envelope", + "Vendor": 10415 + }, + { + "AVP": "Envelope-Reporting", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Time-Quota-Mechanism", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Service-Specific-Info", + "Vendor": 10415 + }, + { + "AVP": "QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Announcement-Information", + "Vendor": 10415 + }, + { + "AVP": "3GPP-RAT-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Related-Trigger", + "Vendor": 10415, + "Max": 1 + } + ] + }, + { + "AVP": "Service-Specific-Info", + "Content": [ + { + "AVP": "Service-Specific-Data", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Service-Specific-Type", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Used-Service-Unit", + "Content": [ + { + "AVP": "Reporting-Reason", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Tariff-Change-Usage", + "Max": 1 + }, + { + "AVP": "CC-Time", + "Max": 1 + }, + { + "AVP": "CC-Money", + "Max": 1 + }, + { + "AVP": "CC-Total-Octets", + "Max": 1 + }, + { + "AVP": "CC-Input-Octets", + "Max": 1 + }, + { + "AVP": "CC-Output-Octets", + "Max": 1 + }, + { + "AVP": "CC-Service-Specific-Units", + "Max": 1 + }, + { + "AVP": "Event-Charging-TimeStamp", + "Vendor": 10415 + } + ] + }, + { + "AVP": "Event-Type", + "Content": [ + { + "AVP": "SIP-Method", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Event", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Expires", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Time-Stamps", + "Content": [ + { + "AVP": "SIP-Request-Timestamp", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "SIP-Response-Timestamp", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "SIP-Request-Timestamp-Fraction", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "SIP-Response-Timestamp-Fraction", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "SDP-Media-Component", + "Content": [ + { + "AVP": "SDP-Media-Name", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "SDP-Media-Description", + "Vendor": 10415 + }, + { + "AVP": "Local-GW-Inserted-Indication", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "IP-Realm-Default-Indication", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Transcoder-Inserted-Indication", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Media-Initiator-Flag", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Media-Initiator-Party", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-Charging-Id", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Access-Network-Charging-Identifier-Value", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "SDP-Type", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Application-Server-Information", + "Content": [ + { + "AVP": "Application-Server", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Application-Provided-Called-Party-Address", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "PS-Furnish-Charging-Information", + "Content": [ + { + "AVP": "3GPP-Charging-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "PS-Free-Format-Data", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "PS-Append-Free-Format-Data", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Service-Information", + "Content": [ + { + "AVP": "Subscription-Id" + }, + { + "AVP": "PS-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "IMS-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "MMS-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "LCS-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "PoC-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "MBMS-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SMS-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "MMTel-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "AoC-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "IM-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "DCD-Information", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "PS-Information", + "Content": [ + { + "AVP": "Called-Station-Id", + "Max": 1 + }, + { + "AVP": "User-Equipment-Info", + "Max": 1 + }, + { + "AVP": "3GPP2-BSID", + "Max": 1, + "Vendor": 5535 + }, + { + "AVP": "3GPP-Charging-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-PDP-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-IMSI-MCC-MNC", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-GGSN-MCC-MNC", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-NSAPI", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-Session-Stop-Indicator", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-Selection-Mode", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-Charging-Characteristics", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-SGSN-MCC-MNC", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-RAT-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-User-Location-Info", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "3GPP-MS-TimeZone", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "CG-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "GGSN-Address", + "Vendor": 10415 + }, + { + "AVP": "PS-Furnish-Charging-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Base-Name", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "QoS-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "PDP-Address", + "Vendor": 10415 + }, + { + "AVP": "SGSN-Address", + "Vendor": 10415 + }, + { + "AVP": "PDP-Context-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Offline-Charging", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Terminal-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "MME-Number-for-MT-SMS", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Change-Condition", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Diagnostics", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Service-Data-Container", + "Vendor": 10415 + }, + { + "AVP": "Start-Time", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Stop-Time", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Traffic-Data-Volumes", + "Vendor": 10415 + }, + { + "AVP": "Serving-Node-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "PDN-Connection-Charging-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Dynamic-Address-Flag", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Node-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SGW-Change", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Charging-Characteristics-Selection-Mode", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SGW-Address", + "Vendor": 10415 + }, + { + "AVP": "Dynamic-Address-Flag-Extension", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "IMSI-Unauthenticated-Flag", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "User-CSG-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "MME-Name", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "MME-Realm", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Low-Priority-Indicator", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "PDP-Address-Prefix-Length", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "IMS-Information", + "Content": [ + { + "AVP": "Server-Capabilities", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Session-Priority", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Event-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Role-Of-Node", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "User-Session-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Calling-Party-Address", + "Vendor": 10415 + }, + { + "AVP": "Called-Party-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Time-Stamps", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Inter-Operator-Identifier", + "Vendor": 10415 + }, + { + "AVP": "IMS-Charging-Identifier", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SDP-Session-Description", + "Vendor": 10415 + }, + { + "AVP": "SDP-Media-Component", + "Vendor": 10415 + }, + { + "AVP": "Served-Party-IP-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Application-Server-Information", + "Vendor": 10415 + }, + { + "AVP": "Trunk-Group-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Bearer-Service", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Service-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Associated-URI", + "Vendor": 10415 + }, + { + "AVP": "Cause-Code", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Node-Functionality", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Message-Body", + "Vendor": 10415 + }, + { + "AVP": "Service-Specific-Info", + "Vendor": 10415 + }, + { + "AVP": "Called-Asserted-Identity", + "Vendor": 10415 + }, + { + "AVP": "Requested-Party-Address", + "Vendor": 10415 + }, + { + "AVP": "Access-Network-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Early-Media-Description", + "Vendor": 10415 + }, + { + "AVP": "Alternate-Charged-Party-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "IMS-Communication-Service-Identifier", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Carrier-Select-Routing-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Number-Portability-Routing-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Online-Charging-Flag", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Real-Time-Tariff-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Account-Expiration", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Outgoing-Session-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Initial-IMS-Charging-Identifier", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "IMS-Emergency-Indicator", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "IMS-Application-Reference-Identifier", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Transit-IOI-List", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "NNI-Information", + "Vendor": 10415 + }, + { + "AVP": "From-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Access-Transfer-Information", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "MMS-Information", + "Content": [ + { + "AVP": "Originator-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "VASP-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "VAS-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Recipient-Address", + "Vendor": 10415 + }, + { + "AVP": "Submission-Time", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "MM-Content-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Priority", + "Vendor": 10415 + }, + { + "AVP": "Message-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Message-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Message-Size", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Message-Class", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Delivery-Report-Requested", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Adaptations", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Applic-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Aux-Applic-Info", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Content-Class", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "DRM-Content", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Read-Reply-Report-Requested", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Reply-Applic-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "MMBox-Storage-Requested", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Originator-Address", + "Content": [ + { + "AVP": "Address-Data", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Address-Domain", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Address-Type", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Address-Domain", + "Content": [ + { + "AVP": "3GPP-IMSI-MCC-MNC", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Domain-Name", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "QoS-Information", + "Content": [ + { + "AVP": "Max-Requested-Bandwidth-DL", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Max-Requested-Bandwidth-UL", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Bearer-Identifier", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Guaranteed-Bitrate-DL", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Guaranteed-Bitrate-UL", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "QoS-Class-Identifier", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Allocation-Retention-Priority", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "APN-Aggregate-Max-Bitrate-DL", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "APN-Aggregate-Max-Bitrate-UL", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Recipient-Address", + "Content": [ + { + "AVP": "Address-Data", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Address-Domain", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Address-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Addressee-Type", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Message-Class", + "Content": [ + { + "AVP": "Class-Identifier", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Token-Text", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Envelope", + "Content": [ + { + "AVP": "CC-Input-Octets", + "Max": 1 + }, + { + "AVP": "CC-Output-Octets", + "Max": 1 + }, + { + "AVP": "CC-Service-Specific-Units", + "Max": 1 + }, + { + "AVP": "CC-Total-Octets", + "Max": 1 + }, + { + "AVP": "Envelope-End-Time", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Envelope-Start-Time", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Time-Quota-Mechanism", + "Content": [ + { + "AVP": "Time-Quota-Type", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "Base-Time-Interval", + "Vendor": 10415, + "Min": 1, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Offline-Charging", + "Content": [ + { + "AVP": "Multiple-Services-Credit-Control" + }, + { + "AVP": "Quota-Consumption-Time", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Envelope-Reporting", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Time-Quota-Mechanism", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "SMS-Information", + "Content": [ + { + "AVP": "Data-Coding-Scheme", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SM-Message-Type", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Originator-SCCP-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Originator-Interface", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Reply-Path-Requested", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SM-Discharge-Time", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SM-Protocol-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SM-Status", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SM-User-Data-Header", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SMS-Node", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SMSC-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Client-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Number-Of-Messages-Sent", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Recipient-Info", + "Vendor": 10415 + }, + { + "AVP": "Originator-Received-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SM-Service-Type", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Destination-Interface", + "Content": [ + { + "AVP": "Interface-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Interface-Port", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Interface-Text", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Interface-Type", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Originator-Interface", + "Content": [ + { + "AVP": "Interface-Id", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Interface-Port", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Interface-Text", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Interface-Type", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Recipient-Info", + "Content": [ + { + "AVP": "Recipient-Address", + "Vendor": 10415 + }, + { + "AVP": "Destination-Interface", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Recipient-SCCP-Address", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "SM-Protocol-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Recipient-Received-Address", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Recipient-Received-Address", + "Content": [ + { + "AVP": "Address-Data", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Address-Domain", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Address-Type", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "IM-Information", + "Content": [ + { + "AVP": "Number-Of-Messages-Successfully-Exploded", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Number-Of-Messages-Successfully-Sent", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Total-Number-Of-Messages-Exploded", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Total-Number-Of-Messages-Sent", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "DCD-Information", + "Content": [ + { + "AVP": "Content-ID", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Content-provider-ID", + "Max": 1, + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Install", + "Content": [ + { + "AVP": "Charging-Rule-Definition", + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "Bearer-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Monitoring-Flags", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Activation-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Deactivation-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Resource-Allocation-Notification", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Charging-Correlation-Indicator", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Remove", + "Content": [ + { + "AVP": "Charging-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "Required-Access-Info", + "Vendor": 10415 + }, + { + "AVP": "Resource-Release-Notification", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Definition", + "Content": [ + { + "AVP": "Charging-Rule-Name", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "Service-Identifier", + "Max": 1 + }, + { + "AVP": "Rating-Group", + "Max": 1 + }, + { + "AVP": "Flow-Information", + "Vendor": 10415 + }, + { + "AVP": "Default-Bearer-Indication", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "TDF-Application-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "PS-to-CS-Session-Continuity", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Reporting-Level", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Online", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Offline", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Metering-Method", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Precedence", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AF-Charging-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flows", + "Vendor": 10415 + }, + { + "AVP": "Monitoring-Key", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Redirect-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Mute-Notification", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AF-Signalling-Protocol", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Sponsor-Identity", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Application-Service-Provider-Identity", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Required-Access-Info", + "Vendor": 10415 + }, + { + "AVP": "Sharing-Key-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Sharing-Key-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Traffic-Steering-Policy-Identifier-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Traffic-Steering-Policy-Identifier-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Content-Version", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "TFT-Packet-Filter-Information", + "Content": [ + { + "AVP": "Precedence", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "TFT-Filter", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "ToS-Traffic-Class", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Security-Parameter-Index", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Label", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Direction", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "QoS-Information", + "Content": [ + { + "AVP": "QoS-Class-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Max-Requested-Bandwidth-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Max-Requested-Bandwidth-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Extended-Max-Requested-BW-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Extended-Max-Requested-BW-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Guaranteed-Bitrate-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Guaranteed-Bitrate-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Extended-GBR-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Extended-GBR-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Bearer-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Allocation-Retention-Priority", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "APN-Aggregate-Max-Bitrate-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "APN-Aggregate-Max-Bitrate-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Extended-APN-AMBR-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Extended-APN-AMBR-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Conditional-APN-Aggregate-Max-Bitrate", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Report", + "Content": [ + { + "AVP": "Charging-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "Bearer-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "PCC-Rule-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Failure-Code", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Final-Unit-Indication", + "Max": 1 + }, + { + "AVP": "RAN-NAS-Release-Cause", + "Vendor": 10415 + }, + { + "AVP": "Content-Version", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Access-Network-Charging-Identifier-Gx", + "Content": [ + { + "AVP": "Access-Network-Charging-Identifier-Value", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "Charging-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "IP-CAN-Session-Charging-Scope", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Event-Report-Indication", + "Content": [ + { + "AVP": "AN-Trusted", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Event-Trigger", + "Vendor": 10415 + }, + { + "AVP": "User-CSG-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AN-GW-Address", + "Vendor": 10415, + "Max": 2 + }, + { + "AVP": "3GPP-SGSN-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-SGSN-IPv6-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-SGSN-MCC-MNC", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Framed-IP-Address", + "Max": 1 + }, + { + "AVP": "RAT-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAI", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-User-Location-Info", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Trace-Data", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Trace-Reference", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP2-BSID", + "Vendor": 5535, + "Max": 1 + }, + { + "AVP": "3GPP-MS-TimeZone", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Routing-IP-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "UE-Local-IP-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "HeNB-Local-IP-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "UDP-Source-Port", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Presence-Reporting-Area-Information", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Allocation-Retention-Priority", + "Content": [ + { + "AVP": "Priority-Level", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "Pre-emption-Capability", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Pre-emption-Vulnerability", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Tunnel-Information", + "Content": [ + { + "AVP": "Tunnel-Header-Length", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Tunnel-Header-Filter", + "Vendor": 10415, + "Min": 2, + "Max": 2 + } + ], + "Vendor": 10415 + }, + { + "AVP": "CoA-Information", + "Content": [ + { + "AVP": "Tunnel-Information", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "CoA-IP-Address", + "Vendor": 10415, + "Min": 1, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Flow-Information", + "Content": [ + { + "AVP": "Flow-Description", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Packet-Filter-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Packet-Filter-Usage", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "ToS-Traffic-Class", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Security-Parameter-Index", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Label", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Direction", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Routing-Rule-Identifier", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Packet-Filter-Information", + "Content": [ + { + "AVP": "Packet-Filter-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Precedence", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Packet-Filter-Content", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "ToS-Traffic-Class", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Security-Parameter-Index", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Label", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Direction", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Routing-Rule-Install", + "Content": [ + { + "AVP": "Routing-Rule-Definition", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Routing-Rule-Remove", + "Content": [ + { + "AVP": "Routing-Rule-Identifier", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Routing-Rule-Definition", + "Content": [ + { + "AVP": "Routing-Rule-Identifier", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "Routing-Filter", + "Vendor": 10415 + }, + { + "AVP": "Precedence", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Routing-IP-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Routing-Filter", + "Content": [ + { + "AVP": "Flow-Description", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "Flow-Direction", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "ToS-Traffic-Class", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Security-Parameter-Index", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Label", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Redirect-Information", + "Content": [ + { + "AVP": "Redirect-Support", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Redirect-Address-Type", + "Max": 1 + }, + { + "AVP": "Redirect-Server-Address", + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Application-Detection-Information", + "Content": [ + { + "AVP": "TDF-Application-Identifier", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "TDF-Application-Instance-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Information", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Default-QoS-Information", + "Content": [ + { + "AVP": "QoS-Class-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Max-Requested-Bandwidth-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Max-Requested-Bandwidth-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-QoS-Name", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Conditional-APN-Aggregate-Max-Bitrate", + "Content": [ + { + "AVP": "APN-Aggregate-Max-Bitrate-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "APN-Aggregate-Max-Bitrate-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Extended-APN-AMBR-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Extended-APN-AMBR-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415 + }, + { + "AVP": "RAT-Type", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Presence-Reporting-Area-Information", + "Content": [ + { + "AVP": "Presence-Reporting-Area-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Presence-Reporting-Area-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Presence-Reporting-Area-Elements-List", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Routing-Rule-Report", + "Content": [ + { + "AVP": "Routing-Rule-Identifier", + "Vendor": 10415 + }, + { + "AVP": "PCC-Rule-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Routing-Rule-Failure-Code", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "Conditional-Policy-Information", + "Content": [ + { + "AVP": "Execution-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-EPS-Bearer-QoS", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "APN-Aggregate-Max-Bitrate-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "APN-Aggregate-Max-Bitrate-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Conditional-APN-Aggregate-Max-Bitrate", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "PRA-Install", + "Content": [ + { + "AVP": "Presence-Reporting-Area-Information", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "PRA-Remove", + "Content": [ + { + "AVP": "Presence-Reporting-Area-Identifier", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "QoS-Rule-Install", + "Content": [ + { + "AVP": "QoS-Rule-Definition", + "Vendor": 10415 + }, + { + "AVP": "QoS-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "QoS-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "Tunnel-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Access-Network-Charging-Identifier-Value", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Resource-Allocation-Notification", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Activation-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Deactivation-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-GGSN-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-GGSN-IPv6-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AN-GW-Address", + "Vendor": 10415, + "Max": 2 + }, + { + "AVP": "UDP-Source-Port", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "QoS-Rule-Remove", + "Content": [ + { + "AVP": "QoS-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "QoS-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "Required-Access-Info", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "QoS-Rule-Definition", + "Content": [ + { + "AVP": "QoS-Rule-Name", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "Flow-Information", + "Vendor": 10415 + }, + { + "AVP": "QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Precedence", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Required-Access-Info", + "Vendor": 10415 + }, + { + "AVP": "Sharing-Key-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Sharing-Key-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Content-Version", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "QoS-Rule-Report", + "Content": [ + { + "AVP": "QoS-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "QoS-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "PCC-Rule-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Failure-Code", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Content-Version", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "ADC-Rule-Install", + "Content": [ + { + "AVP": "ADC-Rule-Definition", + "Vendor": 10415 + }, + { + "AVP": "ADC-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "ADC-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "Monitoring-Flags", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Activation-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Deactivation-Time", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "ADC-Rule-Remove", + "Content": [ + { + "AVP": "ADC-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "ADC-Rule-Base-Name", + "Vendor": 10415 + } + ], + "Vendor": 10415 + }, + { + "AVP": "ADC-Rule-Definition", + "Content": [ + { + "AVP": "ADC-Rule-Name", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "TDF-Application-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Information", + "Vendor": 10415 + }, + { + "AVP": "Service-Identifier", + "Max": 1 + }, + { + "AVP": "Rating-Group", + "Max": 1 + }, + { + "AVP": "Reporting-Level", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Online", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Offline", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Metering-Method", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Precedence", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flow-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Monitoring-Key", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Sponsor-Identity", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Application-Service-Provider-Identity", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Redirect-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Mute-Notification", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Traffic-Steering-Policy-Identifier-DL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Traffic-Steering-Policy-Identifier-UL", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "ToS-Traffic-Class", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "ADC-Rule-Report", + "Content": [ + { + "AVP": "ADC-Rule-Name", + "Vendor": 10415 + }, + { + "AVP": "ADC-Rule-Base-Name", + "Vendor": 10415 + }, + { + "AVP": "PCC-Rule-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Rule-Failure-Code", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Final-Unit-Indication", + "Max": 1 + } + ], + "Vendor": 10415 + }, + { + "AVP": "CS-Service-Resource-Report", + "Content": [ + { + "AVP": "CS-Service-QoS-Request-Identifier", + "Vendor": 10415 + }, + { + "AVP": "CS-Service-Resource-Result-Operation", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "CS-Service-Resource-Failure-Cause", + "Vendor": 10415, + "Max": 1 + } + ], + "Vendor": 10415 + } + ], + "AVPs": [ + { + "Code": 9010, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP2-BSID", + "Type": "OctetString", + "Vendor": 5535 + }, + { + "Code": 1, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-IMSI", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-Charging-Id", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-PDP-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 4, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-CG-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 5, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-GPRS-Negotiated-QoS-Profile", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 6, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-SGSN-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 7, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-GGSN-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 8, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-IMSI-MCC-MNC", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 9, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-GGSN-MCC-MNC", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 10, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-NSAPI", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 11, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-Session-Stop-Indicator", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 12, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-Selection-Mode", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 13, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-Charging-Characteristics", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 14, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-CG-IPv6-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 15, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-SGSN-IPv6-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 16, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-GGSN-IPv6-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 17, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-IPv6-DNS-Servers", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 18, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-SGSN-MCC-MNC", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 20, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-IMEISV", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 21, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-RAT-Type", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 22, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-User-Location-Info", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 23, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-MS-TimeZone", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 24, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-CAMEL-Charging-Info", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 25, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-Packet-Filter", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 26, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-Negotiated-DSCP", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 27, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-Allocate-IP-Type", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 500, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Abort-Cause", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 501, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Network-Charging-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 502, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Network-Charging-Identifier", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 503, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Network-Charging-Identifier-Value", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 504, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AF-Application-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 505, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AF-Charging-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 507, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Flow-Description", + "Type": "IPFilterRule", + "Vendor": 10415 + }, + { + "Code": 509, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Flow-Number", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 510, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Flows", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 511, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Flow-Status", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 512, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Flow-Usage", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 513, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Specific-Action", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 515, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Max-Requested-Bandwidth-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 516, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Max-Requested-Bandwidth-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 517, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Media-Component-Description", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 518, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Media-Component-Number", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 519, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Media-Sub-Component", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 520, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Media-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 521, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "RR-Bandwidth", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 522, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "RS-Bandwidth", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 523, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Forking-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 524, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Codec-Data", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 525, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-URN", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 526, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Acceptable-Service-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 527, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Info-Status", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 528, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MPS-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 529, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "AF-Signalling-Protocol", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 530, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Sponsored-Connectivity-Data", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 531, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Sponsor-Identity", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 532, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Application-Service-Provider-Identity", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 533, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Rx-Request-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 534, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Min-Requested-Bandwidth-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 535, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Min-Requested-Bandwidth-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 536, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Required-Access-Info", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 537, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "IP-Domain-Id", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 538, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "GCS-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 539, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Sharing-Key-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 540, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Sharing-Key-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 541, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Retry-Interval", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 542, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Sponsoring-Action", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 543, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Max-Supported-Bandwidth-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 544, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Max-Supported-Bandwidth-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 545, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Min-Desired-Bandwidth-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 546, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Min-Desired-Bandwidth-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 547, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MCPTT-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 548, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Service-Authorization-Info", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 549, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Media-Component-Status", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 550, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Priority-Sharing-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 551, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "AF-Requested-Data", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 552, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Content-Version", + "Type": "Unsigned64", + "Vendor": 10415 + }, + { + "Code": 553, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Pre-emption-Control-Info", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 554, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-Max-Requested-BW-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 555, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-Max-Requested-BW-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 556, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-Max-Supported-BW-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 557, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-Max-Supported-BW-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 558, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-Min-Desired-BW-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 559, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-Min-Desired-BW-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 560, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-Min-Requested-BW-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 561, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-Min-Requested-BW-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 600, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Visited-Network-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 601, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Public-Identity", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 602, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Server-Name", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 603, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Server-Capabilities", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 604, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Mandatory-Capability", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 605, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Optional-Capability", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 606, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "User-Data", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 607, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Number-Auth-Items", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 608, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Authentication-Scheme", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 609, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Authenticate", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 610, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Authorization", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 611, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Authentication-Context", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 612, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Auth-Data-Item", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 613, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Item-Number", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 614, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Server-Assignment-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 615, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Deregistration-Reason", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 616, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Reason-Code", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 617, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Reason-Info", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 618, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 619, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Primary-Event-Charging-Function-Name", + "Type": "DiameterURI", + "Vendor": 10415 + }, + { + "Code": 620, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Secondary-Event-Charging-Function-Name", + "Type": "DiameterURI", + "Vendor": 10415 + }, + { + "Code": 621, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Primary-Charging-Collection-Function-Name", + "Type": "DiameterURI", + "Vendor": 10415 + }, + { + "Code": 622, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Secondary-Charging-Collection-Function-Name", + "Type": "DiameterURI", + "Vendor": 10415 + }, + { + "Code": 623, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "User-Authorization-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 624, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "User-Data-Already-Available", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 625, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Confidentiality-Key", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 626, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Integrity-Key", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 628, + "Flags": { + "Must": "V", + "MustNot": "" + }, + "Name": "Supported-Features", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 629, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Feature-List-ID", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 630, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Feature-List", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 631, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Supported-Applications", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 632, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Associated-Identities", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 633, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Originating-Request", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 634, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Wildcarded-Public-Identity", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 635, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "SIP-Digest-Authenticate", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 636, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Wildcarded-IMPU", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 637, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "UAR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 638, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Loose-Route-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 639, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "SCSCF-Restoration-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 640, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Path", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 641, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Contact", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 642, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Subscription-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 643, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Call-ID-SIP-Header", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 644, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "From-SIP-Header", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 645, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "To-SIP-Header", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 646, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Record-Route", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 647, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Associated-Registered-Identities", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 648, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Multiple-Registration-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 649, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Restoration-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 650, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Session-Priority", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 651, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Identity-with-Emergency-Registration", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 652, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Priviledged-Sender-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 653, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "LIA-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 700, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "User-Identity", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 701, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MSISDN", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 702, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "User-Data-29.329", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 703, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Data-Reference", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 704, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Indication", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 705, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Subs-Req-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 706, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Requested-Domain", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 707, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Current-Location", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 708, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Identity-Set", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 709, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Expiry-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 710, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Send-Data-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 711, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "DSAI-Tag", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 712, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "One-Time-Notification", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 713, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Requested-Nodes", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 714, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Serving-Node-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 715, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Repository-Data-ID", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 716, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Sequence-Number", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 719, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "UDR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 823, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Event-Type", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 824, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Method", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 825, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Event", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 826, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Content-Type", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 827, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Content-Length", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 828, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Content-Disposition", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 829, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Role-Of-Node", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 830, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "User-Session-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 831, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Calling-Party-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 832, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Called-Party-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 833, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-Stamps", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 834, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Request-Timestamp", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 835, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Response-Timestamp", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 836, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Application-Server", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 837, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Application-Provided-Called-Party-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 838, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Inter-Operator-Identifier", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 839, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Originating-IOI", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 840, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Terminating-IOI", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 841, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IMS-Charging-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 842, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SDP-Session-Description", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 843, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SDP-Media-Component", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 844, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SDP-Media-Name", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 845, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SDP-Media-Description", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 846, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CG-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 847, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "GGSN-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 848, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Served-Party-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 849, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Authorised-QoS", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 850, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Application-Server-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 851, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trunk-Group-Id", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 852, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Incoming-Trunk-Group-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 853, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Outgoing-Trunk-Group-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 854, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Bearer-Service", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 855, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 856, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Associated-URI", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 857, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charged-Party", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 858, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Controlling-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 859, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Group-Name", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 861, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Cause-Code", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 862, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Node-Functionality", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 863, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Specific-Data", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 864, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Originator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 865, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PS-Furnish-Charging-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 866, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PS-Free-Format-Data", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 867, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PS-Append-Free-Format-Data", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 868, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-Quota-Threshold", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 869, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Volume-Quota-Threshold", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 870, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trigger-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 871, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Quota-Holding-Time", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 872, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Reporting-Reason", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 873, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 874, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 876, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IMS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 877, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MMS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 878, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 879, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 880, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 881, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Quota-Consumption-Time", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 882, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Media-Initiator-Flag", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 883, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Server-Role", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 884, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Session-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 885, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Of-Participants", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 886, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Originator-Address", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 887, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Participants-Involved", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 888, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Expires", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 889, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Message-Body", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 897, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Address-Data", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 898, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Address-Domain", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 899, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Address-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 900, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "TMGI", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 901, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Required-MBMS-Bearer-Capabilities", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 902, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-StartStop-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 903, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Service-Area", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 904, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Session-Duration", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 905, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Alternative-APN", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 906, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Service-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 907, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-2G-3G-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 908, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Session-Identity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 909, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "RAI", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 910, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Additional-MBMS-Trace-Info", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 911, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Time-To-Data-Transfer", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 912, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Session-Repetition-Number", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 913, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Required-QoS", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 914, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Counting-Information", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 915, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-User-Data-Mode-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 916, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-GGSN-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 917, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-GGSN-IPv6-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 918, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-BMSC-SSM-IP-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 919, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-BMSC-SSM-IPv6-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 920, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Flow-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 921, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CN-IP-Multicast-Distribution", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 922, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-HC-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1000, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Bearer-Usage", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1001, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Rule-Install", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1002, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Rule-Remove", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1003, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Rule-Definition", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1004, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Rule-Base-Name", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1005, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Rule-Name", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1006, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Event-Trigger", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1007, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Metering-Method", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1008, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Offline", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1009, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Online", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1010, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Precedence", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1011, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Reporting-Level", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1012, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "TFT-Filter", + "Type": "IPFilterRule", + "Vendor": 10415 + }, + { + "Code": 1013, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "TFT-Packet-Filter-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1014, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ToS-Traffic-Class", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1016, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1018, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Rule-Report", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1019, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PCC-Rule-Status", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1020, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Bearer-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1021, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Bearer-Operation", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1022, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Network-Charging-Identifier-Gx", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1023, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Bearer-Control-Mode", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1024, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Network-Request-Support", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1025, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Guaranteed-Bitrate-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1026, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Guaranteed-Bitrate-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1027, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IP-CAN-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1028, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Class-Identifier", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1029, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Negotiation", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1030, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Upgrade", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1031, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Rule-Failure-Code", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1032, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "RAT-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1033, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Event-Report-Indication", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1034, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Allocation-Retention-Priority", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1035, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "CoA-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1036, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Tunnel-Header-Filter", + "Type": "IPFilterRule", + "Vendor": 10415 + }, + { + "Code": 1037, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Tunnel-Header-Length", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1038, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Tunnel-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1039, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "CoA-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1040, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "APN-Aggregate-Max-Bitrate-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1041, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "APN-Aggregate-Max-Bitrate-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1042, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Revalidation-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1043, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Rule-Activation-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1044, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Rule-Deactivation-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1045, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Session-Release-Cause", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1046, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Priority-Level", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1047, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Pre-emption-Capability", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1048, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Pre-emption-Vulnerability", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1049, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Default-EPS-Bearer-QoS", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1050, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "AN-GW-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1051, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Rule-Install", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1052, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Rule-Remove", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1053, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Rule-Definition", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1054, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Rule-Name", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1055, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Rule-Report", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1056, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Security-Parameter-Index", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1057, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Flow-Label", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1058, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Flow-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1059, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Packet-Filter-Content", + "Type": "IPFilterRule", + "Vendor": 10415 + }, + { + "Code": 1060, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Packet-Filter-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1061, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Packet-Filter-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1062, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Packet-Filter-Operation", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1063, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Resource-Allocation-Notification", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1064, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Session-Linking-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1065, + "Flags": { + "Must": "V", + "MustNot": "" + }, + "Name": "PDN-Connection-ID", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1066, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Monitoring-Key", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1067, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Usage-Monitoring-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1068, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Usage-Monitoring-Level", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1069, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Usage-Monitoring-Report", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1070, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Usage-Monitoring-Support", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1071, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "CSG-Information-Reporting", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1072, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Packet-Filter-Usage", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1073, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Charging-Correlation-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1074, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "QoS-Rule-Base-Name", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1075, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-Rule-Remove", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1076, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-Rule-Definition", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1077, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-Rule-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1078, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-Filter", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1079, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1080, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Flow-Direction", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1081, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-Rule-Install", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1082, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Credit-Management-Status", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1085, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Redirect-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1086, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Redirect-Support", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1087, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "TDF-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1088, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "TDF-Application-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1089, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "TDF-Destination-Host", + "Type": "DiameterIdentity", + "Vendor": 10415 + }, + { + "Code": 1090, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "TDF-Destination-Realm", + "Type": "DiameterIdentity", + "Vendor": 10415 + }, + { + "Code": 1091, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "TDF-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1092, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ADC-Rule-Install", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1093, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ADC-Rule-Remove", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1094, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ADC-Rule-Definition", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1095, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ADC-Rule-Base-Name", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1096, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ADC-Rule-Name", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1097, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ADC-Rule-Report", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1098, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Application-Detection-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1099, + "Flags": { + "Must": "V", + "MustNot": "" + }, + "Name": "PS-to-CS-Session-Continuity", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1100, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Served-User-Identity", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1101, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "VASP-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1102, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "VAS-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1103, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trigger-Event", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1104, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Sender-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1105, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Initial-Recipient-Address", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1106, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Result-Recipient-Address", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1107, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Sequence-Number-29.140", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1108, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Recipient-Address-29.140", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1109, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Routeing-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1110, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Originating-Interface", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1111, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Delivery-Report", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1112, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Read-Reply", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1113, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Sender-Visibility", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1114, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Key", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1115, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Billing-Information", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1116, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Status-29.140", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1117, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Status-Code", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1118, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Status-Text", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1119, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Routeing-Address-Resolution", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1200, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Domain-Name", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1201, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Recipient-Address", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1202, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Submission-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1203, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MM-Content-Type", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1204, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Type-Number", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1205, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Additional-Type-Information", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1206, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Content-Size", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1207, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Additional-Content-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1208, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Addressee-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1209, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Priority", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1210, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Message-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1211, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Message-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1212, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Message-Size", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1213, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Message-Class", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1214, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Class-Identifier", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1215, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Token-Text", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1216, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Delivery-Report-Requested", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1217, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Adaptations", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1218, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Applic-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1219, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Aux-Applic-Info", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1220, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Content-Class", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1221, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "DRM-Content", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1222, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Read-Reply-Report-Requested", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1223, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Reply-Applic-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1224, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "File-Repair-Supported", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1225, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-User-Service-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1226, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Unit-Quota-Threshold", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1227, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PDP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1228, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SGSN-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1229, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Session-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1230, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Deferred-Location-Event-Type", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1231, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-APN", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1232, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Client-Id", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1233, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Client-Dialed-By-MS", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1234, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Client-External-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1235, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Client-Name", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1236, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Data-Coding-Scheme", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1237, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Format-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1238, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Name-String", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1239, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Requestor-ID", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1240, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Requestor-ID-String", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1241, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Client-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1242, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Location-Estimate", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1243, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Location-Estimate-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1244, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Location-Type", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1245, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Positioning-Data", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1247, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PDP-Context-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1248, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MMBox-Storage-Requested", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1249, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Specific-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1250, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Called-Asserted-Identity", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1251, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Requested-Party-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1252, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-User-Role", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1253, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-User-Role-IDs", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1254, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-User-Role-Info-Units", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1255, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Talk-Burst-Exchange", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1257, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Specific-Type", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1258, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Event-Charging-TimeStamp", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1259, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Participant-Access-Priority", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1260, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Participant-Group", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1261, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Change-Condition", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1262, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Change-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1263, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Network-Information", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1264, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trigger", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1265, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Base-Time-Interval", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1266, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Envelope", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1267, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Envelope-End-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1268, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Envelope-Reporting", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1269, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Envelope-Start-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1270, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-Quota-Mechanism", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1271, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-Quota-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1272, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Early-Media-Description", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1273, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SDP-TimeStamps", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1274, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SDP-Offer-Timestamp", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1275, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SDP-Answer-Timestamp", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1276, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AF-Correlation-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1277, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Session-Initiation-type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1278, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Offline-Charging", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1279, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "User-Participating-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1280, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Alternate-Charged-Party-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1281, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IMS-Communication-Service-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1282, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Of-Received-Talk-Bursts", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1283, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Of-Talk-Bursts", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1284, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Received-Talk-Burst-Time", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1285, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Received-Talk-Burst-Volume", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1286, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Talk-Burst-Time", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1287, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Talk-Burst-Volume", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1288, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Media-Initiator-Party", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1400, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Subscription-Data", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1401, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Terminal-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1402, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IMEI", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1403, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Software-Version", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1404, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "QoS-Subscribed", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1405, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ULR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1406, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ULA-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1407, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Visited-PLMN-Id", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1408, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Requested-EUTRAN-Authentication-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1409, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Requested-UTRAN-GERAN-Authentication-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1410, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Of-Requested-Vectors", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1411, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Re-Synchronization-Info", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1412, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Immediate-Response-Preferred", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1413, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Authentication-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1414, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "E-UTRAN-Vector", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1415, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "UTRAN-Vector", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1416, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "GERAN-Vector", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1417, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Network-Access-Mode", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1418, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "HPLMN-ODB", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1419, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Item-Number", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1420, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Cancellation-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1421, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "DSR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1422, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "DSA-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1423, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Context-Identifier", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1424, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Subscriber-Status", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1425, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Operator-Determined-Barring", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1426, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Restriction-Data", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1427, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "APN-OI-Replacement", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1428, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "All-APN-Configurations-Included-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1429, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "APN-Configuration-Profile", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1430, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "APN-Configuration", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1431, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "EPS-Subscribed-QoS-Profile", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1432, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "VPLMN-Dynamic-Address-Allowed", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1433, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "STN-SR", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1434, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Alert-Reason", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1435, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AMBR", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1436, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CSG-Subscription-Data", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1437, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CSG-Id", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1438, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PDN-GW-Allocation-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1439, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Expiration-Date", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1440, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "RAT-Frequency-Selection-Priority-ID", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1441, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IDA-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1442, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PUA-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1443, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "NOR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1444, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "User-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1445, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Equipment-Status", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1446, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Regional-Subscription-Zone-Code", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1447, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "RAND", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1448, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "XRES", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1449, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AUTN", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1450, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "KASME", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1452, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trace-Collection-Entity", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1453, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Kc", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1454, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SRES", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1456, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PDN-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1457, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Roaming-Restricted-Due-To-Unsupported-Feature", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1458, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trace-Data", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1459, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trace-Reference", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1462, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trace-Depth", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1463, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trace-NE-Type-List", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1464, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trace-Interface-List", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1465, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Trace-Event-List", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1466, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "OMC-Id", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1467, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "GPRS-Subscription-Data", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1468, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Complete-Data-List-Included-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1469, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PDP-Context", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1470, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PDP-Type", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1471, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP2-MEID", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1472, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Specific-APN-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1473, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1474, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "GMLC-Number", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1475, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-PrivacyException", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1476, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SS-Code", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1477, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SS-Status", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1478, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Notification-To-UE-User", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1479, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "External-Client", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1480, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Client-Identity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1481, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "GMLC-Restriction", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1482, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PLMN-Client", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1483, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Type", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1484, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ServiceTypeIdentity", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1485, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MO-LR", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1486, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Teleservice-List", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1487, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "TS-Code", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1488, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Call-Barring-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1489, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SGSN-Number", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1490, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IDR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1491, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "ICS-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1492, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "IMS-Voice-Over-PS-Sessions-Supported", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1493, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1494, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Last-UE-Activity-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 1495, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "EPS-User-State", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1496, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "EPS-Location-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1497, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MME-User-State", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1498, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "SGSN-User-State", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1499, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "User-State", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1503, + "Flags": { + "Must": "VM", + "MustNot": "P" + }, + "Name": "AN-Trusted", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1504, + "Flags": { + "Must": "VM", + "MustNot": "P" + }, + "Name": "ANID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1506, + "Flags": { + "Must": "VM", + "MustNot": "P" + }, + "Name": "MIP-FA-RK", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1507, + "Flags": { + "Must": "VM", + "MustNot": "P" + }, + "Name": "MIP-FA-RK-SPI", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1509, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "WLAN-Identifier", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1516, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "Full-Network-Name", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1517, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "Short-Network-Name", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1518, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "AAA-Failure-Indication", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1519, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "Transport-Access-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1520, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "DER-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1521, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "DEA-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1524, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "SSID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1525, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "HESSID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1526, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "Access-Network-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1527, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "TWAN-Connection-Mode", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1528, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "TWAN-Connectivity-Parameters", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1529, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "Connectivity-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1530, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "TWAN-PCO", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1531, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "TWAG-CP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1532, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "TWAG-UP-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1533, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "TWAN-S2a-Failure-Cause", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1534, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "SM-Back-Off-Timer", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1535, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "WLCP-Key", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1538, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "Emergency-Services", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1540, + "Flags": { + "Must": "V", + "MustNot": "MP" + }, + "Name": "IMEI-Check-In-VPLMN-Result", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1600, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MME-Location-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1601, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "SGSN-Location-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1602, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "E-UTRAN-Cell-Global-Identity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1603, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Tracking-Area-Identity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1604, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Cell-Global-Identity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1605, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-Area-Identity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1606, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Location-Area-Identity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1607, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Service-Area-Identity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1608, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Geographical-Information", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1609, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Geodetic-Information", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1610, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Current-Location-Retrieved", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1611, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Age-Of-Location-Information", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1612, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Active-APN", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1613, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "SIPTO-Permission", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1614, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Error-Diagnostic", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1615, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "UE-SRVCC-Capability", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1616, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MPS-Priority", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1617, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "VPLMN-LIPA-Allowed", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1618, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "LIPA-Permission", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1619, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Subscribed-Periodic-RAU-TAU-Timer", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1620, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Ext-PDP-Type", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1621, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Ext-PDP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 1622, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MDT-Configuration", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1623, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Job-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1624, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Area-Scope", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1625, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "List-Of-Measurements", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1626, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Reporting-Trigger", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1627, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Report-Interval", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1628, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Report-Amount", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1629, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Event-Threshold-RSRP", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1630, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Event-Threshold-RSRQ", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1631, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Logging-Interval", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1632, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Logging-Duration", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1633, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Relay-Node-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1634, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MDT-User-Consent", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1635, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "PUR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1636, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Subscribed-VSRVCC", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1637, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Equivalent-PLMN-List", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1638, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "CLR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1639, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "UVR-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1640, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "UVA-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1641, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "VPLMN-CSG-Subscription-Data", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1642, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Time-Zone", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 1643, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "A-MSISDN", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1645, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MME-Number-for-MT-SMS", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1648, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "SMS-Register-Request", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1649, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Local-Time-Zone", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 1650, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Daylight-Saving-Time", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1654, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Subscription-Data-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 1655, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Measurement-Period-UMTS", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1656, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Measurement-Period-LTE", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1657, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Collection-Period-RRM-LTE", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1658, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Collection-Period-RRM-UMTS", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 1659, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Positioning-Method", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1660, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Measurement-Quantity", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 1661, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Event-Threshold-Event-1F", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 1662, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Event-Threshold-Event-1I", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 2000, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SMS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2001, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Data-Coding-Scheme", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 2002, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Destination-Interface", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2003, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Interface-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2004, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Interface-Port", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2005, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Interface-Text", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2006, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Interface-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2007, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-Message-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2008, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Originator-SCCP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2009, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Originator-Interface", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2010, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Recipient-SCCP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2011, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Reply-Path-Requested", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2012, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-Discharge-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2013, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-Protocol-ID", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2014, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-Status", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2015, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-User-Data-Header", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2016, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SMS-Node", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2017, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SMSC-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2018, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Client-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2019, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Of-Messages-Sent", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2020, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Low-Balance-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2021, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Remaining-Balance", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2022, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Refund-Information", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2023, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Carrier-Select-Routing-Information", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2024, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Portability-Routing-Information", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2025, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PoC-Event-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2026, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Recipient-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2027, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Originator-Received-Address", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2028, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Recipient-Received-Address", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2029, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-Service-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2030, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MMTel-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2031, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MMTel-SService-Type", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2032, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Mode", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2033, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Subscriber-Role", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2034, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Of-Diversions", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2035, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Associated-Party-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2036, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SDP-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2037, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Change-Condition", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 2038, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Change-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2039, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Diagnostics", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 2040, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Service-Data-Container", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2041, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Start-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2042, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Stop-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2043, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-First-Usage", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2044, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-Last-Usage", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2045, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-Usage", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2046, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Traffic-Data-Volumes", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2047, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Serving-Node-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2048, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Supplementary-Service", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2049, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Participant-Action-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2050, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PDN-Connection-Charging-ID", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2051, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Dynamic-Address-Flag", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2052, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Accumulated-Cost", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2053, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AoC-Cost-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2054, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AoC-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2055, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AoC-Request-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2056, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Current-Tariff", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2057, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Next-Tariff", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2058, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Rate-Element", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2059, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Scale-Factor", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2060, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Tariff-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2061, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Unit-Cost", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2062, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Incremental-Cost", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2063, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Local-Sequence-Number", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2064, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Node-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2065, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SGW-Change", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2066, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Characteristics-Selection-Mode", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2067, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SGW-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2068, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Dynamic-Address-Flag-Extension", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2101, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Application-Server-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2102, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Application-Service-Type", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2103, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Application-Session-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2104, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Delivery-Status", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2110, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IM-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2111, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Of-Messages-Successfully-Exploded", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2112, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Number-Of-Messages-Successfully-Sent", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2113, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Total-Number-Of-Messages-Exploded", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2114, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Total-Number-Of-Messages-Sent", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2115, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "DCD-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2116, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Content-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2117, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Content-provider-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2118, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charge-Reason-Code", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2301, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Request-Timestamp-Fraction", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2302, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SIP-Response-Timestamp-Fraction", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2303, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Online-Charging-Flag", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2304, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CUG-Information", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2305, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Real-Time-Tariff-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2306, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Tariff-XML", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2307, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-GW-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2308, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IMSI-Unauthenticated-Flag", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2309, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Account-Expiration", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2310, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AoC-Format", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2311, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AoC-Service", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2312, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AoC-Service-Obligatory-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2313, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AoC-Service-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2314, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "AoC-Subscription-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2317, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CSG-Access-Mode", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2318, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CSG-Membership-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2319, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "User-CSG-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2320, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Outgoing-Session-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2321, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Initial-IMS-Charging-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2322, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IMS-Emergency-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2323, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MBMS-Charged-Party", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2400, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LMSI", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2401, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Serving-Node", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2402, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MME-Name", + "Type": "DiameterIdentity", + "Vendor": 10415 + }, + { + "Code": 2403, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MSC-Number", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2404, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "LCS-Capabilities-Sets", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2405, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "GMLC-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2406, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Additional-Serving-Node", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2407, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PPR-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2408, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "MME-Realm", + "Type": "DiameterIdentity", + "Vendor": 10415 + }, + { + "Code": 2409, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "SGSN-Name", + "Type": "DiameterIdentity", + "Vendor": 10415 + }, + { + "Code": 2410, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "SGSN-Realm", + "Type": "DiameterIdentity", + "Vendor": 10415 + }, + { + "Code": 2601, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IMS-Application-Reference-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2602, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Low-Priority-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2603, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IP-Realm-Default-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2604, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Local-GW-Inserted-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2605, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Transcoder-Inserted-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2606, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PDP-Address-Prefix-Length", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2701, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Transit-IOI-List", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2702, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Status-AS-Code", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2703, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "NNI-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2704, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "NNI-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2705, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Neighbour-Node-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2706, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Relationship-Mode", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2707, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Session-Direction", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2708, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "From-Address", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2709, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Transfer-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2710, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Transfer-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2711, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Related-IMS-Charging-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2712, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Related-IMS-Charging-Identifier-Node", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2713, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "IMS-Visited-Network-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2714, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "TWAN-User-Location-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2716, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "BSSID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2717, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "TAD-Identifier", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2802, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "TDF-Application-Instance-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2804, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "HeNB-Local-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2805, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "UE-Local-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 2806, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "UDP-Source-Port", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2807, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CS-Service-QoS-Request-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2808, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CS-Service-QoS-Request-Operation", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2809, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Mute-Notification", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2810, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Monitoring-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2811, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "AN-GW-Status", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2812, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "User-Location-Info-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2813, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CS-Service-Resource-Report", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2814, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CS-Service-Resource-Failure-Cause", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2815, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CS-Service-Resource-Result-Operation", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2816, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Default-QoS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2817, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Default-QoS-Name", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 2818, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Conditional-APN-Aggregate-Max-Bitrate", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2819, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "RAN-NAS-Release-Cause", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2820, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Presence-Reporting-Area-Elements-List", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2821, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Presence-Reporting-Area-Identifier", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2822, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Presence-Reporting-Area-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2823, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Presence-Reporting-Area-Status", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2824, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "NetLoc-Access-Support", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2825, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Fixed-User-Location-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2826, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "PCSCF-Restoration-Indication", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2827, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "IP-CAN-Session-Charging-Scope", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2828, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Monitoring-Flags", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2829, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Default-Access", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2830, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "NBIFOM-Mode", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2831, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "NBIFOM-Support", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2832, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "RAN-Rule-Support", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2833, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Access-Availability-Change-Reason", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2834, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-Rule-Failure-Code", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2835, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Routing-Rule-Report", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2836, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Traffic-Steering-Policy-Identifier-DL", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2837, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Traffic-Steering-Policy-Identifier-UL", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 2838, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Request-Type", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2839, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Execution-Time", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 2840, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Conditional-Policy-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2841, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Resource-Release-Notification", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2842, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Removal-Of-Access", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2843, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "TCP-Source-Port", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2844, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Default-Bearer-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2845, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "PRA-Install", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2846, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "PRA-Remove", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 2847, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "3GPP-PS-Data-Off-Status", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 2848, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-APN-AMBR-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2849, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-APN-AMBR-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2850, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-GBR-DL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 2851, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "Extended-GBR-UL", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3111, + "Flags": { + "Must": "V", + "MustNot": "M" + }, + "Name": "External-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3401, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Reason-Header", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3402, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Instance-Id", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3403, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Route-Header-Received", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3404, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Route-Header-Transmitted", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3405, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-Device-Trigger-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3406, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MTC-IWF-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 3407, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-Device-Trigger-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3408, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SM-Sequence-Number", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3409, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SMS-Result", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3410, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "VCS-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3411, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Basic-Service-Code", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3412, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Bearer-Capability", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3413, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Teleservice", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3414, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ISUP-Location-Number", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3415, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Forwarding-Pending", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3416, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ISUP-Cause", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3417, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "MSC-Address", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3418, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Network-Call-Reference-Number", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3419, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Start-of-Charging", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 3420, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "VLR-Number", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3421, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CN-Operator-Selection-Entity", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3422, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ISUP-Cause-Diagnostics", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3423, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ISUP-Cause-Location", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3424, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ISUP-Cause-Value", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3425, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "EPDG-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 3426, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Announcing-UE-HPLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3427, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Announcing-UE-VPLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3428, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Coverage-Status", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3429, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Layer-2-Group-ID", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3430, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitored-PLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3431, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitoring-UE-HPLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3432, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitoring-UE-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3433, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitoring-UE-VPLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3434, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PC3-Control-Protocol-Cause", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 3435, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "PC3-EPC-Control-Protocol-Cause", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 3436, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Requested-PLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3437, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Requestor-PLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3438, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Role-Of-ProSe-Function", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3439, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Usage-Information-Report-Sequence-Number", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 3440, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-3rd-Party-Application-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3441, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Direct-Communication-Transmission-Data-Container", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3442, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Direct-Discovery-Model", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3443, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Event-Type", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3444, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Function-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 3445, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Functionality", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3446, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Group-IP-Multicast-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 3447, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3448, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Range-Class", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3449, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Reason-For-Cancellation", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3450, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Request-Timestamp", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 3451, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Role-Of-UE", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3452, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Source-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 3453, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-UE-ID", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3454, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Proximity-Alert-Indication", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3455, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Proximity-Alert-Timestamp", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 3456, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Proximity-Cancellation-Timestamp", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 3457, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Function-PLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3458, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Application-Specific-Data", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3459, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Coverage-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3460, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Location-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3461, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Direct-Communication-Reception-Data-Container", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3462, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Radio-Frequency", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3463, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Radio-Parameter-Set-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3464, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Radio-Parameter-Set-Values", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3465, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Radio-Resources-Indicator", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 3466, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-First-Reception", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 3467, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-First-Transmission", + "Type": "Time", + "Vendor": 10415 + }, + { + "Code": 3468, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Transmitter-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3901, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Enhanced-Diagnostics", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3902, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Inter-UE-Transfer", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3903, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "TWAG-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 3904, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Announcement-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3905, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Announcement-Identifier", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3906, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Announcement-Order", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3907, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Variable-Part", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3908, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Variable-Part-Order", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3909, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Variable-Part-Type", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3910, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Variable-Part-Value", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3911, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Time-Indicator", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3912, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Quota-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3913, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Play-Alternative", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3914, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Language", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3915, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Privacy-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3916, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Called-Identity", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 3917, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Called-Identity-Change", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3918, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "UWAN-User-Location-Info", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3919, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitoring-Event-Configuration-Activity", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 3920, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitoring-Event-Report-Data", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3921, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitoring-Event-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3922, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitoring-Event-Functionality", + "Type": "Integer32", + "Vendor": 10415 + }, + { + "Code": 3923, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Monitoring-Event-Report-Number", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3924, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Cellular-Network-Information", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 3925, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Related-Change-Condition-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3926, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Related-Trigger", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3927, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CPDT-Information", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3928, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "NIDD-Submission", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3929, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Serving-Node-Identity", + "Type": "DiameterIdentity", + "Vendor": 10415 + }, + { + "Code": 3930, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "CP-CIoT-EPS-Optimisation-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3931, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SGi-PtP-Tunnelling-Method", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3932, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "UNI-PDU-CP-Only-Flag", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3933, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "APN-Rate-Control", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3934, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "APN-Rate-Control-Downlink", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3935, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "APN-Rate-Control-Uplink", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3936, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Additional-Exception-Reports", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 3937, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Rate-Control-Max-Message-Size", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3938, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Rate-Control-Max-Rate", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3939, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Rate-Control-Time-Unit", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 3940, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SCS-AS-Address", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 3941, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SCS-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 3942, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "SCS-Realm", + "Type": "DiameterIdentity", + "Vendor": 10415 + }, + { + "Code": 4400, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Charging-Per-IP-CAN-Session-Indicator", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 4401, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Access-Network-Info-Change", + "Type": "Grouped", + "Vendor": 10415 + }, + { + "Code": 4402, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Discoveree-UE-HPLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 4403, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Discoveree-UE-VPLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 4404, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Discoverer-UE-HPLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 4405, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Discoverer-UE-VPLMN-Identifier", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 4406, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "3GPP-PS-Data-Off-Status-32.299", + "Type": "Enumerated", + "Vendor": 10415 + }, + { + "Code": 4407, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Unused-Quota-Timer", + "Type": "Unsigned32", + "Vendor": 10415 + }, + { + "Code": 4408, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Announcing-PLMN-ID", + "Type": "UTF8String", + "Vendor": 10415 + }, + { + "Code": 4409, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-UE-to-Network-Relay-UE-ID", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 4410, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "ProSe-Target-Layer-2-ID", + "Type": "OctetString", + "Vendor": 10415 + }, + { + "Code": 4411, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Relay-IP-address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 4412, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "Target-IP-Address", + "Type": "Address", + "Vendor": 10415 + }, + { + "Code": 4413, + "Flags": { + "Must": "VM", + "MustNot": "" + }, + "Name": "FE-Identifier-List", + "Type": "UTF8String", + "Vendor": 10415 + } + ], + "CommandRules": [ + { + "Command": "Credit-Control-Request", + "Content": [ + { + "AVP": "Credit-Management-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Supported-Features", + "Vendor": 10415 + }, + { + "AVP": "TDF-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Network-Request-Support", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Packet-Filter-Information", + "Vendor": 10415 + }, + { + "AVP": "Packet-Filter-Operation", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Bearer-Identifier", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Bearer-Operation", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Dynamic-Address-Flag", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Dynamic-Address-Flag-Extension", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "PDN-Connection-Charging-ID", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Framed-IP-Address", + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-RAT-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AN-Trusted", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAT-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "QoS-Negotiation", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "QoS-Upgrade", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-EPS-Bearer-QoS", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AN-GW-Address", + "Vendor": 10415, + "Max": 2 + }, + { + "AVP": "AN-GW-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-SGSN-MCC-MNC", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-SGSN-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-SGSN-IPv6-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-GGSN-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-GGSN-IPv6-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-Selection-Mode", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAI", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-User-Location-Info", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Fixed-User-Location-Info", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "User-Location-Info-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "User-CSG-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-MS-TimeZone", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAN-NAS-Release-Cause", + "Vendor": 10415 + }, + { + "AVP": "3GPP-Charging-Characteristics", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Called-Station-Id", + "Max": 1 + }, + { + "AVP": "PDN-Connection-ID", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Bearer-Usage", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Online", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Offline", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "TFT-Packet-Filter-Information", + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Report", + "Vendor": 10415 + }, + { + "AVP": "Application-Detection-Information", + "Vendor": 10415 + }, + { + "AVP": "Event-Trigger", + "Vendor": 10415 + }, + { + "AVP": "Event-Report-Indication", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Access-Network-Charging-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Access-Network-Charging-Identifier-Gx", + "Vendor": 10415 + }, + { + "AVP": "CoA-Information", + "Vendor": 10415 + }, + { + "AVP": "Usage-Monitoring-Information", + "Vendor": 10415 + }, + { + "AVP": "NBIFOM-Support", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "NBIFOM-Mode", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-Access", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Access-Availability-Change-Reason", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Routing-Rule-Install", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Routing-Rule-Remove", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "HeNB-Local-IP-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "UE-Local-IP-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "UDP-Source-Port", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "TCP-Source-Port", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Presence-Reporting-Area-Information", + "Vendor": 10415 + }, + { + "AVP": "3GPP-PS-Data-Off-Status", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Service-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "AoC-Request-Type", + "Max": 1, + "Vendor": 10415 + } + + ] + }, + { + "Command": "Credit-Control-Answer", + "Content": [ + { + "AVP": "Experimental-Result", + "Max": 1 + }, + { + "AVP": "Supported-Features", + "Vendor": 10415 + }, + { + "AVP": "Bearer-Control-Mode", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Event-Trigger", + "Vendor": 10415 + }, + { + "AVP": "Event-Report-Indication", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Charging-Rule-Remove", + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Install", + "Vendor": 10415 + }, + { + "AVP": "Charging-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Online", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Offline", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "QoS-Information", + "Vendor": 10415 + }, + { + "AVP": "Revalidation-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-EPS-Bearer-QoS", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Bearer-Usage", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Usage-Monitoring-Information", + "Vendor": 10415 + }, + { + "AVP": "CSG-Information-Reporting", + "Vendor": 10415 + }, + { + "AVP": "User-CSG-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "PRA-Install", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "PRA-Remove", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Presence-Reporting-Area-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Session-Release-Cause", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "NBIFOM-Support", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "NBIFOM-Mode", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-Access", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAN-Rule-Support", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Routing-Rule-Report", + "Vendor": 10415 + }, + { + "AVP": "Conditional-Policy-Information", + "Vendor": 10415, + "Max": 4 + }, + { + "AVP": "Removal-Of-Access", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Error-Message", + "Max": 1 + }, + { + "AVP": "Error-Reporting-Host", + "Max": 1 + }, + { + "AVP": "Service-Information", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Low-Balance-Indication", + "Max": 1, + "Vendor": 10415 + }, + { + "AVP": "Remaining-Balance", + "Max": 1, + "Vendor": 10415 + } + ] + }, + { + "Command": "Re-Auth-Request", + "Content": [ + { + "AVP": "Session-Release-Cause", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Event-Trigger", + "Vendor": 10415 + }, + { + "AVP": "Event-Report-Indication", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Charging-Rule-Remove", + "Vendor": 10415 + }, + { + "AVP": "Charging-Rule-Install", + "Vendor": 10415 + }, + { + "AVP": "Default-EPS-Bearer-QoS", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "QoS-Information", + "Vendor": 10415 + }, + { + "AVP": "Default-QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Revalidation-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Usage-Monitoring-Information", + "Vendor": 10415 + }, + { + "AVP": "PCSCF-Restoration-Indication", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Conditional-Policy-Information", + "Vendor": 10415, + "Max": 4 + }, + { + "AVP": "Removal-Of-Access", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "PRA-Install", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "PRA-Remove", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Specific-Action", + "Vendor": 10415, + "Min": 1, + "Max": 1 + }, + { + "AVP": "Access-Network-Charging-Identifier", + "Vendor": 10415 + }, + { + "AVP": "Access-Network-Charging-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AN-GW-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AN-Trusted", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Flows", + "Vendor": 10415 + }, + { + "AVP": "Subscription-Id" + }, + { + "AVP": "Abort-Cause", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "NetLoc-Access-Support", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAT-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Sponsored-Connectivity-Data", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-User-Location-Info", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "User-Location-Info-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-MS-TimeZone", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAN-NAS-Release-Cause", + "Vendor": 10415 + }, + { + "AVP": "3GPP-SGSN-MCC-MNC", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "TCP-Source-Port", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "UDP-Source-Port", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "UE-Local-IP-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Class" + } + ] + }, + { + "Command": "Re-Auth-Answer", + "Content": [ + { + "AVP": "Experimental-Result", + "Max": 1 + }, + { + "AVP": "IP-CAN-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAT-Type", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AN-Trusted", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "AN-GW-Address", + "Vendor": 10415, + "Max": 2 + }, + { + "AVP": "3GPP-SGSN-MCC-MNC", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-SGSN-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-SGSN-IPv6-Address", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "RAI", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-User-Location-Info", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "User-Location-Info-Time", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "NetLoc-Access-Support", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "User-CSG-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "3GPP-MS-TimeZone", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Default-QoS-Information", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Charging-Rule-Report", + "Vendor": 10415 + }, + { + "AVP": "Media-Component-Description", + "Vendor": 10415 + }, + { + "AVP": "Service-URN", + "Vendor": 10415, + "Max": 1 + }, + { + "AVP": "Class" + } + + ] + } + ], + "Vendors": [ + { + "Code": 5535, + "Name": "3GPP2" + }, + { + "Code": 10415, + "Name": "3GPP" + } + ] +} diff --git a/contrib/dict_json/dictionary_dcca_3gpp_sy.json b/contrib/dict_json/dictionary_dcca_3gpp_sy.json new file mode 100644 index 0000000..91095cd --- /dev/null +++ b/contrib/dict_json/dictionary_dcca_3gpp_sy.json @@ -0,0 +1,377 @@ +{ + "AVPRules" : [ + { + "AVP" : "Policy-Counter-Status-Report", + "Content" : [ + { + "AVP" : "Policy-Counter-Identifier", + "Vendor" : 10415 + }, + { + "AVP" : "Policy-Counter-Status", + "Vendor" : 10415 + } + ], + "Vendor" : 10415 + } + ], + "AVPs" : [ + { + "Code" : 2901, + "Flags" : { + "Must" : "VM", + "MustNot" : "" + }, + "Name" : "Policy-Counter-Identifier", + "Type" : "UTF8String", + "Vendor" : 10415 + }, + { + "Code" : 2902, + "Flags" : { + "Must" : "VM", + "MustNot" : "" + }, + "Name" : "Policy-Counter-Status", + "Type" : "UTF8String", + "Vendor" : 10415 + }, + { + "Code" : 2903, + "Flags" : { + "Must" : "VM", + "MustNot" : "" + }, + "Name" : "Policy-Counter-Status-Report", + "Type" : "Grouped", + "Vendor" : 10415 + }, + { + "Code" : 2904, + "EnumValues" : [ + { + "Code" : 0, + "Name" : "INITIAL_REQUEST" + }, + { + "Code" : 1, + "Name" : "INTERMEDIATE_REQUEST" + } + ], + "Flags" : { + "Must" : "VM", + "MustNot" : "" + }, + "Name" : "SL-Request-Type", + "Type" : "Enumerated", + "Vendor" : 10415 + } + ], + "Applications" : [ + { + "Code" : 16777302, + "Name" : "Sy" + } + ], + "CommandRules" : [ + { + "Command" : "Spending-Limit-Request", + "Content" : [ + { + "AVP" : "Auth-Application-Id", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Route-Record", + "Min" : 0 + }, + { + "AVP" : "Destination-Realm", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Proxy-Info", + "Min" : 0 + }, + { + "AVP" : "Destination-Host", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Subscription-Id", + "Min" : 0 + }, + { + "AVP" : "Policy-Counter-Identifier", + "Min" : 0, + "Vendor" : 10415 + }, + { + "AVP" : "SL-Request-Type", + "Max" : 1, + "Min" : 1, + "Vendor" : 10415 + } + ] + }, + { + "Command" : "Spending-Limit-Answer", + "Content" : [ + { + "AVP" : "Auth-Application-Id", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Redirect-Host-Usage", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Redirect-Max-Cache-Time", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Failed-AVP", + "Min" : 0 + }, + { + "AVP" : "Error-Message", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Proxy-Info", + "Min" : 0 + }, + { + "AVP" : "Redirect-Host", + "Min" : 0 + }, + { + "AVP" : "Error-Reporting-Host", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Experimental-Result", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Policy-Counter-Status-Report", + "Min" : 0, + "Vendor" : 10415 + } + ] + }, + { + "Command" : "Spending-Status-Notification-Request", + "Content" : [ + { + "AVP" : "Auth-Application-Id", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Route-Record", + "Min" : 0 + }, + { + "AVP" : "Destination-Realm", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Proxy-Info", + "Min" : 0 + }, + { + "AVP" : "Destination-Host", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Policy-Counter-Status-Report", + "Min" : 0, + "Vendor" : 10415 + } + ] + }, + { + "Command" : "Spending-Status-Notification-Answer", + "Content" : [ + { + "AVP" : "Redirect-Host-Usage", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Redirect-Max-Cache-Time", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Failed-AVP", + "Min" : 0 + }, + { + "AVP" : "Error-Message", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Proxy-Info", + "Min" : 0 + }, + { + "AVP" : "Redirect-Host", + "Min" : 0 + }, + { + "AVP" : "Error-Reporting-Host", + "Max" : 1, + "Min" : 0 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1, + "Min" : 1 + }, + { + "AVP" : "Experimental-Result", + "Max" : 1, + "Min" : 0 + } + ] + } + ], + "Commands" : [ + { + "Code" : 8388635, + "Flags" : { + "Must" : "R", + "MustNot" : "" + }, + "Name" : "Spending-Limit-Request" + }, + { + "Code" : 8388635, + "Flags" : { + "Must" : "", + "MustNot" : "R" + }, + "Name" : "Spending-Limit-Answer" + }, + { + "Code" : 8388636, + "Flags" : { + "Must" : "R", + "MustNot" : "" + }, + "Name" : "Spending-Status-Notification-Request" + }, + { + "Code" : 8388636, + "Flags" : { + "Must" : "", + "MustNot" : "R" + }, + "Name" : "Spending-Status-Notification-Answer" + } + ] +} + diff --git a/contrib/dict_json/dictionary_freediameter_base.json b/contrib/dict_json/dictionary_freediameter_base.json new file mode 100644 index 0000000..de50a17 --- /dev/null +++ b/contrib/dict_json/dictionary_freediameter_base.json @@ -0,0 +1,1632 @@ +{ + "AVPRules" : [ + { + "AVP" : "Vendor-Specific-Application-Id", + "Content" : [ + { + "AVP" : "Auth-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Acct-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Vendor-Id" + } + ] + }, + { + "AVP" : "Proxy-Info", + "Content" : [ + { + "AVP" : "Proxy-State", + "Max" : 1 + }, + { + "AVP" : "Proxy-Host", + "Max" : 1 + } + ] + } + ], + "AVPs" : [ + { + "Code" : 1, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "User-Name", + "Type" : "UTF8String" + }, + { + "Code" : 25, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Class", + "Type" : "OctetString" + }, + { + "Code" : 27, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Session-Timeout", + "Type" : "Unsigned32" + }, + { + "Code" : 33, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Proxy-State", + "Type" : "OctetString" + }, + { + "Code" : 44, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Session-Id", + "Type" : "OctetString" + }, + { + "Code" : 50, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Multi-Session-Id", + "Type" : "UTF8String" + }, + { + "Code" : 55, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Event-Timestamp", + "Type" : "Time" + }, + { + "Code" : 85, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Interim-Interval", + "Type" : "Unsigned32" + }, + { + "Code" : 257, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Host-IP-Address", + "Type" : "Address" + }, + { + "Code" : 258, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Auth-Application-Id", + "Type" : "Unsigned32" + }, + { + "Code" : 259, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Application-Id", + "Type" : "Unsigned32" + }, + { + "Code" : 260, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Vendor-Specific-Application-Id", + "Type" : "Grouped" + }, + { + "Code" : 261, + "EnumValues" : [ + { + "Code" : 5, + "Name" : "ALL_HOST" + }, + { + "Code" : 6, + "Name" : "ALL_USER" + }, + { + "Code" : 2, + "Name" : "ALL_REALM" + }, + { + "Code" : 0, + "Name" : "DONT_CACHE" + }, + { + "Code" : 1, + "Name" : "ALL_SESSION" + }, + { + "Code" : 4, + "Name" : "ALL_APPLICATION" + }, + { + "Code" : 3, + "Name" : "REALM_AND_APPLICATION" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Redirect-Host-Usage", + "Type" : "Enumerated" + }, + { + "Code" : 262, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Redirect-Max-Cache-Time", + "Type" : "Unsigned32" + }, + { + "Code" : 263, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Session-Id", + "Type" : "UTF8String" + }, + { + "Code" : 264, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Origin-Host", + "Type" : "DiameterIdentity" + }, + { + "Code" : 265, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Supported-Vendor-Id", + "Type" : "Unsigned32" + }, + { + "Code" : 266, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Vendor-Id", + "Type" : "Unsigned32" + }, + { + "Code" : 267, + "Flags" : { + "Must" : "", + "MustNot" : "VM" + }, + "Name" : "Firmware-Revision", + "Type" : "Unsigned32" + }, + { + "Code" : 268, + "EnumValues" : [ + { + "Code" : 4003, + "Name" : "ELECTION_LOST" + }, + { + "Code" : 2001, + "Name" : "DIAMETER_SUCCESS" + }, + { + "Code" : 3004, + "Name" : "DIAMETER_TOO_BUSY" + }, + { + "Code" : 5005, + "Name" : "DIAMETER_MISSING_AVP" + }, + { + "Code" : 4002, + "Name" : "DIAMETER_OUT_OF_SPACE" + }, + { + "Code" : 3010, + "Name" : "DIAMETER_UNKNOWN_PEER" + }, + { + "Code" : 3005, + "Name" : "DIAMETER_LOOP_DETECTED" + }, + { + "Code" : 5008, + "Name" : "DIAMETER_AVP_NOT_ALLOWED" + }, + { + "Code" : 5001, + "Name" : "DIAMETER_AVP_UNSUPPORTED" + }, + { + "Code" : 2002, + "Name" : "DIAMETER_LIMITED_SUCCESS" + }, + { + "Code" : 3009, + "Name" : "DIAMETER_INVALID_AVP_BITS" + }, + { + "Code" : 3008, + "Name" : "DIAMETER_INVALID_HDR_BITS" + }, + { + "Code" : 1001, + "Name" : "DIAMETER_MULTI_ROUND_AUTH" + }, + { + "Code" : 3003, + "Name" : "DIAMETER_REALM_NOT_SERVED" + }, + { + "Code" : 5012, + "Name" : "DIAMETER_UNABLE_TO_COMPLY" + }, + { + "Code" : 5004, + "Name" : "DIAMETER_INVALID_AVP_VALUE" + }, + { + "Code" : 3002, + "Name" : "DIAMETER_UNABLE_TO_DELIVER" + }, + { + "Code" : 5007, + "Name" : "DIAMETER_CONTRADICTING_AVPS" + }, + { + "Code" : 5014, + "Name" : "DIAMETER_INVALID_AVP_LENGTH" + }, + { + "Code" : 5017, + "Name" : "DIAMETER_NO_COMMON_SECURITY" + }, + { + "Code" : 5006, + "Name" : "DIAMETER_RESOURCES_EXCEEDED" + }, + { + "Code" : 5002, + "Name" : "DIAMETER_UNKNOWN_SESSION_ID" + }, + { + "Code" : 3001, + "Name" : "DIAMETER_COMMAND_UNSUPPORTED" + }, + { + "Code" : 3006, + "Name" : "DIAMETER_REDIRECT_INDICATION" + }, + { + "Code" : 5011, + "Name" : "DIAMETER_UNSUPPORTED_VERSION" + }, + { + "Code" : 5016, + "Name" : "DIAMETER_INVALID_AVP_BIT_COMBO" + }, + { + "Code" : 5013, + "Name" : "DIAMETER_INVALID_BIT_IN_HEADER" + }, + { + "Code" : 5010, + "Name" : "DIAMETER_NO_COMMON_APPLICATION" + }, + { + "Code" : 5003, + "Name" : "DIAMETER_AUTHORIZATION_REJECTED" + }, + { + "Code" : 5015, + "Name" : "DIAMETER_INVALID_MESSAGE_LENGTH" + }, + { + "Code" : 3007, + "Name" : "DIAMETER_APPLICATION_UNSUPPORTED" + }, + { + "Code" : 4001, + "Name" : "DIAMETER_AUTHENTICATION_REJECTED" + }, + { + "Code" : 5009, + "Name" : "DIAMETER_AVP_OCCURS_TOO_MANY_TIMES" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Result-Code", + "Type" : "Unsigned32" + }, + { + "Code" : 269, + "Flags" : { + "Must" : "", + "MustNot" : "VM" + }, + "Name" : "Product-Name", + "Type" : "UTF8String" + }, + { + "Code" : 270, + "EnumValues" : [ + { + "Code" : 2, + "Name" : "STR" + }, + { + "Code" : 1, + "Name" : "RE_AUTH" + }, + { + "Code" : 4, + "Name" : "ACCOUNTING" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Session-Binding", + "Type" : "Unsigned32" + }, + { + "Code" : 271, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "TRY_AGAIN" + }, + { + "Code" : 2, + "Name" : "ALLOW_SERVICE" + }, + { + "Code" : 0, + "Name" : "REFUSE_SERVICE" + }, + { + "Code" : 3, + "Name" : "TRY_AGAIN_ALLOW_SERVICE" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Session-Server-Failover", + "Type" : "Enumerated" + }, + { + "Code" : 272, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Multi-Round-Time-Out", + "Type" : "Unsigned32" + }, + { + "Code" : 273, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "BUSY" + }, + { + "Code" : 0, + "Name" : "REBOOTING" + }, + { + "Code" : 2, + "Name" : "DO_NOT_WANT_TO_TALK_TO_YOU" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Disconnect-Cause", + "Type" : "Enumerated" + }, + { + "Code" : 274, + "EnumValues" : [ + { + "Code" : 2, + "Name" : "AUTHORIZE_ONLY" + }, + { + "Code" : 1, + "Name" : "AUTHENTICATE_ONLY" + }, + { + "Code" : 3, + "Name" : "AUTHORIZE_AUTHENTICATE" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Auth-Request-Type", + "Type" : "Enumerated" + }, + { + "Code" : 276, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Auth-Grace-Period", + "Type" : "Unsigned32" + }, + { + "Code" : 277, + "EnumValues" : [ + { + "Code" : 0, + "Name" : "STATE_MAINTAINED" + }, + { + "Code" : 1, + "Name" : "NO_STATE_MAINTAINED" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Auth-Session-State", + "Type" : "Enumerated" + }, + { + "Code" : 278, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Origin-State-Id", + "Type" : "Unsigned32" + }, + { + "Code" : 279, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Failed-AVP", + "Type" : "Grouped" + }, + { + "Code" : 280, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Proxy-Host", + "Type" : "DiameterIdentity" + }, + { + "Code" : 281, + "Flags" : { + "Must" : "", + "MustNot" : "VM" + }, + "Name" : "Error-Message", + "Type" : "UTF8String" + }, + { + "Code" : 282, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Route-Record", + "Type" : "DiameterIdentity" + }, + { + "Code" : 283, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Destination-Realm", + "Type" : "DiameterIdentity" + }, + { + "Code" : 284, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Proxy-Info", + "Type" : "Grouped" + }, + { + "Code" : 285, + "EnumValues" : [ + { + "Code" : 0, + "Name" : "AUTHORIZE_ONLY" + }, + { + "Code" : 1, + "Name" : "AUTHORIZE_AUTHENTICATE" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Re-Auth-Request-Type", + "Type" : "Enumerated" + }, + { + "Code" : 287, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Sub-Session-Id", + "Type" : "Unsigned64" + }, + { + "Code" : 291, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Authorization-Lifetime", + "Type" : "Unsigned32" + }, + { + "Code" : 292, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Redirect-Host", + "Type" : "DiameterURI" + }, + { + "Code" : 293, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Destination-Host", + "Type" : "DiameterIdentity" + }, + { + "Code" : 294, + "Flags" : { + "Must" : "", + "MustNot" : "VM" + }, + "Name" : "Error-Reporting-Host", + "Type" : "DiameterIdentity" + }, + { + "Code" : 295, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "DIAMETER_LOGOUT" + }, + { + "Code" : 3, + "Name" : "DIAMETER_BAD_ANSWER" + }, + { + "Code" : 7, + "Name" : "DIAMETER_USER_MOVED" + }, + { + "Code" : 5, + "Name" : "DIAMETER_LINK_BROKEN" + }, + { + "Code" : 6, + "Name" : "DIAMETER_AUTH_EXPIRED" + }, + { + "Code" : 4, + "Name" : "DIAMETER_ADMINISTRATIVE" + }, + { + "Code" : 8, + "Name" : "DIAMETER_SESSION_TIMEOUT" + }, + { + "Code" : 2, + "Name" : "DIAMETER_SERVICE_NOT_PROVIDED" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Termination-Cause", + "Type" : "Enumerated" + }, + { + "Code" : 296, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Origin-Realm", + "Type" : "DiameterIdentity" + }, + { + "Code" : 297, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Experimental-Result", + "Type" : "Grouped" + }, + { + "Code" : 298, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Experimental-Result-Code", + "Type" : "Unsigned32" + }, + { + "Code" : 299, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "TLS" + }, + { + "Code" : 0, + "Name" : "NO_INBAND_SECURITY" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Inband-Security-Id", + "Type" : "Unsigned32" + }, + { + "Code" : 480, + "EnumValues" : [ + { + "Code" : 4, + "Name" : "STOP_RECORD" + }, + { + "Code" : 1, + "Name" : "EVENT_RECORD" + }, + { + "Code" : 2, + "Name" : "START_RECORD" + }, + { + "Code" : 3, + "Name" : "INTERIM_RECORD" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Record-Type", + "Type" : "Enumerated" + }, + { + "Code" : 483, + "EnumValues" : [ + { + "Code" : 3, + "Name" : "GRANT_AND_LOSE" + }, + { + "Code" : 2, + "Name" : "GRANT_AND_STORE" + }, + { + "Code" : 1, + "Name" : "DELIVER_AND_GRANT" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Realtime-Required", + "Type" : "Enumerated" + }, + { + "Code" : 485, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Record-Number", + "Type" : "Unsigned32" + } + ], + "Applications" : [ + { + "Code" : 0, + "Name" : "Diameter Common Messages" + }, + { + "Code" : 3, + "Name" : "Diameter Base Accounting" + }, + { + "Code" : 4294967295, + "Name" : "Relay" + } + ], + "CommandRules" : [ + { + "Command" : "Capabilities-Exchange-Request", + "Content" : [ + { + "AVP" : "Host-IP-Address" + }, + { + "AVP" : "Auth-Application-Id" + }, + { + "AVP" : "Acct-Application-Id" + }, + { + "AVP" : "Vendor-Specific-Application-Id" + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Supported-Vendor-Id" + }, + { + "AVP" : "Vendor-Id", + "Max" : 1 + }, + { + "AVP" : "Firmware-Revision", + "Max" : 1 + }, + { + "AVP" : "Product-Name", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + }, + { + "AVP" : "Inband-Security-Id" + } + ] + }, + { + "Command" : "Capabilities-Exchange-Answer", + "Content" : [ + { + "AVP" : "Host-IP-Address" + }, + { + "AVP" : "Auth-Application-Id" + }, + { + "AVP" : "Acct-Application-Id" + }, + { + "AVP" : "Vendor-Specific-Application-Id" + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Supported-Vendor-Id" + }, + { + "AVP" : "Vendor-Id", + "Max" : 1 + }, + { + "AVP" : "Firmware-Revision", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Product-Name", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP", + "Max" : 1 + }, + { + "AVP" : "Error-Message", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + }, + { + "AVP" : "Inband-Security-Id" + } + ] + }, + { + "Command" : "Re-Auth-Request", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Auth-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Route-Record" + }, + { + "AVP" : "Destination-Realm", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Re-Auth-Request-Type", + "Max" : 1 + }, + { + "AVP" : "Destination-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Re-Auth-Answer", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Redirect-Host-Usage", + "Max" : 1 + }, + { + "AVP" : "Redirect-Max-Cache-Time", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP", + "Max" : 1 + }, + { + "AVP" : "Error-Message", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Redirect-Host" + }, + { + "AVP" : "Error-Reporting-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Accounting-Request", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Acct-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Acct-Multi-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Event-Timestamp", + "Max" : 1 + }, + { + "AVP" : "Acct-Interim-Interval", + "Max" : 1 + }, + { + "AVP" : "Acct-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Vendor-Specific-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Route-Record" + }, + { + "AVP" : "Destination-Realm", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Accounting-Sub-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Destination-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + }, + { + "AVP" : "Accounting-Record-Type", + "Max" : 1 + }, + { + "AVP" : "Accounting-Realtime-Required", + "Max" : 1 + }, + { + "AVP" : "Accounting-Record-Number", + "Max" : 1 + } + ] + }, + { + "Command" : "Accounting-Answer", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Acct-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Acct-Multi-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Event-Timestamp", + "Max" : 1 + }, + { + "AVP" : "Acct-Interim-Interval", + "Max" : 1 + }, + { + "AVP" : "Acct-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Vendor-Specific-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP", + "Max" : 1 + }, + { + "AVP" : "Error-Message", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Accounting-Sub-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Error-Reporting-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + }, + { + "AVP" : "Accounting-Record-Type", + "Max" : 1 + }, + { + "AVP" : "Accounting-Realtime-Required", + "Max" : 1 + }, + { + "AVP" : "Accounting-Record-Number", + "Max" : 1 + } + ] + }, + { + "Command" : "Abort-Session-Request", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Auth-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Route-Record" + }, + { + "AVP" : "Destination-Realm", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Destination-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Abort-Session-Answer", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Redirect-Host-Usage", + "Max" : 1 + }, + { + "AVP" : "Redirect-Max-Cache-Time", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP", + "Max" : 1 + }, + { + "AVP" : "Error-Message", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Redirect-Host" + }, + { + "AVP" : "Error-Reporting-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Session-Termination-Request", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Class" + }, + { + "AVP" : "Auth-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Route-Record" + }, + { + "AVP" : "Destination-Realm", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Destination-Host", + "Max" : 1 + }, + { + "AVP" : "Termination-Cause", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Session-Termination-Answer", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Class" + }, + { + "AVP" : "Redirect-Host-Usage", + "Max" : 1 + }, + { + "AVP" : "Redirect-Max-Cache-Time", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP", + "Max" : 1 + }, + { + "AVP" : "Error-Message", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Redirect-Host" + }, + { + "AVP" : "Error-Reporting-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Device-Watchdog-Request", + "Content" : [ + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Device-Watchdog-Answer", + "Content" : [ + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP", + "Max" : 1 + }, + { + "AVP" : "Error-Message", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Disconnect-Peer-Request", + "Content" : [ + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Disconnect-Cause", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + }, + { + "Command" : "Disconnect-Peer-Answer", + "Content" : [ + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP", + "Max" : 1 + }, + { + "AVP" : "Error-Message", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + } + ] + } + ], + "Commands" : [ + { + "Code" : 257, + "Flags" : { + "Must" : "R", + "MustNot" : "PET" + }, + "Name" : "Capabilities-Exchange-Request" + }, + { + "Code" : 257, + "Flags" : { + "Must" : "", + "MustNot" : "RPT" + }, + "Name" : "Capabilities-Exchange-Answer" + }, + { + "Code" : 258, + "Flags" : { + "Must" : "RP", + "MustNot" : "E" + }, + "Name" : "Re-Auth-Request" + }, + { + "Code" : 258, + "Flags" : { + "Must" : "P", + "MustNot" : "R" + }, + "Name" : "Re-Auth-Answer" + }, + { + "Code" : 271, + "Flags" : { + "Must" : "RP", + "MustNot" : "E" + }, + "Name" : "Accounting-Request" + }, + { + "Code" : 271, + "Flags" : { + "Must" : "P", + "MustNot" : "R" + }, + "Name" : "Accounting-Answer" + }, + { + "Code" : 274, + "Flags" : { + "Must" : "RP", + "MustNot" : "E" + }, + "Name" : "Abort-Session-Request" + }, + { + "Code" : 274, + "Flags" : { + "Must" : "P", + "MustNot" : "R" + }, + "Name" : "Abort-Session-Answer" + }, + { + "Code" : 275, + "Flags" : { + "Must" : "RP", + "MustNot" : "E" + }, + "Name" : "Session-Termination-Request" + }, + { + "Code" : 275, + "Flags" : { + "Must" : "P", + "MustNot" : "R" + }, + "Name" : "Session-Termination-Answer" + }, + { + "Code" : 280, + "Flags" : { + "Must" : "R", + "MustNot" : "PET" + }, + "Name" : "Device-Watchdog-Request" + }, + { + "Code" : 280, + "Flags" : { + "Must" : "", + "MustNot" : "RPT" + }, + "Name" : "Device-Watchdog-Answer" + }, + { + "Code" : 282, + "Flags" : { + "Must" : "R", + "MustNot" : "PET" + }, + "Name" : "Disconnect-Peer-Request" + }, + { + "Code" : 282, + "Flags" : { + "Must" : "", + "MustNot" : "RPT" + }, + "Name" : "Disconnect-Peer-Answer" + } + ], + "Types" : [ + { + "Base" : "OctetString", + "Name" : "Address" + }, + { + "Base" : "OctetString", + "Name" : "DiameterIdentity" + }, + { + "Base" : "OctetString", + "Name" : "DiameterURI" + }, + { + "Base" : "OctetString", + "Name" : "IPFilterRule" + }, + { + "Base" : "OctetString", + "Name" : "Time" + }, + { + "Base" : "OctetString", + "Name" : "UTF8String" + } + ], + "Vendors" : [ + { + "Code" : 0, + "Name" : "(no vendor)" + } + ] +} + diff --git a/contrib/dict_json/dictionary_nasreq.json b/contrib/dict_json/dictionary_nasreq.json new file mode 100644 index 0000000..e66a270 --- /dev/null +++ b/contrib/dict_json/dictionary_nasreq.json @@ -0,0 +1,2522 @@ +{ + "AVPRules" : [ + { + "AVP" : "Tunneling", + "Content" : [ + { + "AVP" : "Tunnel-Type", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Medium-Type", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Client-Endpoint", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Server-Endpoint", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Password", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Private-Group-Id", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Assignment-Id", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Preference", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Client-Auth-Id", + "Max" : 1 + }, + { + "AVP" : "Tunnel-Server-Auth-Id", + "Max" : 1 + } + ] + }, + { + "AVP" : "CHAP-Auth", + "Content" : [ + { + "AVP" : "CHAP-Algorithm", + "Max" : 1 + }, + { + "AVP" : "CHAP-Ident", + "Max" : 1 + }, + { + "AVP" : "CHAP-Response", + "Max" : 1 + } + ] + } + ], + "AVPs" : [ + { + "Code" : 2, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "User-Password", + "Type" : "OctetString" + }, + { + "Code" : 4, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "NAS-IP-Address", + "Type" : "OctetString" + }, + { + "Code" : 5, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "NAS-Port", + "Type" : "Unsigned32" + }, + { + "Code" : 6, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "Login" + }, + { + "Code" : 2, + "Name" : "Framed" + }, + { + "Code" : 5, + "Name" : "Outbound" + }, + { + "Code" : 10, + "Name" : "Call Check" + }, + { + "Code" : 7, + "Name" : "NAS Prompt" + }, + { + "Code" : 13, + "Name" : "Fax [Chiba]" + }, + { + "Code" : 12, + "Name" : "Voice [Chiba]" + }, + { + "Code" : 6, + "Name" : "Administrative" + }, + { + "Code" : 3, + "Name" : "Callback Login" + }, + { + "Code" : 4, + "Name" : "Callback Framed" + }, + { + "Code" : 8, + "Name" : "Authenticate Only" + }, + { + "Code" : 9, + "Name" : "Callback NAS Prompt" + }, + { + "Code" : 14, + "Name" : "Modem Relay [Chiba]" + }, + { + "Code" : 11, + "Name" : "Callback Administrative" + }, + { + "Code" : 17, + "Name" : "Authorize Only [RFC3576]" + }, + { + "Code" : 16, + "Name" : "IAPP-AP-Check [IEEE 802.11f][Kerry]" + }, + { + "Code" : 15, + "Name" : "IAPP-Register [IEEE 802.11f][Kerry]" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Service-Type", + "Type" : "Unsigned32" + }, + { + "Code" : 7, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "PPP" + }, + { + "Code" : 2, + "Name" : "SLIP" + }, + { + "Code" : 6, + "Name" : "X.75 Synchronous" + }, + { + "Code" : 7, + "Name" : "GPRS PDP Context [Moore]" + }, + { + "Code" : 5, + "Name" : "Xylogics proprietary IPX/SLIP" + }, + { + "Code" : 3, + "Name" : "AppleTalk Remote Access Protocol (ARAP)" + }, + { + "Code" : 4, + "Name" : "Gandalf proprietary SingleLink/MultiLink protocol" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-Protocol", + "Type" : "Unsigned32" + }, + { + "Code" : 8, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-IP-Address", + "Type" : "OctetString" + }, + { + "Code" : 9, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-IP-Netmask", + "Type" : "OctetString" + }, + { + "Code" : 10, + "EnumValues" : [ + { + "Code" : 0, + "Name" : "None" + }, + { + "Code" : 3, + "Name" : "Send and Listen" + }, + { + "Code" : 1, + "Name" : "Send routing packets" + }, + { + "Code" : 2, + "Name" : "Listen for routing packets" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-Routing", + "Type" : "Unsigned32" + }, + { + "Code" : 11, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Filter-Id", + "Type" : "UTF8String" + }, + { + "Code" : 12, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-MTU", + "Type" : "Unsigned32" + }, + { + "Code" : 13, + "EnumValues" : [ + { + "Code" : 0, + "Name" : "None" + }, + { + "Code" : 3, + "Name" : "Stac-LZS compression" + }, + { + "Code" : 2, + "Name" : "IPX header compression" + }, + { + "Code" : 1, + "Name" : "VJ TCP/IP header compression" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-Compression", + "Type" : "Unsigned32" + }, + { + "Code" : 14, + "EnumValues" : [ + { + "Code" : "<00000000>", + "Name" : "(0) NAS selects the host" + }, + { + "Code" : "<ffffffff>", + "Name" : "(1) User selects the address" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Login-IP-Host", + "Type" : "OctetString" + }, + { + "Code" : 15, + "EnumValues" : [ + { + "Code" : 4, + "Name" : "LAT" + }, + { + "Code" : 1, + "Name" : "Rlogin" + }, + { + "Code" : 0, + "Name" : "Telnet" + }, + { + "Code" : 5, + "Name" : "X25-PAD" + }, + { + "Code" : 2, + "Name" : "TCP Clear" + }, + { + "Code" : 6, + "Name" : "X25-T3POS" + }, + { + "Code" : 3, + "Name" : "PortMaster (proprietary)" + }, + { + "Code" : 8, + "Name" : "TCP Clear Quiet (suppresses any NAS-generated connect string)" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Login-Service", + "Type" : "Unsigned32" + }, + { + "Code" : 16, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Login-TCP-Port", + "Type" : "Unsigned32" + }, + { + "Code" : 18, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Reply-Message", + "Type" : "UTF8String" + }, + { + "Code" : 19, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Callback-Number", + "Type" : "UTF8String" + }, + { + "Code" : 20, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Callback-Id", + "Type" : "UTF8String" + }, + { + "Code" : 22, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-Route", + "Type" : "UTF8String" + }, + { + "Code" : 23, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-IPX-Network", + "Type" : "Unsigned32" + }, + { + "Code" : 24, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "State", + "Type" : "OctetString" + }, + { + "Code" : 28, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Idle-Timeout", + "Type" : "Unsigned32" + }, + { + "Code" : 30, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Called-Station-Id", + "Type" : "UTF8String" + }, + { + "Code" : 31, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Calling-Station-Id", + "Type" : "UTF8String" + }, + { + "Code" : 32, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "NAS-Identifier", + "Type" : "UTF8String" + }, + { + "Code" : 34, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Login-LAT-Service", + "Type" : "OctetString" + }, + { + "Code" : 35, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Login-LAT-Node", + "Type" : "OctetString" + }, + { + "Code" : 36, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Login-LAT-Group", + "Type" : "OctetString" + }, + { + "Code" : 37, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-AppleTalk-Link", + "Type" : "Unsigned32" + }, + { + "Code" : 38, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-AppleTalk-Network", + "Type" : "Unsigned32" + }, + { + "Code" : 39, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-AppleTalk-Zone", + "Type" : "OctetString" + }, + { + "Code" : 41, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Delay-Time", + "Type" : "Unsigned32" + }, + { + "Code" : 45, + "EnumValues" : [ + { + "Code" : 2, + "Name" : "Local" + }, + { + "Code" : 1, + "Name" : "RADIUS" + }, + { + "Code" : 3, + "Name" : "Remote" + }, + { + "Code" : 4, + "Name" : "Diameter" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Authentic", + "Type" : "Unsigned32" + }, + { + "Code" : 46, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Session-Time", + "Type" : "Unsigned32" + }, + { + "Code" : 51, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Link-Count", + "Type" : "Unsigned32" + }, + { + "Code" : 60, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CHAP-Challenge", + "Type" : "OctetString" + }, + { + "Code" : 61, + "EnumValues" : [ + { + "Code" : 21, + "Name" : "FDDI [RFC3580]" + }, + { + "Code" : 1, + "Name" : "Sync [RFC2865]" + }, + { + "Code" : 8, + "Name" : "X.25 [RFC2865]" + }, + { + "Code" : 9, + "Name" : "X.75 [RFC2865]" + }, + { + "Code" : 0, + "Name" : "Async [RFC2865]" + }, + { + "Code" : 17, + "Name" : "Cable [RFC2865]" + }, + { + "Code" : 6, + "Name" : "PIAFS [RFC2865]" + }, + { + "Code" : 10, + "Name" : "G.3 Fax [RFC2865]" + }, + { + "Code" : 5, + "Name" : "Virtual [RFC2865]" + }, + { + "Code" : 15, + "Name" : "Ethernet [RFC2865]" + }, + { + "Code" : 2, + "Name" : "ISDN Sync [RFC2865]" + }, + { + "Code" : 20, + "Name" : "Token-Ring [RFC3580]" + }, + { + "Code" : 23, + "Name" : "Wireless - UMTS [McCann]" + }, + { + "Code" : 24, + "Name" : "Wireless - 1X-EV [McCann]" + }, + { + "Code" : 25, + "Name" : "IAPP [IEEE 802.11F][Kerry]" + }, + { + "Code" : 4, + "Name" : "ISDN Async V.110 [RFC2865]" + }, + { + "Code" : 3, + "Name" : "ISDN Async V.120 [RFC2865]" + }, + { + "Code" : 18, + "Name" : "Wireless - Other [RFC2865]" + }, + { + "Code" : 7, + "Name" : "HDLC Clear Channel [RFC2865]" + }, + { + "Code" : 22, + "Name" : "Wireless - CDMA2000 [McCann]" + }, + { + "Code" : 30, + "Name" : "PPPoA - PPP over ATM [RFC4603]" + }, + { + "Code" : 11, + "Name" : "SDSL - Symmetric DSL [RFC2865]" + }, + { + "Code" : 19, + "Name" : "Wireless - IEEE 802.11 [RFC2865]" + }, + { + "Code" : 26, + "Name" : "FTTP - Fiber to the Premises [Nyce]" + }, + { + "Code" : 27, + "Name" : "Wireless - IEEE 802.16 [IEEE 802.16]" + }, + { + "Code" : 28, + "Name" : "Wireless - IEEE 802.20 [IEEE 802.20]" + }, + { + "Code" : 29, + "Name" : "Wireless - IEEE 802.22 [IEEE 802.22]" + }, + { + "Code" : 35, + "Name" : "xPON - Passive Optical Network [Hublet][Yan]" + }, + { + "Code" : 14, + "Name" : "IDSL - ISDN Digital Subscriber Line [RFC2865]" + }, + { + "Code" : 31, + "Name" : "PPPoEoA - PPP over Ethernet over ATM [RFC4603]" + }, + { + "Code" : 33, + "Name" : "PPPoEoVLAN - PPP over Ethernet over VLAN [RFC4603]" + }, + { + "Code" : 32, + "Name" : "PPPoEoE - PPP over Ethernet over Ethernet [RFC4603]" + }, + { + "Code" : 13, + "Name" : "ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone [RFC2865]" + }, + { + "Code" : 16, + "Name" : "xDSL - Digital Subscriber Line of unknown type [RFC2865]" + }, + { + "Code" : 34, + "Name" : "PPPoEoQinQ - PPP over Ethernet over IEEE 802.1QinQ [RFC4603]" + }, + { + "Code" : 12, + "Name" : "ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase Modulation [RFC2865]" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "NAS-Port-Type", + "Type" : "Unsigned32" + }, + { + "Code" : 62, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Port-Limit", + "Type" : "Unsigned32" + }, + { + "Code" : 63, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Login-LAT-Port", + "Type" : "OctetString" + }, + { + "Code" : 64, + "EnumValues" : [ + { + "Code" : 12, + "Name" : "IP-in-IP Tunneling [RFC2868]" + }, + { + "Code" : 13, + "Name" : "Virtual LANs (VLAN) [RFC3580]" + }, + { + "Code" : 2, + "Name" : "Layer Two Forwarding (L2F) [RFC2868]" + }, + { + "Code" : 7, + "Name" : "IP-in-IP Encapsulation (IP-IP) [RFC2868]" + }, + { + "Code" : 11, + "Name" : "Bay Dial Virtual Services (DVS) [RFC2868]" + }, + { + "Code" : 5, + "Name" : "Virtual Tunneling Protocol (VTP) [RFC2868]" + }, + { + "Code" : 10, + "Name" : "Generic Route Encapsulation (GRE) [RFC2868]" + }, + { + "Code" : 3, + "Name" : "Layer Two Tunneling Protocol (L2TP) [RFC2868]" + }, + { + "Code" : 4, + "Name" : "Ascend Tunnel Management Protocol (ATMP) [RFC2868]" + }, + { + "Code" : 1, + "Name" : "Point-to-Point Tunneling Protocol (PPTP) [RFC2868]" + }, + { + "Code" : 8, + "Name" : "Minimal IP-in-IP Encapsulation (MIN-IP-IP) [RFC2868]" + }, + { + "Code" : 6, + "Name" : "IP Authentication Header in the Tunnel-mode (AH) [RFC2868]" + }, + { + "Code" : 9, + "Name" : "IP Encapsulating Security Payload in the Tunnel-mode (ESP) [RFC2868]" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Type", + "Type" : "Unsigned32" + }, + { + "Code" : 65, + "EnumValues" : [ + { + "Code" : 11, + "Name" : "IPX [RFC2868]" + }, + { + "Code" : 3, + "Name" : "NSAP [RFC2868]" + }, + { + "Code" : 5, + "Name" : "BBN 1822 [RFC2868]" + }, + { + "Code" : 12, + "Name" : "Appletalk [RFC2868]" + }, + { + "Code" : 13, + "Name" : "Decnet IV [RFC2868]" + }, + { + "Code" : 14, + "Name" : "Banyan Vines [RFC2868]" + }, + { + "Code" : 7, + "Name" : "E.163 (POTS) [RFC2868]" + }, + { + "Code" : 9, + "Name" : "F.69 (Telex) [RFC2868]" + }, + { + "Code" : 1, + "Name" : "IPv4 (IP version 4) [RFC2868]" + }, + { + "Code" : 2, + "Name" : "IPv6 (IP version 6) [RFC2868]" + }, + { + "Code" : 4, + "Name" : "HDLC (8-bit multidrop) [RFC2868]" + }, + { + "Code" : 10, + "Name" : "X.121 (X.25, Frame Relay) [RFC2868]" + }, + { + "Code" : 8, + "Name" : "E.164 (SMDS, Frame Relay, ATM) [RFC2868]" + }, + { + "Code" : 15, + "Name" : "E.164 with NSAP format subaddress [RFC2868]" + }, + { + "Code" : 6, + "Name" : "802 (includes all 802 media plus Ethernet \"canonical format\") [RFC2868]" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Medium-Type", + "Type" : "Unsigned32" + }, + { + "Code" : 66, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Client-Endpoint", + "Type" : "UTF8String" + }, + { + "Code" : 67, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Server-Endpoint", + "Type" : "UTF8String" + }, + { + "Code" : 68, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Tunnel-Connection", + "Type" : "OctetString" + }, + { + "Code" : 69, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Password", + "Type" : "OctetString" + }, + { + "Code" : 70, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "ARAP-Password", + "Type" : "OctetString" + }, + { + "Code" : 71, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "ARAP-Features", + "Type" : "OctetString" + }, + { + "Code" : 72, + "EnumValues" : [ + { + "Code" : 3, + "Name" : "Not used [RFC2869]" + }, + { + "Code" : 4, + "Name" : "Use zone filter exclusively [RFC2869]" + }, + { + "Code" : 2, + "Name" : "Use zone filter inclusively [RFC2869]" + }, + { + "Code" : 1, + "Name" : "Only allow access to default zone [RFC2869]" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "ARAP-Zone-Access", + "Type" : "Unsigned32" + }, + { + "Code" : 73, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "ARAP-Security", + "Type" : "Unsigned32" + }, + { + "Code" : 74, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "ARAP-Security-Data", + "Type" : "OctetString" + }, + { + "Code" : 75, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Password-Retry", + "Type" : "Unsigned32" + }, + { + "Code" : 76, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "Echo [RFC2869]" + }, + { + "Code" : 0, + "Name" : "No Echo [RFC2869]" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Prompt", + "Type" : "Unsigned32" + }, + { + "Code" : 77, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Connect-Info", + "Type" : "UTF8String" + }, + { + "Code" : 78, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Configuration-Token", + "Type" : "OctetString" + }, + { + "Code" : 81, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Private-Group-Id", + "Type" : "OctetString" + }, + { + "Code" : 82, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Assignment-Id", + "Type" : "OctetString" + }, + { + "Code" : 83, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Preference", + "Type" : "Unsigned32" + }, + { + "Code" : 84, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "ARAP-Challenge-Response", + "Type" : "OctetString" + }, + { + "Code" : 86, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Acct-Tunnel-Packets-Lost", + "Type" : "Unsigned32" + }, + { + "Code" : 87, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "NAS-Port-Id", + "Type" : "UTF8String" + }, + { + "Code" : 88, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-Pool", + "Type" : "OctetString" + }, + { + "Code" : 90, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Client-Auth-Id", + "Type" : "UTF8String" + }, + { + "Code" : 91, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunnel-Server-Auth-Id", + "Type" : "UTF8String" + }, + { + "Code" : 94, + "EnumValues" : [ + { + "Code" : "02", + "Name" : "ANI Failure" + }, + { + "Code" : "66", + "Name" : "TRS (Hotel)" + }, + { + "Code" : "23", + "Name" : "Coin or Non-Coin" + }, + { + "Code" : "67", + "Name" : "TRS (Restricted)" + }, + { + "Code" : "30", + "Name" : "Intercept (Blank)" + }, + { + "Code" : "32", + "Name" : "Intercept (Regular)" + }, + { + "Code" : "31", + "Name" : "Intercept (Trouble)" + }, + { + "Code" : "06", + "Name" : "Station Level Rating" + }, + { + "Code" : "29", + "Name" : "Prison/Inmate Service" + }, + { + "Code" : "34", + "Name" : "Telco Operator Handled Call" + }, + { + "Code" : "70", + "Name" : "Pay Station, No Coin Control" + }, + { + "Code" : "01", + "Name" : "Multiparty Line (more than 2)" + }, + { + "Code" : "61", + "Name" : "Cellular/Wireless PCS (Type 1)" + }, + { + "Code" : "62", + "Name" : "Cellular/Wireless PCS (Type 2)" + }, + { + "Code" : "63", + "Name" : "Cellular/Wireless PCS (Roaming)" + }, + { + "Code" : "00", + "Name" : "Plain Old Telephone Service (POTS)" + }, + { + "Code" : "07", + "Name" : "Special Operator Handling Required" + }, + { + "Code" : "25", + "Name" : "Toll Free Service (Pay Origination)" + }, + { + "Code" : "24", + "Name" : "Toll Free Service (Non-Pay Origination)" + }, + { + "Code" : "93", + "Name" : "Access for Private Virtual Network Service" + }, + { + "Code" : "20", + "Name" : "Automatic Identified Outward Dialing (AIOD)" + }, + { + "Code" : "27", + "Name" : "Toll Free Service (Coin Control Origination)" + }, + { + "Code" : "60", + "Name" : "Telecommunications Relay Service (TRS)(Unrestricted)" + }, + { + "Code" : "52", + "Name" : "Outward Wide Area Telecommunications Service (OUTWATS)" + } + ], + "Flags" : { + "Must" : "", + "MustNot" : "V" + }, + "Name" : "Originating-Line-Info", + "Type" : "OctetString" + }, + { + "Code" : 95, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "NAS-IPv6-Address", + "Type" : "OctetString" + }, + { + "Code" : 96, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-Interface-Id", + "Type" : "Unsigned64" + }, + { + "Code" : 97, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-IPv6-Prefix", + "Type" : "OctetString" + }, + { + "Code" : 98, + "EnumValues" : [ + { + "Code" : "<00000000000000000000000000000000>", + "Name" : "(0) NAS selects the host" + }, + { + "Code" : "<ffffffffffffffffffffffffffffffff>", + "Name" : "(1) User selects the address" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Login-IPv6-Host", + "Type" : "OctetString" + }, + { + "Code" : 99, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-IPv6-Route", + "Type" : "UTF8String" + }, + { + "Code" : 100, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Framed-IPv6-Pool", + "Type" : "OctetString" + }, + { + "Code" : 295, + "EnumValues" : [ + { + "Code" : 26, + "Name" : "[RADIUS] Callback" + }, + { + "Code" : 19, + "Name" : "[RADIUS] NAS Error" + }, + { + "Code" : 21, + "Name" : "[RADIUS] NAS Reboot" + }, + { + "Code" : 18, + "Name" : "[RADIUS] Port Error" + }, + { + "Code" : 27, + "Name" : "[RADIUS] User Error" + }, + { + "Code" : 16, + "Name" : "[RADIUS] Admin Reset" + }, + { + "Code" : 20, + "Name" : "[RADIUS] NAS Request" + }, + { + "Code" : 31, + "Name" : "[RADIUS] Port Reinit" + }, + { + "Code" : 17, + "Name" : "[RADIUS] Admin Reboot" + }, + { + "Code" : 28, + "Name" : "[RADIUS] Host Request" + }, + { + "Code" : 14, + "Name" : "[RADIUS] Idle Timeout" + }, + { + "Code" : 12, + "Name" : "[RADIUS] Lost Carrier" + }, + { + "Code" : 13, + "Name" : "[RADIUS] Lost Service" + }, + { + "Code" : 11, + "Name" : "[RADIUS] User Request" + }, + { + "Code" : 32, + "Name" : "[RADIUS] Port Disabled" + }, + { + "Code" : 22, + "Name" : "[RADIUS] Port Unneeded" + }, + { + "Code" : 23, + "Name" : "[RADIUS] Port Preempted" + }, + { + "Code" : 24, + "Name" : "[RADIUS] Port Suspended" + }, + { + "Code" : 15, + "Name" : "[RADIUS] Session Timeout" + }, + { + "Code" : 29, + "Name" : "[RADIUS] Supplicant Restart" + }, + { + "Code" : 25, + "Name" : "[RADIUS] Service Unavailable" + }, + { + "Code" : 30, + "Name" : "[RADIUS] Reauthentication Failure" + } + ], + "Name" : "Termination-Cause", + "Type" : "Enumerated" + }, + { + "Code" : 363, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Input-Octets", + "Type" : "Unsigned64" + }, + { + "Code" : 364, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Output-Octets", + "Type" : "Unsigned64" + }, + { + "Code" : 365, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Input-Packets", + "Type" : "Unsigned64" + }, + { + "Code" : 366, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Output-Packets", + "Type" : "Unsigned64" + }, + { + "Code" : 400, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "NAS-Filter-Rule", + "Type" : "IPFilterRule" + }, + { + "Code" : 401, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Tunneling", + "Type" : "Grouped" + }, + { + "Code" : 402, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CHAP-Auth", + "Type" : "Grouped" + }, + { + "Code" : 403, + "EnumValues" : [ + { + "Code" : 5, + "Name" : "CHAP with MD5" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CHAP-Algorithm", + "Type" : "Unsigned32" + }, + { + "Code" : 404, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CHAP-Ident", + "Type" : "OctetString" + }, + { + "Code" : 405, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "CHAP-Response", + "Type" : "OctetString" + }, + { + "Code" : 406, + "EnumValues" : [ + { + "Code" : 5, + "Name" : "EAP" + }, + { + "Code" : 1, + "Name" : "PAP" + }, + { + "Code" : 2, + "Name" : "CHAP" + }, + { + "Code" : 7, + "Name" : "None" + }, + { + "Code" : 3, + "Name" : "MS-CHAP-1" + }, + { + "Code" : 4, + "Name" : "MS-CHAP-2" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Accounting-Auth-Method", + "Type" : "Unsigned32" + }, + { + "Code" : 407, + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "QoS-Filter-Rule", + "Type" : "QoSFilterRule" + }, + { + "Code" : 408, + "EnumValues" : [ + { + "Code" : 1, + "Name" : "RADIUS" + } + ], + "Flags" : { + "Must" : "M", + "MustNot" : "V" + }, + "Name" : "Origin-AAA-Protocol", + "Type" : "Unsigned32" + } + ], + "Applications" : [ + { + "Code" : 1, + "Name" : "Diameter Network Access Server Application" + } + ], + "CommandRules" : [ + { + "Command" : "Re-Auth-Request", + "Content" : [ + { + "AVP" : "NAS-IP-Address", + "Max" : 1 + }, + { + "AVP" : "NAS-Port", + "Max" : 1 + }, + { + "AVP" : "Service-Type", + "Max" : 1 + }, + { + "AVP" : "Framed-IP-Address", + "Max" : 1 + }, + { + "AVP" : "Reply-Message" + }, + { + "AVP" : "State", + "Max" : 1 + }, + { + "AVP" : "Class" + }, + { + "AVP" : "Called-Station-Id", + "Max" : 1 + }, + { + "AVP" : "Calling-Station-Id", + "Max" : 1 + }, + { + "AVP" : "NAS-Identifier", + "Max" : 1 + }, + { + "AVP" : "Acct-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Acct-Multi-Session-Id", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Type", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Id", + "Max" : 1 + }, + { + "AVP" : "Originating-Line-Info", + "Max" : 1 + }, + { + "AVP" : "NAS-IPv6-Address", + "Max" : 1 + }, + { + "AVP" : "Framed-Interface-Id", + "Max" : 1 + }, + { + "AVP" : "Framed-IPv6-Prefix", + "Max" : 1 + }, + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "Re-Auth-Answer", + "Content" : [ + { + "AVP" : "Service-Type", + "Max" : 1 + }, + { + "AVP" : "Reply-Message" + }, + { + "AVP" : "State", + "Max" : 1 + }, + { + "AVP" : "Class" + }, + { + "AVP" : "Idle-Timeout", + "Max" : 1 + }, + { + "AVP" : "Prompt", + "Max" : 1 + }, + { + "AVP" : "Configuration-Token" + }, + { + "AVP" : "Auth-Grace-Period", + "Max" : 1 + }, + { + "AVP" : "Re-Auth-Request-Type", + "Max" : 1 + }, + { + "AVP" : "Authorization-Lifetime", + "Max" : 1 + }, + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "AA-Request", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "User-Password", + "Max" : 1 + }, + { + "AVP" : "NAS-IP-Address", + "Max" : 1 + }, + { + "AVP" : "NAS-Port", + "Max" : 1 + }, + { + "AVP" : "Service-Type", + "Max" : 1 + }, + { + "AVP" : "Framed-Protocol", + "Max" : 1 + }, + { + "AVP" : "Framed-IP-Address", + "Max" : 1 + }, + { + "AVP" : "Framed-IP-Netmask", + "Max" : 1 + }, + { + "AVP" : "Framed-MTU", + "Max" : 1 + }, + { + "AVP" : "Framed-Compression" + }, + { + "AVP" : "Login-IP-Host" + }, + { + "AVP" : "Callback-Number", + "Max" : 1 + }, + { + "AVP" : "State", + "Max" : 1 + }, + { + "AVP" : "Called-Station-Id", + "Max" : 1 + }, + { + "AVP" : "Calling-Station-Id", + "Max" : 1 + }, + { + "AVP" : "NAS-Identifier", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Service", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Node", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Group", + "Max" : 1 + }, + { + "AVP" : "CHAP-Challenge", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Type", + "Max" : 1 + }, + { + "AVP" : "Port-Limit", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Port", + "Max" : 1 + }, + { + "AVP" : "ARAP-Password", + "Max" : 1 + }, + { + "AVP" : "ARAP-Security", + "Max" : 1 + }, + { + "AVP" : "ARAP-Security-Data" + }, + { + "AVP" : "Connect-Info", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Id", + "Max" : 1 + }, + { + "AVP" : "Originating-Line-Info", + "Max" : 1 + }, + { + "AVP" : "NAS-IPv6-Address", + "Max" : 1 + }, + { + "AVP" : "Framed-Interface-Id", + "Max" : 1 + }, + { + "AVP" : "Framed-IPv6-Prefix" + }, + { + "AVP" : "Login-IPv6-Host" + }, + { + "AVP" : "Auth-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Auth-Request-Type", + "Max" : 1 + }, + { + "AVP" : "Auth-Grace-Period", + "Max" : 1 + }, + { + "AVP" : "Auth-Session-State", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Route-Record" + }, + { + "AVP" : "Destination-Realm", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Authorization-Lifetime", + "Max" : 1 + }, + { + "AVP" : "Destination-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + }, + { + "AVP" : "Tunneling" + }, + { + "AVP" : "CHAP-Auth", + "Max" : 1 + }, + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "AA-Answer", + "Content" : [ + { + "AVP" : "User-Name", + "Max" : 1 + }, + { + "AVP" : "Service-Type", + "Max" : 1 + }, + { + "AVP" : "Framed-Protocol", + "Max" : 1 + }, + { + "AVP" : "Framed-IP-Address", + "Max" : 1 + }, + { + "AVP" : "Framed-IP-Netmask" + }, + { + "AVP" : "Framed-Routing", + "Max" : 1 + }, + { + "AVP" : "Filter-Id" + }, + { + "AVP" : "Framed-MTU", + "Max" : 1 + }, + { + "AVP" : "Framed-Compression" + }, + { + "AVP" : "Login-IP-Host" + }, + { + "AVP" : "Login-Service", + "Max" : 1 + }, + { + "AVP" : "Login-TCP-Port", + "Max" : 1 + }, + { + "AVP" : "Reply-Message" + }, + { + "AVP" : "Callback-Number", + "Max" : 1 + }, + { + "AVP" : "Callback-Id", + "Max" : 1 + }, + { + "AVP" : "Framed-Route" + }, + { + "AVP" : "Framed-IPX-Network", + "Max" : 1 + }, + { + "AVP" : "State", + "Max" : 1 + }, + { + "AVP" : "Class" + }, + { + "AVP" : "Session-Timeout", + "Max" : 1 + }, + { + "AVP" : "Idle-Timeout", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Service", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Node", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Group", + "Max" : 1 + }, + { + "AVP" : "Framed-AppleTalk-Link", + "Max" : 1 + }, + { + "AVP" : "Framed-AppleTalk-Network" + }, + { + "AVP" : "Framed-AppleTalk-Zone", + "Max" : 1 + }, + { + "AVP" : "Port-Limit", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Port", + "Max" : 1 + }, + { + "AVP" : "ARAP-Features", + "Max" : 1 + }, + { + "AVP" : "ARAP-Zone-Access", + "Max" : 1 + }, + { + "AVP" : "ARAP-Security", + "Max" : 1 + }, + { + "AVP" : "ARAP-Security-Data" + }, + { + "AVP" : "Password-Retry", + "Max" : 1 + }, + { + "AVP" : "Prompt", + "Max" : 1 + }, + { + "AVP" : "Configuration-Token" + }, + { + "AVP" : "ARAP-Challenge-Response", + "Max" : 1 + }, + { + "AVP" : "Acct-Interim-Interval", + "Max" : 1 + }, + { + "AVP" : "Framed-Pool", + "Max" : 1 + }, + { + "AVP" : "Framed-Interface-Id" + }, + { + "AVP" : "Framed-IPv6-Prefix" + }, + { + "AVP" : "Login-IPv6-Host" + }, + { + "AVP" : "Framed-IPv6-Route" + }, + { + "AVP" : "Framed-IPv6-Pool", + "Max" : 1 + }, + { + "AVP" : "Auth-Application-Id", + "Max" : 1 + }, + { + "AVP" : "Redirect-Host-Usage", + "Max" : 1 + }, + { + "AVP" : "Redirect-Max-Cache-Time", + "Max" : 1 + }, + { + "AVP" : "Session-Id", + "First" : true, + "Max" : 1 + }, + { + "AVP" : "Origin-Host", + "Max" : 1 + }, + { + "AVP" : "Result-Code", + "Max" : 1 + }, + { + "AVP" : "Multi-Round-Time-Out", + "Max" : 1 + }, + { + "AVP" : "Auth-Request-Type", + "Max" : 1 + }, + { + "AVP" : "Auth-Grace-Period", + "Max" : 1 + }, + { + "AVP" : "Auth-Session-State", + "Max" : 1 + }, + { + "AVP" : "Origin-State-Id", + "Max" : 1 + }, + { + "AVP" : "Failed-AVP" + }, + { + "AVP" : "Error-Message", + "Max" : 1 + }, + { + "AVP" : "Proxy-Info" + }, + { + "AVP" : "Re-Auth-Request-Type", + "Max" : 1 + }, + { + "AVP" : "Authorization-Lifetime", + "Max" : 1 + }, + { + "AVP" : "Redirect-Host" + }, + { + "AVP" : "Error-Reporting-Host", + "Max" : 1 + }, + { + "AVP" : "Origin-Realm", + "Max" : 1 + }, + { + "AVP" : "NAS-Filter-Rule" + }, + { + "AVP" : "Tunneling" + }, + { + "AVP" : "QoS-Filter-Rule" + }, + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "Accounting-Request", + "Content" : [ + { + "AVP" : "NAS-IP-Address", + "Max" : 1 + }, + { + "AVP" : "NAS-Port", + "Max" : 1 + }, + { + "AVP" : "Service-Type", + "Max" : 1 + }, + { + "AVP" : "Framed-Protocol", + "Max" : 1 + }, + { + "AVP" : "Framed-IP-Address", + "Max" : 1 + }, + { + "AVP" : "Framed-IP-Netmask", + "Max" : 1 + }, + { + "AVP" : "Framed-Routing", + "Max" : 1 + }, + { + "AVP" : "Filter-Id" + }, + { + "AVP" : "Framed-MTU", + "Max" : 1 + }, + { + "AVP" : "Framed-Compression", + "Max" : 1 + }, + { + "AVP" : "Login-IP-Host" + }, + { + "AVP" : "Login-Service", + "Max" : 1 + }, + { + "AVP" : "Login-TCP-Port", + "Max" : 1 + }, + { + "AVP" : "Callback-Number", + "Max" : 1 + }, + { + "AVP" : "Callback-Id", + "Max" : 1 + }, + { + "AVP" : "Framed-Route" + }, + { + "AVP" : "Framed-IPX-Network", + "Max" : 1 + }, + { + "AVP" : "Class" + }, + { + "AVP" : "Session-Timeout", + "Max" : 1 + }, + { + "AVP" : "Idle-Timeout", + "Max" : 1 + }, + { + "AVP" : "Called-Station-Id", + "Max" : 1 + }, + { + "AVP" : "Calling-Station-Id", + "Max" : 1 + }, + { + "AVP" : "NAS-Identifier", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Service", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Node", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Group", + "Max" : 1 + }, + { + "AVP" : "Framed-AppleTalk-Link", + "Max" : 1 + }, + { + "AVP" : "Framed-AppleTalk-Network", + "Max" : 1 + }, + { + "AVP" : "Framed-AppleTalk-Zone", + "Max" : 1 + }, + { + "AVP" : "Acct-Delay-Time", + "Max" : 1 + }, + { + "AVP" : "Acct-Authentic", + "Max" : 1 + }, + { + "AVP" : "Acct-Session-Time", + "Max" : 1 + }, + { + "AVP" : "Acct-Link-Count", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Type", + "Max" : 1 + }, + { + "AVP" : "Port-Limit", + "Max" : 1 + }, + { + "AVP" : "Login-LAT-Port", + "Max" : 1 + }, + { + "AVP" : "Acct-Tunnel-Connection", + "Max" : 1 + }, + { + "AVP" : "Connect-Info" + }, + { + "AVP" : "Acct-Tunnel-Packets-Lost", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Id", + "Max" : 1 + }, + { + "AVP" : "Framed-Pool", + "Max" : 1 + }, + { + "AVP" : "Originating-Line-Info", + "Max" : 1 + }, + { + "AVP" : "NAS-IPv6-Address", + "Max" : 1 + }, + { + "AVP" : "Framed-Interface-Id", + "Max" : 1 + }, + { + "AVP" : "Framed-IPv6-Prefix" + }, + { + "AVP" : "Login-IPv6-Host" + }, + { + "AVP" : "Framed-IPv6-Route" + }, + { + "AVP" : "Framed-IPv6-Pool", + "Max" : 1 + }, + { + "AVP" : "Authorization-Lifetime", + "Max" : 1 + }, + { + "AVP" : "Termination-Cause", + "Max" : 1 + }, + { + "AVP" : "Accounting-Input-Octets", + "Max" : 1 + }, + { + "AVP" : "Accounting-Output-Octets", + "Max" : 1 + }, + { + "AVP" : "Accounting-Input-Packets", + "Max" : 1 + }, + { + "AVP" : "Accounting-Output-Packets", + "Max" : 1 + }, + { + "AVP" : "NAS-Filter-Rule" + }, + { + "AVP" : "Tunneling" + }, + { + "AVP" : "Accounting-Auth-Method", + "Max" : 1 + }, + { + "AVP" : "QoS-Filter-Rule" + }, + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "Accounting-Answer", + "Content" : [ + { + "AVP" : "NAS-IP-Address", + "Max" : 1 + }, + { + "AVP" : "NAS-Port", + "Max" : 1 + }, + { + "AVP" : "Service-Type", + "Max" : 1 + }, + { + "AVP" : "NAS-Identifier", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Type", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Id", + "Max" : 1 + }, + { + "AVP" : "NAS-IPv6-Address", + "Max" : 1 + }, + { + "AVP" : "Termination-Cause", + "Max" : 1 + }, + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "Abort-Session-Request", + "Content" : [ + { + "AVP" : "NAS-IP-Address", + "Max" : 1 + }, + { + "AVP" : "NAS-Port", + "Max" : 1 + }, + { + "AVP" : "Service-Type", + "Max" : 1 + }, + { + "AVP" : "Framed-IP-Address", + "Max" : 1 + }, + { + "AVP" : "Reply-Message" + }, + { + "AVP" : "State", + "Max" : 1 + }, + { + "AVP" : "Class" + }, + { + "AVP" : "Called-Station-Id", + "Max" : 1 + }, + { + "AVP" : "Calling-Station-Id", + "Max" : 1 + }, + { + "AVP" : "NAS-Identifier", + "Max" : 1 + }, + { + "AVP" : "Acct-Session-Id", + "Max" : 1 + }, + { + "AVP" : "Acct-Multi-Session-Id", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Type", + "Max" : 1 + }, + { + "AVP" : "NAS-Port-Id", + "Max" : 1 + }, + { + "AVP" : "Originating-Line-Info", + "Max" : 1 + }, + { + "AVP" : "NAS-IPv6-Address", + "Max" : 1 + }, + { + "AVP" : "Framed-Interface-Id", + "Max" : 1 + }, + { + "AVP" : "Framed-IPv6-Prefix", + "Max" : 1 + }, + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "Abort-Session-Answer", + "Content" : [ + { + "AVP" : "State", + "Max" : 1 + }, + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "Session-Termination-Request", + "Content" : [ + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + }, + { + "Command" : "Session-Termination-Answer", + "Content" : [ + { + "AVP" : "Origin-AAA-Protocol", + "Max" : 1 + } + ] + } + ], + "Commands" : [ + { + "Code" : 265, + "Flags" : { + "Must" : "RP", + "MustNot" : "E" + }, + "Name" : "AA-Request" + }, + { + "Code" : 265, + "Flags" : { + "Must" : "P", + "MustNot" : "R" + }, + "Name" : "AA-Answer" + } + ], + "Types" : [ + { + "Base" : "OctetString", + "Name" : "QoSFilterRule" + } + ] +} + diff --git a/contrib/test_Gx/main_gx.c b/contrib/test_Gx/main_gx.c index 7811661..7faff5f 100644 --- a/contrib/test_Gx/main_gx.c +++ b/contrib/test_Gx/main_gx.c @@ -700,53 +700,6 @@ out: } -/* Search a given AVP model in an AVP (extracted from libfreediameter/message.c ) */ -int fd_avp_search_avp ( struct avp * groupedavp, struct dict_object * what, struct avp ** avp ) -{ - struct avp * nextavp; - struct avp_hdr * nextavphdr; - struct dict_avp_data dictdata; - - - TRACE_ENTRY("%p %p %p", groupedavp, what, avp); - - CHECK_FCT( fd_dict_getval(what, &dictdata) ); - - // Loop only in the group AVP - CHECK_FCT( fd_msg_browse(groupedavp, MSG_BRW_FIRST_CHILD, (void *)&nextavp, NULL) ); - CHECK_FCT( fd_msg_avp_hdr( nextavp, &nextavphdr ) ); - - while (nextavphdr) { - - if ( (nextavphdr->avp_code == dictdata.avp_code) && (nextavphdr->avp_vendor == dictdata.avp_vendor) ) // always 0 if no Vendor flag - { - break; - } - - // Otherwise move to next AVP in the grouped AVP - CHECK_FCT( fd_msg_browse(nextavp, MSG_BRW_NEXT, (void *)&nextavp, NULL) ); - - if(nextavp!=NULL) - { - CHECK_FCT( fd_msg_avp_hdr( nextavp, &nextavphdr ) ); - } - else - nextavphdr=NULL; - } - if (avp) - *avp = nextavp; - - if (avp && nextavp) { - struct dictionary * dict; - CHECK_FCT( fd_dict_getdict( what, &dict) ); - CHECK_FCT_DO( fd_msg_parse_dict( nextavp, dict, NULL ), ); - } - - if (avp || nextavp) - return 0; - else - return ENOENT; -} static int cca_cb( struct msg ** msg, struct avp * t_avp , @@ -784,7 +737,7 @@ static int cca_cb( struct msg ** msg, CHECK_FCT(fd_msg_search_avp ( *msg, chrg_rule_grp, &g_avp )); - CHECK_FCT(fd_avp_search_avp(g_avp, chrg_rule_name, &avp)); + CHECK_FCT(fd_msg_search_avp(g_avp, chrg_rule_name, &avp)); if(avp) { CHECK_FCT(fd_msg_avp_hdr(avp, &avpdata)); diff --git a/contrib/tools/README b/contrib/tools/README index bbb235d..11f5bad 100644 --- a/contrib/tools/README +++ b/contrib/tools/README @@ -1,2 +1,11 @@ +csv_to_fd converts CSV files containing RADIUS or Diameter AVP tables +into various formats, including freeDiameter C code and JSON documents. + +grep_fd_dict_dump processes stdin for the output of fd_dict_dump() +or dbg_dict_dump.fdx and reformats to remove pointer addresses, +to allow diff of output between freeDiameter invocations. + +org_to_csv converts org files into CSV files, suitable for csv_to_fd. + org_to_fd.pl converts org files like diameter-rfcs.org to C fragments that can be included in freeDiameter code. diff --git a/contrib/tools/csv_to_fd b/contrib/tools/csv_to_fd new file mode 100755 index 0000000..d39fc0a --- /dev/null +++ b/contrib/tools/csv_to_fd @@ -0,0 +1,662 @@ +#!/usr/bin/env python + +""" +Convert 8 column CSV files containing RADIUS or Diameter AVP tables +into various formats. + +Format of the CSV files is one of: +- Row per 3GPP AVP tables: + Name, Code, Section, DataType, Must, May, ShouldNot, MustNot + - Name: + AVP Name. String, validated as ALPHA *(ALPHA / DIGIT / "-") + per RFC 6733 section 3.2. + May start with a DIGIT (e.g., "3GPP-IMSI"). + - Code: + AVP Code. Integer, 0..4294967295. + - Section: + Section in relevant standard. String. + - DataType: + AVP Data Type. String, validated per basic and derived types in: + - RFC 6733 section 4.2 + - RFC 6733 section 4.3 + - RFC 7155 section 4.1 + - Must, May, ShouldNot, MustNot: + Flags, possibly comma or space separated: M, P, V + +- Comment row. First cell: + # Comment text 'Comment text' + #= '/*========*/' + # Blank line + +- Parameter row: + @Parameter,Value [, ...] + Supported Parameter terms: + standard Standard name. E.g. '3GPP TS 29.272', 'RFC 6733'. + vendor Vendor number. + +""" + +from __future__ import print_function +from __future__ import with_statement + +import abc +import csv +import collections +import json +import re +import optparse +import os +import sys + +CSV_COLUMN_NAMES = [ + 'name', + 'code', + 'section', + 'datatype', + 'must', + 'may', + 'shouldnot', + 'mustnot', +] + +DERIVED_TO_BASE = { + 'Address': 'OctetString', # RFC 6733 section 4.3.1 + 'Time': 'OctetString', # RFC 6733 section 4.3.1 + 'UTF8String': 'OctetString', # RFC 6733 section 4.3.1 + 'DiameterIdentity': 'OctetString', # RFC 6733 section 4.3.1 + 'DiameterURI': 'OctetString', # RFC 6733 section 4.3.1 + 'Enumerated': 'Integer32', # RFC 6733 section 4.3.1 + 'IPFilterRule': 'OctetString', # RFC 6733 section 4.3.1 + 'QoSFilterRule': 'OctetString', # RFC 7155 section 4.1.1 +} + +# See https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers +VENDOR_TO_NAME = { + 0: '', + 193: 'Ericsson', + 8164: 'Starent', + 10415: '3GPP', +} + + +class Avp(object): + """Store an AVP row.""" + + # Regex to validate avp-name per RFC 6733 section 3.2, + # with changes: + # - Allow avp-name to start with numbers (for 3GPP) + # - Allow '.' in avp-name, for existing dict_dcca_3gpp usage. +# TODO: if starts with digit, ensure contains a letter somewhere? + _name_re = re.compile(r'^[a-zA-Z0-9][a-zA-Z0-9-\.]*$') + + # Regex to validate flags: M, P, V, comma, space + _flags_re = re.compile(r'^[MPV, ]*$') + + __slots__ = CSV_COLUMN_NAMES + [ + 'filename', 'line_num', 'standard', 'vendor', ] + + def __init__(self, name, code, section, datatype, + must, may, shouldnot, mustnot, extra_cells=[], + filename='', line_num=0, standard='', vendor=0): + # Members from CSV row + self.name = name + self.code = int(code) + self.section = section + self.datatype = datatype + self.must = must + self.may = may + self.shouldnot = shouldnot + self.mustnot = mustnot + # Members from file state + self.filename = filename + self.line_num = line_num + self.standard = standard + self.vendor = vendor + # Validate CSV fields + if not self._name_re.match(self.name): + raise ValueError('Invalid AVP name "{}"'.format(self.name)) + if (self.code < 0 or self.code > 4294967295): + raise ValueError('AVP "{}" invalid code {}'.format( + self.name, self.code)) + if (self.datatype not in ( + 'OctetString', 'Integer32', 'Integer64', 'Unsigned32', + 'Unsigned64', 'Float32', 'Float64', 'Grouped') + and self.datatype not in DERIVED_TO_BASE): + raise ValueError('{} invalid data type "{}"'.format( + self.description(), self.datatype)) + # Validate flags + flags = collections.Counter() + for val, desc in [ + (self.must, 'Must'), + (self.may, 'May'), + (self.shouldnot, 'Should Not'), + (self.mustnot, 'Must Not'), + ]: + if not self._flags_re.match(val): + raise ValueError('{} invalid {} Flags "{}"'.format( + self.description(), desc, val)) + flags.update(val) + # Check occurrence of M,V in Must,May,ShouldNot,MustNot + for flag in 'MV': + # TODO: can AVP flags not appear at all? + # if flags[flag] == 0: + # raise ValueError('{} Flag "{}" not set'.format( + # self.description(), flag)) + if flags[flag] > 1: + raise ValueError('{} Flag "{}" set {} times'.format( + self.description(), flag, flags[flag])) + # Compare V presence against vendor + if 'V' in self.must: + if self.vendor == 0: + raise ValueError('{} Flag "V" set for vendor 0'.format( + self.description())) + else: + if self.vendor != 0: + raise ValueError('{} Flag "V" not set for vendor {}'.format( + self.description(), self.vendor)) + + @property + def __dict__(self): + return {s: getattr(self, s) for s in self.__slots__} + + def __eq__(self, other): + """Equality comparison of Avp instances. + Considered equal if name, vendor, code, datatype, and flags are equal. + """ + if other is self: + return True + if type(other) is not type(self): + return NotImplemented + return ( + other.name, other.vendor, other.code, other.datatype, + other.must, other.may, other.shouldnot, other.mustnot, + ) == ( + self.name, self.vendor, self.code, self.datatype, + self.must, self.may, self.shouldnot, self.mustnot, + ) + + def __ne__(self, other): + return not self == other + + def description(self): + return 'AVP "{}" ({})'.format(self.name, self.code) + + +class Processor(object): + """Interface for processor of Avp.""" + + __metaclass__ = abc.ABCMeta + + @classmethod + def cls_name(cls): + """Return the name, lower-case, without "processor" suffix.""" + suffix = 'processor' + name = cls.__name__.lower() + if name.endswith(suffix): + return name[:-len(suffix)] + return name + + @classmethod + def cls_desc(cls): + """Return the first line of the docstring.""" + if cls.__doc__ is None: + return "" + return cls.__doc__.split('\n')[0] + + @abc.abstractmethod + def filename(self, filename): + """Called when a file is opened.""" + pass + + @abc.abstractmethod + def avp(self, avp): + """Process a validated Avp.""" + pass + + @abc.abstractmethod + def comment(self, comment, filename, line_num): + """Process a comment row: + #comment, + """ + pass + + @abc.abstractmethod + def generate(self): + """Invoked after all rows processed.""" + pass + + @abc.abstractmethod + def parameter(self, name, value): + """Process a parameter row: + @name,value. + """ + pass + + +class DebugProcessor(Processor): + """Display the CSV parsing.""" + + def filename(self, filename): + print('File: {}'.format(filename)) + + def avp(self, avp): + avpdict = vars(avp) + print('AVP: {name}, {code}, {datatype}'.format(**avpdict)) + + def comment(self, comment, filename, line_num): + print('Comment: {}'.format(comment)) + + def generate(self): + print('Generate') + + def parameter(self, name, value): + print('Parameter: {} {}'.format(name, value)) + + +class NoopProcessor(Processor): + """Validate the CSV; no other output.""" + + def filename(self, filename): + pass + + def avp(self, avp): + pass + + def comment(self, comment, filename, line_num): + pass + + def generate(self): + pass + + def parameter(self, name, value): + pass + + +class FdcProcessor(Processor): + """Generate freeDiameter C code. + + Comment cells are parsed as: + # text comment /* text comment */ + #= /*==============*/ + # [blank line] + """ + + COMMENT_WIDTH = 64 + + class AvpFunction(object): + """Maintain per-function state to create DICT_AVP entries. + """ + + def __init__(self, name): + self.__name = name + self.__lines = [] + self.__derived = set() + + @property + def name(self): + """Return name.""" + return self.__name + + @property + def lines(self): + """Return all lines.""" + return self.__lines + + @lines.setter + def lines(self, value): + """Set to append a line.""" + self.__lines.append(value) + + @property + def derived(self): + """Return list of all derived values.""" + return list(self.__derived) + + @derived.setter + def derived(self, value): + """Set to store a derived type.""" + self.__derived.add(value) + + def __init__(self): + self._filenames = [] + self._functions = collections.OrderedDict() + + def filename(self, filename): + self._filenames.append(os.path.basename(filename)) + + def avp(self, avp): + comment = '{name}, {datatype}, code {code}'.format(**vars(avp)) + if avp.section != '': + comment += ', section {}'.format(avp.section) + self.add_comment(comment) + self.add('\t{') + self.add('\t\tstruct dict_avp_data data = {') +# TODO: remove comments? + self.add('\t\t\t{},\t/* Code */'.format(avp.code)) + self.add('\t\t\t{},\t/* Vendor */'.format(avp.vendor)) + self.add('\t\t\t\"{}\",\t/* Name */'.format(avp.name)) + self.add('\t\t\t{},\t/* Fixed flags */'.format( + self.build_flags(', '.join([avp.must, avp.mustnot])))) + self.add('\t\t\t{},\t/* Fixed flag values */'.format( + self.build_flags(avp.must))) +# TODO: add trailing comma? + self.add('\t\t\tAVP_TYPE_{}\t/* base type of data */'.format( + DERIVED_TO_BASE.get(avp.datatype, avp.datatype).upper())) + self.add('\t\t};') + avp_type = 'NULL' + if avp.datatype == 'Enumerated': + self.add('\t\tstruct dict_object\t*type;') + vendor_prefix = '' + if avp.vendor != 0: + vendor_prefix = '{}/'.format(VENDOR_TO_NAME[avp.vendor]) + self.add( + '\t\tstruct dict_type_data\t tdata = {{ AVP_TYPE_INTEGER32, ' + '"Enumerated({prefix}{name})", NULL, NULL, NULL }};'.format( + prefix=vendor_prefix, name=avp.name)) +# XXX: add enumerated values + self.add('\t\tCHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);') + avp_type = "type" + elif avp.datatype in DERIVED_TO_BASE: + avp_type = '{}_type'.format(avp.datatype) + self.derived(avp.datatype) + self.add('\t\tCHECK_dict_new(DICT_AVP, &data, {}, NULL);'.format( + avp_type)) +# TODO: remove ; on scope brace + self.add('\t};') + self.add('') + + def comment(self, comment, filename, line_num): + if comment == '': + self.add('') + elif comment == '=': + self.add_header() + elif comment.startswith(' '): + self.add_comment(comment[1:]) + else: + raise ValueError('Unsupported comment "{}"'.format(comment)) + + def generate(self): + fp = sys.stdout + self.write_introduction(fp) + for func in self._functions: + self.write_function(fp, self._functions[func]) + + def parameter(self, name, value): + pass + + # internal methods + + def current_avpfunction(self): + """Return current AvpFunction to update. + + Note: allows for easier future enhancement to generate separate + C functions per AVP groups such as: by csv file, standard, or vendor. + """ + name = 'add_avps' + if name not in self._functions: + self._functions[name] = self.AvpFunction(name) + return self._functions[name] + + def add(self, line): + self.current_avpfunction().lines = line + + def derived(self, value): + self.current_avpfunction().derived = value + + def build_c_token(self, value): + """Convert a string into a valid C token.""" + return re.sub(r'[^\w]', '_', value) + + def build_flags(self, flags): + result = [] + if 'V' in flags: + result.append('AVP_FLAG_VENDOR') + if 'M' in flags: + result.append('AVP_FLAG_MANDATORY') + if not result: + return '0'; + return ' |'.join(result) + + def add_comment(self, comment): + self.add(self.format_comment(comment)) + + def add_header(self): + self.add(self.format_header()) + + def format_comment(self, comment): + return '\t/* {:<{width}} */'.format(comment, width=self.COMMENT_WIDTH) + + def format_header(self): + return '\t/*={:=<{width}}=*/'.format('', width=self.COMMENT_WIDTH) + + def write_introduction(self, fp): + """Write the introduction to the generated file.""" + fp.write('''\ +/* +Generated by: +\tcsv_to_fd -p {processor} {files} + +Do not modify; modify the source .csv files instead. +*/ + +#include <freeDiameter/extension.h> + +#define CHECK_dict_new( _type, _data, _parent, _ref ) \\ +\tCHECK_FCT( fd_dict_new( fd_g_config->cnf_dict, \ +(_type), (_data), (_parent), (_ref)) ); + +#define CHECK_dict_search( _type, _criteria, _what, _result ) \\ +\tCHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, \ +(_type), (_criteria), (_what), (_result), ENOENT) ); +'''.format( + processor=self.cls_name(), + files=' '.join(self._filenames))) + + def write_function(self, fp, avpfunction): + """Generate a function from AvpFunction.""" + function = self.build_c_token(avpfunction.name) + # Function start + fp.write('''\ + +int {}() +{{ +'''.format(function)) + + # Create variables used by derived type validation + for derived in avpfunction.derived: + fp.write('''\ +\tstruct dict_object * {name}_type = NULL; +\tCHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "{name}", &{name}_type); + +'''.format(name=derived)) + + # Write generated DICT_AVP creation + fp.write('\n'.join(avpfunction.lines)) + + # Write function end + fp.write('''\ + +\treturn 0; +}} /* {}() */ +'''.format(function)) + + +class JsonProcessor(Processor): + """Generate freeDiameter JSON object. + """ + + def __init__(self): + self.avps = [] + + def filename(self, filename): + pass + + def avp(self, avp): + flags = collections.OrderedDict([ + ('Must', self.build_flags(avp.must)), + ('MustNot', self.build_flags(avp.mustnot)), + ]) + row = collections.OrderedDict([ + ('Code', avp.code), + ('Flags', flags), + ('Name', avp.name), + ('Type', avp.datatype), + ('Vendor', avp.vendor), + ]) + self.avps.append(row) + + def comment(self, comment, filename, line_num): + pass + + def generate(self): + doc = {"AVPs": self.avps} + print(json.dumps(doc, indent=2)) + + def parameter(self, name, value): + pass + + def build_flags(self, flags): + result = [] + if 'V' in flags: + result.append('V') + if 'M' in flags: + result.append('M') + return ''.join(result) + + +def avp_conflict(description, avp, conflict): + """Raise error for duplicate or conflicting AVPs. + """ + if avp == conflict: + raise ValueError( + '{} {} duplicated in' + ' file "{}" line {}'.format( + avp.description(), description, + conflict.filename, conflict.line_num)) + else: + raise ValueError( + '{} {} conflicts with {}' + ' in file "{}" line {}'.format( + avp.description(), description, + conflict.description(), + conflict.filename, conflict.line_num)) + + +def main(): + """Main application entry. + """ + + # Build dict of name: NameProcessor + processors = { + cls.cls_name(): cls + for cls in Processor.__subclasses__() + } + + # Build Processor name to desc + processor_help = '\n'.join( + [' {:8} {}'.format(key, processors[key].cls_desc()) + for key in sorted(processors)]) + + # Custom OptionParser with improved help + class MyParser(optparse.OptionParser): + """Custom OptionParser without epilog formatting.""" + def format_help(self, formatter=None): + return """\ +{} +Supported PROCESSOR options: +{} +""".format( + optparse.OptionParser.format_help(self, formatter), + processor_help) + + # Parse options + parser = MyParser( + usage='%prog [-h] [-p PROCESSOR] FILE ...', + description="""\ +Convert CSV files FILE ... containing RADIUS or Diameter AVP tables +into various formats using the specified processor PROCESSOR. +""") + parser.add_option( + '-p', '--processor', + default='noop', + help='AVP processor. One of: {}. [%default]'.format( + ', '.join(processors.keys()))) + (opts, args) = parser.parse_args() + if len(args) < 1: + parser.error('Incorrect number of arguments. Use -h for help.') + + # Find processor + try: + avpproc = processors[opts.processor]() + except KeyError as e: + parser.error('Unknown processor "{}".'.format(opts.processor)) + + # dict of [vendor][code] : Avp + avp_codes = collections.defaultdict(dict) + + # dict of [vendor][name] : Avp + avp_names = collections.defaultdict(dict) + + # Process files + for filename in args: + avpproc.filename(filename) + with open(filename, 'r') as csvfile: + csvdata = csv.DictReader(csvfile, CSV_COLUMN_NAMES, + restkey='extra_cells', restval='') + standard = '' + vendor = 0 + errors = [] + for row in csvdata: + try: + if csvdata.restkey in row: + raise ValueError('Extra cells: {}'.format( + ','.join(row[csvdata.restkey]))) + if row['name'] in (None, '', 'Attribute Name'): + continue + elif row['name'].startswith('#'): + comment = row['name'][1:] + avpproc.comment(comment, filename, csvdata.line_num) + elif row['name'].startswith('@'): + parameter = row['name'][1:] + value = row['code'] + if False: + pass + elif parameter == 'standard': + standard = value + elif parameter == 'vendor': + vendor = int(value) + else: + raise ValueError('Unknown parameter "{}"'.format( + parameter)) + avpproc.parameter(parameter, value) + else: + avp = Avp(filename=filename, line_num=csvdata.line_num, + standard=standard, vendor=vendor, + **row) + # Ensure AVP vendor/code not already defined + if avp.code in avp_codes[avp.vendor]: + conflict = avp_codes[avp.vendor][avp.code] + avp_conflict('Code', avp, conflict) + avp_codes[avp.vendor][avp.code] = avp + # Ensure AVP vendor/name not already defined + if avp.name in avp_names[avp.vendor]: + conflict = avp_names[avp.vendor][avp.name] + avp_conflict('Name', avp, conflict) + avp_names[avp.vendor][avp.name] = avp + # Process AVP + avpproc.avp(avp) + except (TypeError, ValueError) as e: + errors.append('CSV file "{}" line {}: {}\n'.format( + filename, csvdata.line_num, e)) + if errors: + sys.stderr.write(''.join(errors)) + sys.exit(1) + + # Generate result + avpproc.generate() + + +if __name__ == '__main__': + main() + +# vim: set et sw=4 sts=4 : diff --git a/contrib/tools/diameter-rfcs.csv b/contrib/tools/diameter-rfcs.csv new file mode 100644 index 0000000..ed25e4b --- /dev/null +++ b/contrib/tools/diameter-rfcs.csv @@ -0,0 +1,202 @@ +Attribute Name,Code,Section defined,Value Type,MUST,MAY,SHOULD NOT,MUST NOT
+@vendor,0,,,,,,
+@standard,RFC 3588,,,,,,
+#=,,,,,,,
+# RFC 3588 - Diameter #,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Acct-Interim-Interval,85,9.8.2,Unsigned32,M,P,,V
+Accounting-Realtime-Required,483,9.8.7,Enumerated,M,P,,V
+Acct-Multi-Session-Id,50,9.8.5,UTF8String,M,P,,V
+Accounting-Record-Number,485,9.8.3,Unsigned32,M,P,,V
+Accounting-Record-Type,480,9.8.1,Enumerated,M,P,,V
+Accounting-Session-Id,44,9.8.4,OctetString,M,P,,V
+Accounting-Sub-Session-Id,287,9.8.6,Unsigned64,M,P,,V
+Acct-Application-Id,259,6.9,Unsigned32,M,P,,V
+Auth-Application-Id,258,6.8,Unsigned32,M,P,,V
+Auth-Request-Type,274,8.7,Enumerated,M,P,,V
+Authorization-Lifetime,291,8.9,Unsigned32,M,P,,V
+Auth-Grace-Period,276,8.10,Unsigned32,M,P,,V
+Auth-Session-State,277,8.11,Enumerated,M,P,,V
+Re-Auth-Request-Type,285,8.12,Enumerated,M,P,,V
+Class,25,8.20,OctetString,M,P,,V
+Destination-Host,293,6.5,DiameterIdentity,M,P,,V
+Destination-Realm,283,6.6,DiameterIdentity,M,P,,V
+Disconnect-Cause,273,5.4.3,Enumerated,M,P,,V
+E2E-Sequence-AVP,300,6.15,Grouped,M,P,,V
+Error-Message,281,7.3,UTF8String,,P,,"V,M"
+Error-Reporting-Host,294,7.4,DiameterIdentity,,P,,"V,M"
+Event-Timestamp,55,8.21,Time,M,P,,V
+Experimental-Result,297,7.6,Grouped,M,P,,V
+Experimental-Result-Code,298,7.7,Unsigned32,M,P,,V
+Failed-AVP,279,7.5,Grouped,M,P,,V
+Firmware-Revision,267,5.3.4,Unsigned32,,,,"P,V,M"
+Host-IP-Address,257,5.3.5,Address,M,P,,V
+Inband-Security-Id,299,6.10,Unsigned32,M,P,,V
+Multi-Round-Time-Out,272,8.19,Unsigned32,M,P,,V
+Origin-Host,264,6.3,DiameterIdentity,M,P,,V
+Origin-Realm,296,6.4,DiameterIdentity,M,P,,V
+Origin-State-Id,278,8.16,Unsigned32,M,P,,V
+Product-Name,269,5.3.7,UTF8String,,,,"P,V,M"
+Proxy-Host,280,6.7.3,DiameterIdentity,M,,,"P,V"
+Proxy-Info,284,6.7.2,Grouped,M,,,"P,V"
+Proxy-State,33,6.7.4,OctetString,M,,,"P,V"
+Redirect-Host,292,6.12,DiameterURI,M,P,,V
+Redirect-Host-Usage,261,6.13,Enumerated,M,P,,V
+Redirect-Max-Cache-Time,262,6.14,Unsigned32,M,P,,V
+Result-Code,268,7.1,Unsigned32,M,P,,V
+Route-Record,282,6.7.1,DiameterIdentity,M,,,"P,V"
+Session-Id,263,8.8,UTF8String,M,P,,V
+Session-Timeout,27,8.13,Unsigned32,M,P,,V
+Session-Binding,270,8.17,Unsigned32,M,P,,V
+Session-Server-Failover,271,8.18,Enumerated,M,P,,V
+Supported-Vendor-Id,265,5.3.6,Unsigned32,M,P,,V
+Termination-Cause,295,8.15,Enumerated,M,P,,V
+User-Name,1,8.14,UTF8String,M,P,,V
+Vendor-Id,266,5.3.3,Unsigned32,M,P,,V
+Vendor-Specific-Application-Id,260,6.11,Grouped,M,P,,V
+@standard,RFC 4005,,,,,,
+#=,,,,,,,
+# RFC 4005 - NAS #,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+NAS-Port,5,4.2,Unsigned32,M,P,,V
+NAS-Port-Id,87,4.3,UTF8String,M,P,,V
+NAS-Port-Type,61,4.4,Enumerated,M,P,,V
+Called-Station-Id,30,4.5,UTF8String,M,P,,V
+Calling-Station-Id,31,4.6,UTF8String,M,P,,V
+Connect-Info,77,4.7,UTF8String,M,P,,V
+Originating-Line-Info,94,4.8,OctetString,,"M,P",,V
+Reply-Message,18,4.9,UTF8String,M,P,,V
+User-Password,2,5.1,OctetString,M,P,,V
+Password-Retry,75,5.2,Unsigned32,M,P,,V
+Prompt,76,5.3,Enumerated,M,P,,V
+CHAP-Auth,402,5.4,Grouped,M,P,,V
+CHAP-Algorithm,403,5.5,Enumerated,M,P,,V
+CHAP-Ident,404,5.6,OctetString,M,P,,V
+CHAP-Response,405,5.7,OctetString,M,P,,V
+CHAP-Challenge,60,5.8,OctetString,M,P,,V
+ARAP-Password,70,5.9,OctetString,M,P,,V
+ARAP-Challenge-Response,84,5.10,OctetString,M,P,,V
+ARAP-Security,73,5.11,Unsigned32,M,P,,V
+ARAP-Security-Data,74,5.12,OctetString,M,P,,V
+Service-Type,6,6.1,Enumerated,M,P,,V
+Callback-Number,19,6.2,UTF8String,M,P,,V
+Callback-Id,20,6.3,UTF8String,M,P,,V
+Idle-Timeout,28,6.4,Unsigned32,M,P,,V
+Port-Limit,62,6.5,Unsigned32,M,P,,V
+NAS-Filter-Rule,400,6.6,IPFilterRule,M,P,,V
+Filter-Id,11,6.7,UTF8String,M,P,,V
+Configuration-Token,78,6.8,OctetString,M,,,"P,V"
+QoS-Filter-Rule,407,6.9,QoSFilterRule,,,,
+Framed-Protocol,7,6.10.1,Enumerated,M,P,,V
+Framed-Routing,10,6.10.2,Enumerated,M,P,,V
+Framed-MTU,12,6.10.3,Unsigned32,M,P,,V
+Framed-Compression,13,6.10.4,Enumerated,M,P,,V
+Framed-IP-Address,8,6.11.1,OctetString,M,P,,V
+Framed-IP-Netmask,9,6.11.2,OctetString,M,P,,V
+Framed-Route,22,6.11.3,UTF8String,M,P,,V
+Framed-Pool,88,6.11.4,OctetString,M,P,,V
+Framed-Interface-Id,96,6.11.5,Unsigned64,M,P,,V
+Framed-IPv6-Prefix,97,6.11.6,OctetString,M,P,,V
+Framed-IPv6-Route,99,6.11.7,UTF8String,M,P,,V
+Framed-IPv6-Pool,100,6.11.8,OctetString,M,P,,V
+Framed-IPX-Network,23,6.12.1,UTF8String,M,P,,V
+Framed-Appletalk-Link,37,6.13.1,Unsigned32,M,P,,V
+Framed-Appletalk-Network,38,6.13.2,Unsigned32,M,P,,V
+Framed-Appletalk-Zone,39,6.13.3,OctetString,M,P,,V
+ARAP-Features,71,6.14.1,OctetString,M,P,,V
+ARAP-Zone-Access,72,6.14.2,Enumerated,M,P,,V
+Login-IP-Host,14,6.15.1,OctetString,M,P,,V
+Login-IPv6-Host,98,6.15.2,OctetString,M,P,,V
+Login-Service,15,6.15.3,Enumerated,M,P,,V
+Login-TCP-Port,16,6.16.1,Unsigned32,M,P,,V
+Login-LAT-Service,34,6.17.1,OctetString,M,P,,V
+Login-LAT-Node,35,6.17.2,OctetString,M,P,,V
+Login-LAT-Group,36,6.17.3,OctetString,M,P,,V
+Login-LAT-Port,63,6.17.4,OctetString,M,P,,V
+Tunneling,401,7.1,Grouped,M,P,,V
+Tunnel-Type,64,7.2,Enumerated,M,P,,V
+Tunnel-Medium-Type,65,7.3,Enumerated,M,P,,V
+Tunnel-Client-Endpoint,66,7.4,UTF8String,M,P,,V
+Tunnel-Server-Endpoint,67,7.5,UTF8String,M,P,,V
+Tunnel-Password,69,7.6,OctetString,M,P,,V
+Tunnel-Private-Group-Id,81,7.7,OctetString,M,P,,V
+Tunnel-Assignment-Id,82,7.8,OctetString,M,P,,V
+Tunnel-Preference,83,7.9,Unsigned32,M,P,,V
+Tunnel-Client-Auth-Id,90,7.10,UTF8String,M,P,,V
+Tunnel-Server-Auth-Id,91,7.11,UTF8String,M,P,,V
+Accounting-Input-Octets,363,8.1,Unsigned64,M,P,,V
+Accounting-Output-Octets,364,8.2,Unsigned64,M,P,,V
+Accounting-Input-Packets,365,8.3,Unsigned64,M,P,,V
+Accounting-Output-Packets,366,8.4,Unsigned64,M,P,,V
+Acct-Session-Time,46,8.5,Unsigned32,M,P,,V
+Acct-Authentic,45,8.6,Enumerated,M,P,,V
+Acounting-Auth-Method,406,8.7,Enumerated,M,P,,V
+Acct-Delay-Time,41,8.8,Unsigned32,M,P,,V
+Acct-Link-Count,51,8.9,Unsigned32,M,P,,V
+Acct-Tunnel-Connection,68,8.10,OctetString,M,P,,V
+Acct-Tunnel-Packets-Lost,86,8.11,Unsigned32,M,P,,V
+NAS-Identifier,32,9.3.1,UTF8String,M,P,,V
+NAS-IP-Address,4,9.3.2,OctetString,M,P,,V
+NAS-IPv6-Address,95,9.3.3,OctetString,M,P,,V
+State,24,9.3.4,OctetString,M,P,,V
+# Termination-Cause already in RFC 3588,295,9.3.5,Enumerated,M,P,,V
+#,,,,,,,
+Origin-AAA-Protocol,408,9.3.6,Enumerated,M,P,,V
+@standard,RFC 4006,,,,,,
+#=,,,,,,,
+# RFC 4006 - DCCA #,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+CC-Correlation-Id,411,8.1,OctetString,,"P,M",,V
+CC-Input-Octets,412,8.24,Unsigned64,M,P,,V
+CC-Money,413,8.22,Grouped,M,P,,V
+CC-Output-Octets,414,8.25,Unsigned64,M,P,,V
+CC-Request-Number,415,8.2,Unsigned32,M,P,,V
+CC-Request-Type,416,8.3,Enumerated,M,P,,V
+CC-Service-Specific-Units,417,8.26,Unsigned64,M,P,,V
+CC-Session-Failover,418,8.4,Enumerated,M,P,,V
+CC-Sub-Session-Id,419,8.5,Unsigned64,M,P,,V
+CC-Time,420,8.21,Unsigned32,M,P,,V
+CC-Total-Octets,421,8.23,Unsigned64,M,P,,V
+CC-Unit-Type,454,8.32,Enumerated,M,P,,V
+Check-Balance-Result,422,8.6,Enumerated,M,P,,V
+Cost-Information,423,8.7,Grouped,M,P,,V
+Cost-Unit,424,8.12,UTF8String,M,P,,V
+Credit-Control,426,8.13,Enumerated,M,P,,V
+Credit-Control-Failure-Handling,427,8.14,Enumerated,M,P,,V
+Currency-Code,425,8.11,Unsigned32,M,P,,V
+Direct-Debiting-Failure-Handling,428,8.15,Enumerated,M,P,,V
+Exponent,429,8.9,Integer32,M,P,,V
+Final-Unit-Action,449,8.35,Enumerated,M,P,,V
+Final-Unit-Indication,430,8.34,Grouped,M,P,,V
+Granted-Service-Unit,431,8.17,Grouped,M,P,,V
+G-S-U-Pool-Identifier,453,8.31,Unsigned32,M,P,,V
+G-S-U-Pool-Reference,457,8.30,Grouped,M,P,,V
+Multiple-Services-Credit-Control,456,8.16,Grouped,M,P,,V
+Multiple-Services-Indicator,455,8.40,Enumerated,M,P,,V
+Rating-Group,432,8.29,Unsigned32,M,P,,V
+Redirect-Address-Type,433,8.38,Enumerated,M,P,,V
+Redirect-Server,434,8.37,Grouped,M,P,,V
+Redirect-Server-Address,435,8.39,UTF8String,M,P,,V
+Requested-Action,436,8.41,Enumerated,M,P,,V
+Requested-Service-Unit,437,8.18,Grouped,M,P,,V
+Restriction-Filter-Rule,438,8.36,IPFilterRule,M,P,,V
+Service-Context-Id,461,8.42,UTF8String,M,P,,V
+Service-Identifier,439,8.28,Unsigned32,M,P,,V
+Service-Parameter-Info,440,8.43,Grouped,,"P,M",,V
+Service-Parameter-Type,441,8.44,Unsigned32,,"P,M",,V
+Service-Parameter-Value,442,8.45,OctetString,,"P,M",,V
+Subscription-Id,443,8.46,Grouped,M,P,,V
+Subscription-Id-Data,444,8.48,UTF8String,M,P,,V
+Subscription-Id-Type,450,8.47,Enumerated,M,P,,V
+Tariff-Change-Usage,452,8.27,Enumerated,M,P,,V
+Tariff-Time-Change,451,8.20,Time,M,P,,V
+Unit-Value,445,8.8,Grouped,M,P,,V
+Used-Service-Unit,446,8.19,Grouped,M,P,,V
+User-Equipment-Info,458,8.49,Grouped,,"P,M",,V
+User-Equipment-Info-Type,459,8.50,Enumerated,,"P,M",,V
+User-Equipment-Info-Value,460,8.51,OctetString,,"P,M",,V
+Value-Digits,447,8.10,Integer64,M,P,,V
+Validity-Time,448,8.33,Unsigned32,M,P,,V
diff --git a/contrib/tools/diameter-rfcs.org b/contrib/tools/diameter-rfcs.org deleted file mode 100644 index 5d92cae..0000000 --- a/contrib/tools/diameter-rfcs.org +++ /dev/null @@ -1,188 +0,0 @@ -| Attribute Name | Code | Section | Data | MUST | MAY | SHLD NOT | MUST NOT | Encr | -| # RFC 3588 - Diameter # | | | | | | | | | -| Acct-Interim-Interval | 85 | 9.8.2 | Unsigned32 | M | P | | V | Y | -| Accounting-Realtime-Required | 483 | 9.8.7 | Enumerated | M | P | | V | Y | -| Acct-Multi-Session-Id | 50 | 9.8.5 | UTF8String | M | P | | V | Y | -| Accounting-Record-Number | 485 | 9.8.3 | Unsigned32 | M | P | | V | Y | -| Accounting-Record-Type | 480 | 9.8.1 | Enumerated | M | P | | V | Y | -| Accounting-Session-Id | 44 | 9.8.4 | OctetString | M | P | | V | Y | -| Accounting-Sub-Session-Id | 287 | 9.8.6 | Unsigned64 | M | P | | V | Y | -| Acct-Application-Id | 259 | 6.9 | Unsigned32 | M | P | | V | N | -| Auth-Application-Id | 258 | 6.8 | Unsigned32 | M | P | | V | N | -| Auth-Request-Type | 274 | 8.7 | Enumerated | M | P | | V | N | -| Authorization-Lifetime | 291 | 8.9 | Unsigned32 | M | P | | V | N | -| Auth-Grace-Period | 276 | 8.10 | Unsigned32 | M | P | | V | N | -| Auth-Session-State | 277 | 8.11 | Enumerated | M | P | | V | N | -| Re-Auth-Request-Type | 285 | 8.12 | Enumerated | M | P | | V | N | -| Class | 25 | 8.20 | OctetString | M | P | | V | Y | -| Destination-Host | 293 | 6.5 | DiamIdent | M | P | | V | N | -| Destination-Realm | 283 | 6.6 | DiamIdent | M | P | | V | N | -| Disconnect-Cause | 273 | 5.4.3 | Enumerated | M | P | | V | N | -| E2E-Sequence-AVP | 300 | 6.15 | Grouped | M | P | | V | Y | -| Error-Message | 281 | 7.3 | UTF8String | | P | | V,M | N | -| Error-Reporting-Host | 294 | 7.4 | DiamIdent | | P | | V,M | N | -| Event-Timestamp | 55 | 8.21 | Time | M | P | | V | N | -| Experimental-Result | 297 | 7.6 | Grouped | M | P | | V | N | -| Experimental-Result-Code | 298 | 7.7 | Unsigned32 | M | P | | V | N | -| Failed-AVP | 279 | 7.5 | Grouped | M | P | | V | N | -| Firmware-Revision | 267 | 5.3.4 | Unsigned32 | | | | P,V,M | N | -| Host-IP-Address | 257 | 5.3.5 | Address | M | P | | V | N | -| Inband-Security-Id | 299 | 6.10 | Unsigned32 | M | P | | V | N | -| Multi-Round-Time-Out | 272 | 8.19 | Unsigned32 | M | P | | V | Y | -| Origin-Host | 264 | 6.3 | DiamIdent | M | P | | V | N | -| Origin-Realm | 296 | 6.4 | DiamIdent | M | P | | V | N | -| Origin-State-Id | 278 | 8.16 | Unsigned32 | M | P | | V | N | -| Product-Name | 269 | 5.3.7 | UTF8String | | | | P,V,M | N | -| Proxy-Host | 280 | 6.7.3 | DiamIdent | M | | | P,V | N | -| Proxy-Info | 284 | 6.7.2 | Grouped | M | | | P,V | N | -| Proxy-State | 33 | 6.7.4 | OctetString | M | | | P,V | N | -| Redirect-Host | 292 | 6.12 | DiamURI | M | P | | V | N | -| Redirect-Host-Usage | 261 | 6.13 | Enumerated | M | P | | V | N | -| Redirect-Max-Cache-Time | 262 | 6.14 | Unsigned32 | M | P | | V | N | -| Result-Code | 268 | 7.1 | Unsigned32 | M | P | | V | N | -| Route-Record | 282 | 6.7.1 | DiamIdent | M | | | P,V | N | -| Session-Id | 263 | 8.8 | UTF8String | M | P | | V | Y | -| Session-Timeout | 27 | 8.13 | Unsigned32 | M | P | | V | N | -| Session-Binding | 270 | 8.17 | Unsigned32 | M | P | | V | Y | -| Session-Server-Failover | 271 | 8.18 | Enumerated | M | P | | V | Y | -| Supported-Vendor-Id | 265 | 5.3.6 | Unsigned32 | M | P | | V | N | -| Termination-Cause | 295 | 8.15 | Enumerated | M | P | | V | N | -| User-Name | 1 | 8.14 | UTF8String | M | P | | V | Y | -| Vendor-Id | 266 | 5.3.3 | Unsigned32 | M | P | | V | N | -| Vendor-Specific-Application-Id | 260 | 6.11 | Grouped | M | P | | V | N | -| # RFC 4005 - NAS # | | | | | | | | | -| NAS-Port | 5 | 4.2 | Unsigned32 | M | P | | V | Y | -| NAS-Port-Id | 87 | 4.3 | UTF8String | M | P | | V | Y | -| NAS-Port-Type | 61 | 4.4 | Enumerated | M | P | | V | Y | -| Called-Station-Id | 30 | 4.5 | UTF8String | M | P | | V | Y | -| Calling-Station-Id | 31 | 4.6 | UTF8String | M | P | | V | Y | -| Connect-Info | 77 | 4.7 | UTF8String | M | P | | V | Y | -| Originating-Line-Info | 94 | 4.8 | OctetString | | M,P | | V | Y | -| Reply-Message | 18 | 4.9 | UTF8String | M | P | | V | Y | -| User-Password | 2 | 5.1 | OctetString | M | P | | V | Y | -| Password-Retry | 75 | 5.2 | Unsigned32 | M | P | | V | Y | -| Prompt | 76 | 5.3 | Enumerated | M | P | | V | Y | -| CHAP-Auth | 402 | 5.4 | Grouped | M | P | | V | Y | -| CHAP-Algorithm | 403 | 5.5 | Enumerated | M | P | | V | Y | -| CHAP-Ident | 404 | 5.6 | OctetString | M | P | | V | Y | -| CHAP-Response | 405 | 5.7 | OctetString | M | P | | V | Y | -| CHAP-Challenge | 60 | 5.8 | OctetString | M | P | | V | Y | -| ARAP-Password | 70 | 5.9 | OctetString | M | P | | V | Y | -| ARAP-Challenge-Response | 84 | 5.10 | OctetString | M | P | | V | Y | -| ARAP-Security | 73 | 5.11 | Unsigned32 | M | P | | V | Y | -| ARAP-Security-Data | 74 | 5.12 | OctetString | M | P | | V | Y | -| Service-Type | 6 | 6.1 | Enumerated | M | P | | V | Y | -| Callback-Number | 19 | 6.2 | UTF8String | M | P | | V | Y | -| Callback-Id | 20 | 6.3 | UTF8String | M | P | | V | Y | -| Idle-Timeout | 28 | 6.4 | Unsigned32 | M | P | | V | Y | -| Port-Limit | 62 | 6.5 | Unsigned32 | M | P | | V | Y | -| NAS-Filter-Rule | 400 | 6.6 | IPFltrRule | M | P | | V | Y | -| Filter-Id | 11 | 6.7 | UTF8String | M | P | | V | Y | -| Configuration-Token | 78 | 6.8 | OctetString | M | | | P,V | | -| QoS-Filter-Rule | 407 | 6.9 | QoSFltrRule | | | | | | -| Framed-Protocol | 7 | 6.10.1 | Enumerated | M | P | | V | Y | -| Framed-Routing | 10 | 6.10.2 | Enumerated | M | P | | V | Y | -| Framed-MTU | 12 | 6.10.3 | Unsigned32 | M | P | | V | Y | -| Framed-Compression | 13 | 6.10.4 | Enumerated | M | P | | V | Y | -| Framed-IP-Address | 8 | 6.11.1 | OctetString | M | P | | V | Y | -| Framed-IP-Netmask | 9 | 6.11.2 | OctetString | M | P | | V | Y | -| Framed-Route | 22 | 6.11.3 | UTF8String | M | P | | V | Y | -| Framed-Pool | 88 | 6.11.4 | OctetString | M | P | | V | Y | -| Framed-Interface-Id | 96 | 6.11.5 | Unsigned64 | M | P | | V | Y | -| Framed-IPv6-Prefix | 97 | 6.11.6 | OctetString | M | P | | V | Y | -| Framed-IPv6-Route | 99 | 6.11.7 | UTF8String | M | P | | V | Y | -| Framed-IPv6-Pool | 100 | 6.11.8 | OctetString | M | P | | V | Y | -| Framed-IPX-Network | 23 | 6.12.1 | UTF8String | M | P | | V | Y | -| Framed-Appletalk-Link | 37 | 6.13.1 | Unsigned32 | M | P | | V | Y | -| Framed-Appletalk-Network | 38 | 6.13.2 | Unsigned32 | M | P | | V | Y | -| Framed-Appletalk-Zone | 39 | 6.13.3 | OctetString | M | P | | V | Y | -| ARAP-Features | 71 | 6.14.1 | OctetString | M | P | | V | Y | -| ARAP-Zone-Access | 72 | 6.14.2 | Enumerated | M | P | | V | Y | -| Login-IP-Host | 14 | 6.15.1 | OctetString | M | P | | V | Y | -| Login-IPv6-Host | 98 | 6.15.2 | OctetString | M | P | | V | Y | -| Login-Service | 15 | 6.15.3 | Enumerated | M | P | | V | Y | -| Login-TCP-Port | 16 | 6.16.1 | Unsigned32 | M | P | | V | Y | -| Login-LAT-Service | 34 | 6.17.1 | OctetString | M | P | | V | Y | -| Login-LAT-Node | 35 | 6.17.2 | OctetString | M | P | | V | Y | -| Login-LAT-Group | 36 | 6.17.3 | OctetString | M | P | | V | Y | -| Login-LAT-Port | 63 | 6.17.4 | OctetString | M | P | | V | Y | -| Tunneling | 401 | 7.1 | Grouped | M | P | | V | N | -| Tunnel-Type | 64 | 7.2 | Enumerated | M | P | | V | Y | -| Tunnel-Medium-Type | 65 | 7.3 | Enumerated | M | P | | V | Y | -| Tunnel-Client-Endpoint | 66 | 7.4 | UTF8String | M | P | | V | Y | -| Tunnel-Server-Endpoint | 67 | 7.5 | UTF8String | M | P | | V | Y | -| Tunnel-Password | 69 | 7.6 | OctetString | M | P | | V | Y | -| Tunnel-Private-Group-Id | 81 | 7.7 | OctetString | M | P | | V | Y | -| Tunnel-Assignment-Id | 82 | 7.8 | OctetString | M | P | | V | Y | -| Tunnel-Preference | 83 | 7.9 | Unsigned32 | M | P | | V | Y | -| Tunnel-Client-Auth-Id | 90 | 7.10 | UTF8String | M | P | | V | Y | -| Tunnel-Server-Auth-Id | 91 | 7.11 | UTF8String | M | P | | V | Y | -| Accounting-Input-Octets | 363 | 8.1 | Unsigned64 | M | P | | V | Y | -| Accounting-Output-Octets | 364 | 8.2 | Unsigned64 | M | P | | V | Y | -| Accounting-Input-Packets | 365 | 8.3 | Unsigned64 | M | P | | V | Y | -| Accounting-Output-Packets | 366 | 8.4 | Unsigned64 | M | P | | V | Y | -| Acct-Session-Time | 46 | 8.5 | Unsigned32 | M | P | | V | Y | -| Acct-Authentic | 45 | 8.6 | Enumerated | M | P | | V | Y | -| Acounting-Auth-Method | 406 | 8.7 | Enumerated | M | P | | V | Y | -| Acct-Delay-Time | 41 | 8.8 | Unsigned32 | M | P | | V | Y | -| Acct-Link-Count | 51 | 8.9 | Unsigned32 | M | P | | V | Y | -| Acct-Tunnel-Connection | 68 | 8.10 | OctetString | M | P | | V | Y | -| Acct-Tunnel-Packets-Lost | 86 | 8.11 | Unsigned32 | M | P | | V | Y | -| NAS-Identifier | 32 | 9.3.1 | UTF8String | M | P | | V | Y | -| NAS-IP-Address | 4 | 9.3.2 | OctetString | M | P | | V | Y | -| NAS-IPv6-Address | 95 | 9.3.3 | OctetString | M | P | | V | Y | -| State | 24 | 9.3.4 | OctetString | M | P | | V | Y | -| Termination-Cause | 295 | 9.3.5 | Enumerated | M | P | | V | Y | -| Origin-AAA-Protocol | 408 | 9.3.6 | Enumerated | M | P | | V | Y | -| # RFC 4006 - DCCA # | | | | | | | | | -| CC-Correlation-Id | 411 | 8.1 | OctetString | | P,M | | V | Y | -| CC-Input-Octets | 412 | 8.24 | Unsigned64 | M | P | | V | Y | -| CC-Money | 413 | 8.22 | Grouped | M | P | | V | Y | -| CC-Output-Octets | 414 | 8.25 | Unsigned64 | M | P | | V | Y | -| CC-Request-Number | 415 | 8.2 | Unsigned32 | M | P | | V | Y | -| CC-Request-Type | 416 | 8.3 | Enumerated | M | P | | V | Y | -| CC-Service-Specific-Units | 417 | 8.26 | Unsigned64 | M | P | | V | Y | -| CC-Session-Failover | 418 | 8.4 | Enumerated | M | P | | V | Y | -| CC-Sub-Session-Id | 419 | 8.5 | Unsigned64 | M | P | | V | Y | -| CC-Time | 420 | 8.21 | Unsigned32 | M | P | | V | Y | -| CC-Total-Octets | 421 | 8.23 | Unsigned64 | M | P | | V | Y | -| CC-Unit-Type | 454 | 8.32 | Enumerated | M | P | | V | Y | -| Check-Balance-Result | 422 | 8.6 | Enumerated | M | P | | V | Y | -| Cost-Information | 423 | 8.7 | Grouped | M | P | | V | Y | -| Cost-Unit | 424 | 8.12 | UTF8String | M | P | | V | Y | -| Credit-Control | 426 | 8.13 | Enumerated | M | P | | V | Y | -| Credit-Control-Failure-Handling | 427 | 8.14 | Enumerated | M | P | | V | Y | -| Currency-Code | 425 | 8.11 | Unsigned32 | M | P | | V | Y | -| Direct-Debiting-Failure-Handling | 428 | 8.15 | Enumerated | M | P | | V | Y | -| Exponent | 429 | 8.9 | Integer32 | M | P | | V | Y | -| Final-Unit-Action | 449 | 8.35 | Enumerated | M | P | | V | Y | -| Final-Unit-Indication | 430 | 8.34 | Grouped | M | P | | V | Y | -| Granted-Service-Unit | 431 | 8.17 | Grouped | M | P | | V | Y | -| G-S-U-Pool-Identifier | 453 | 8.31 | Unsigned32 | M | P | | V | Y | -| G-S-U-Pool-Reference | 457 | 8.30 | Grouped | M | P | | V | Y | -| Multiple-Services-Credit-Control | 456 | 8.16 | Grouped | M | P | | V | Y | -| Multiple-Services-Indicator | 455 | 8.40 | Enumerated | M | P | | V | Y | -| Rating-Group | 432 | 8.29 | Unsigned32 | M | P | | V | Y | -| Redirect-Address-Type | 433 | 8.38 | Enumerated | M | P | | V | Y | -| Redirect-Server | 434 | 8.37 | Grouped | M | P | | V | Y | -| Redirect-Server-Address | 435 | 8.39 | UTF8String | M | P | | V | Y | -| Requested-Action | 436 | 8.41 | Enumerated | M | P | | V | Y | -| Requested-Service-Unit | 437 | 8.18 | Grouped | M | P | | V | Y | -| Restriction-Filter-Rule | 438 | 8.36 | IPFiltrRule | M | P | | V | Y | -| Service-Context-Id | 461 | 8.42 | UTF8String | M | P | | V | Y | -| Service-Identifier | 439 | 8.28 | Unsigned32 | M | P | | V | Y | -| Service-Parameter-Info | 440 | 8.43 | Grouped | | P,M | | V | Y | -| Service-Parameter-Type | 441 | 8.44 | Unsigned32 | | P,M | | V | Y | -| Service-Parameter-Value | 442 | 8.45 | OctetString | | P,M | | V | Y | -| Subscription-Id | 443 | 8.46 | Grouped | M | P | | V | Y | -| Subscription-Id-Data | 444 | 8.48 | UTF8String | M | P | | V | Y | -| Subscription-Id-Type | 450 | 8.47 | Enumerated | M | P | | V | Y | -| Tariff-Change-Usage | 452 | 8.27 | Enumerated | M | P | | V | Y | -| Tariff-Time-Change | 451 | 8.20 | Time | M | P | | V | Y | -| Unit-Value | 445 | 8.8 | Grouped | M | P | | V | Y | -| Used-Service-Unit | 446 | 8.19 | Grouped | M | P | | V | Y | -| User-Equipment-Info | 458 | 8.49 | Grouped | | P,M | | V | Y | -| User-Equipment-Info-Type | 459 | 8.50 | Enumerated | | P,M | | V | Y | -| User-Equipment-Info-Value | 460 | 8.51 | OctetString | | P,M | | V | Y | -| Value-Digits | 447 | 8.10 | Integer64 | M | P | | V | Y | -| Validity-Time | 448 | 8.33 | Unsigned32 | M | P | | V | Y | diff --git a/contrib/tools/grep_fd_dict_dump b/contrib/tools/grep_fd_dict_dump new file mode 100755 index 0000000..375fb5e --- /dev/null +++ b/contrib/tools/grep_fd_dict_dump @@ -0,0 +1,11 @@ +#!/bin/sh + +# Grep stdin for the output of fd_dict_dump() and reformat to remove +# pointer addresses. Use to post-process the output of dict_dump.fdx +# into a format that's diff-able between freeDiameter invocations. + +egrep '^ *{dict|VENDOR|APPLICATION|TYPE|ENUMVAL|AVP|COMMAND|RULE' \ + | sed \ + -e 's/{dict.*}(@0x[^ ]*): //' \ + -e 's/{dict(0x[^ ]*) : \(.*\)}/\1/' \ + -e 's/p:[^ ]* //' diff --git a/contrib/tools/org_to_csv b/contrib/tools/org_to_csv new file mode 100755 index 0000000..e87f6ad --- /dev/null +++ b/contrib/tools/org_to_csv @@ -0,0 +1,19 @@ +#!/usr/bin/env python + +""" +Convert |-separated 11-column .org files to CSV, +with first and last empty columns ignored. +""" + +import csv +import fileinput +import re +import sys + +csvout = csv.writer(sys.stdout) +for line in fileinput.input(): + row = re.split(r'\s*\|\s*', line) + row.extend([''] * (10 - len(row))) + csvout.writerow(row[1:10]) + +# vim: set et sw=4 sts=4 : diff --git a/contrib/tools/org_to_fd.pl b/contrib/tools/org_to_fd.pl index 9cc0631..a0825d6 100755 --- a/contrib/tools/org_to_fd.pl +++ b/contrib/tools/org_to_fd.pl @@ -1,12 +1,15 @@ #!/usr/bin/env perl use strict; +use File::Basename; use Getopt::Std; +my ($progname) = basename($0); + our ($opt_V, $opt_v); -# default to 3GPP -my ($vendor) = 10415; -my ($vendor_name) = "3GPP"; +# default to Base +my ($vendor) = 0; +my ($vendor_name) = ""; sub convert_must_to_flags($) { my ($allmust) = @_; @@ -21,7 +24,7 @@ sub base_type($) { my ($type) = @_; return "AVP_TYPE_GROUPED" if ($type =~ m/Grouped/); - return "AVP_TYPE_OCTETSTRING" if ($type =~ m/(Address|DiameterIdentity|DiameterURI|OctetString|IPFilterRule|Time|UTF8String)/); + return "AVP_TYPE_OCTETSTRING" if ($type =~ m/(Address|DiameterIdentity|DiameterURI|OctetString|IPFilterRule|Time|UTF8String|QoSFilterRule)/); return "AVP_TYPE_INTEGER32" if ($type =~ m/Enumerated|Integer32/); return "AVP_TYPE_INTEGER64" if ($type =~ m/Integer64/); return "AVP_TYPE_UNSIGNED32" if ($type =~ m/Unsigned32/); @@ -29,7 +32,19 @@ sub base_type($) { return "AVP_TYPE_FLOAT32" if ($type =~ m/Float32/); return "AVP_TYPE_FLOAT64" if ($type =~ m/Float64/); - return "UNKNOWN TYPE: $type"; + die("unknown type '$type'"); +} + + +my ($comment_width) = 64; + +sub print_header() { + printf "\t/*=%s=*/\n", '=' x $comment_width; +} + +sub print_comment($) { + my ($str) = @_; + printf "\t/* %-*s */\n", $comment_width, $str; } sub print_insert($$) { @@ -39,8 +54,8 @@ sub print_insert($$) { if ($type =~ m/(Grouped|OctetString|Integer32|Integer64|Unsigned32|Unsigned64|Float32|Float64)/) { $avp_type = "NULL"; } elsif ($type =~ m/Enumerated/) { - print "\t\tstruct dict_object *type;\n"; - print "\t\tstruct dict_type_data tdata = { AVP_TYPE_INTEGER32, \"" . ($vendor_name ? "$vendor_name/" : "") ."Enumerated($name)\", NULL, NULL, NULL };\n"; + print "\t\tstruct dict_object\t*type;\n"; + print "\t\tstruct dict_type_data\t tdata = { AVP_TYPE_INTEGER32, \"Enumerated(" . ($vendor_name ? "$vendor_name/" : "") ."$name)\", NULL, NULL, NULL };\n"; # XXX: add enumerated values print "\t\tCHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);\n"; $avp_type = "type"; @@ -52,8 +67,8 @@ sub print_insert($$) { } sub usage($) { - die("usage: org_to_fd.pl [-V vendor_name -v vendor_code] [file ...]\n"); - exit(@_); + print STDERR "usage: $progname [-V vendor_name] [-v vendor_code] [file ...]\n"; + exit(1); } getopts("V:v:") || usage(1); @@ -61,29 +76,45 @@ getopts("V:v:") || usage(1); if (defined($opt_v)) { $vendor = $opt_v; if (!defined($opt_V)) { - usage(1); + usage(1); } $vendor_name = $opt_V; } -print "\t/* The following is created automatically. Do not modify. */\n"; -print "\t/* Changes will be lost during the next update. Modify the source org file instead. */\n\n"; +print_header(); +print_comment("Start of generated data."); +print_comment(""); +print_comment("The following is created automatically with:"); +print_comment(" org_to_fd.pl -V '$vendor_name' -v $vendor"); +print_comment("Changes will be lost during the next update."); +print_comment("Do not modify; modify the source .org file instead."); +print_header(); +print "\n"; while (<>) { - my ($dummy, $name, $code, $section, $type, $must, $may, $shouldnot, $mustnot, $encr) = split /\|/; + my ($dummy, $name, $code, $section, $type, $must, $may, $shouldnot, $mustnot, $encr) = split /\s*\|\s*/; next if ($name =~ m/Attribute Name/); - if ($name =~ m/ # (.*)/) { - print "\t/* $1 */\n"; + if ($name =~ m/# (.*)/) { + print_comment($1); + next; + } + if ($name =~ m/#/) { + print("\n"); next; } - - $name =~ s/ *//g; - $code =~ s/ *//g; - $type =~ s/ *//g; + if ($name =~ m/\s/) { + die("name '$name' contains space"); + } - print "\t/* $name */\n\t{\n\t\tstruct dict_avp_data data = {\n"; + my ($desc) = $name; + $desc .= ", " . $type; + $desc .= ", code " . $code; + $desc .= ", section " . $section if $section ne ""; + print_comment($desc); + print "\t{\n"; + print "\t\tstruct dict_avp_data data = {\n"; print "\t\t\t$code,\t/* Code */\n"; print "\t\t\t$vendor,\t/* Vendor */\n"; print "\t\t\t\"$name\",\t/* Name */\n"; @@ -94,3 +125,7 @@ while (<>) { print_insert($type, $name); print "\t};\n\n"; } + +print_header(); +print_comment("End of generated data."); +print_header(); |
